Всем привет! Сегодня не будет кучи текста — просто пара строчек кода для удаления лишней микроразметки microformats.org и комментарии к ним.
Вот такое предупреждение вы можете увидеть в вебмастере Гугла в разделе Вид в поиске / Структурированные данные:

Содержание:
- Удаление лишней микроразметки
- Добавление необходимых полей
Как видите, можно пойти 2 путями — просто удалить элементы лишней микроразметки или добавить все требуемые Гуглом поля. Гугл вообще в последнее время что-то много требовать стал =)
Если кликнуть по ошибке, появится что-то в таком духе:
Это ошибки микроданных hAtom, которые Гугл подхватывает на большей части сайтов на ВордПресс (они выводятся автоматическими функциями).
Удаление лишних структурированных данных
По этому пути стоит пойти когда лишнего кода совсем не много. На rat-felt.ru стоит моя тема, так что лишние элементы там остались только среди генерируемых автоматически.
Можно проверить любую статью на сайте в валидаторе микроразметки Гугла — Testing Tool

Как видите, мне не имеет смысла внедрять всю остальную разметку — проще удалить имеющуюся. В данном случае в микроформат включаются рубрика и метка
А вот класс, который нам потребуется удалить:
Функция для файла functions.php (не забудьте про бэкап):
<?php /* * удаление микроформатов hAtom */ function remove_hentry( $classes ) { $classes = array_diff($classes, array('hentry')); return $classes; } add_filter( 'post_class', 'remove_hentry' );
Если теперь почистить кеш и снова проверить в валидаторе, подпункт hentry исчезнет.
Добавление необходимых полей
Второй вариант — вручную или при помощи функции добавить нужные классы в код. Темы ВодрПресс у всех разные, поэтому поиск необходимых строк вручную может занять значительное количество времени.
Функции автоматической замены найдены на просторах англоязычного интернета (официальный форум WordPress).
Прежде, чем лезть в код, сделайте бэкап изменяемых файлов
Для начала немного чистим тему:
<?php /* Удалить класс hentry отовсюду, кроме страниц записей */ function remove_hentry( $classes ) { if( !is_single() ) { $classes = array_diff($classes, array('hentry')); return $classes; } else { return $classes; } } add_filter( 'post_class', 'remove_hentry' );
Следующий код добавить в конец статьи невидимые строки с микроданными: именем автора, названием статьи и дату обновления статьи.
<?php /** * Исправление ошибок hAtom в Вебмастере Гугла */ function add_hatom_data($content) { $t = get_the_modified_time('F jS, Y'); $author = get_the_author(); $title = get_the_title(); if (is_singular()) { $content .= '<div class="hatom-extra" style="display:none; visibility:hidden;">Статья <span class="entry-title">'.$title.'</span> была изменена: <span class="updated"> '.$t.'</span> автором <span class="author vcard"><span class="fn">'.$author.'</span></span></div>'; } return $content; } add_filter('the_content', 'add_hatom_data');
Чистим кеш и проверяем в валидаторе и коде сайта:

Как вариант, если не хочется дополнительно дублировать заголовок статьи и автора, можно вместо 2 функции подредактировать файлы шаблона вручную
Для этого понадобятся файлы single.php или content-single.php
Находим вывод автора в теме и добавляем соответствующий атрибуты author vcard и fn:
<span class="item-author author vcard"> <span class="item-author-name fn" itemprop="name"> <?php the_author(); ?> </span> </span>
В теге H1 находится заголовок статьи, к нему добавляется entry-title:
<h1 class="entry-title"> <?php the_title(); ?> </h1>
И последнее — дата обновления статьи, она не выводится в большинстве тем, поэтому сразу сделаем ее невидимой, добавив атрибут updated:
<time class="updated" style="display:none" datetime="<?php the_time('c'); ?>"> <?php the_time('j.m.Y'); ?> </time>
Вот и все, через некоторое время проверьте Вебмастер, ошибки должны исчезнуть =)