CMS WordPress «из коробки» поддерживает микроразметку hAtom. Эта заметка для тех, кому она не нужна.

В большинстве тем внутри основного цикла WordPress используется функция post_class(). Эта функция добавляет css классы к контейнеру, в котором выводится запись.

Класс hentry — это отправная точка для микроразметки hAtom. Парсер находит этот класс, и анализирует классы внутри него на предмет структурированных данных.

Вот такие ошибки выдает консоль Google Webmasters:

  • Отсутствует: author;
  • Отсутствует: entry-title;
  • Отсутствует: updated.

Где-то не отображается автор, где-то дата. Отсюда и возникают ошибки микроразметки, так как отправная точка есть, а обязательные поля отсутствуют. Добавить все эти данные не составит большого труда, но сейчас не об этом.

Для того, чтобы избавиться от микроразметки hAtom, необходимо удалить класс hentry из контейнера записи.

Если в вашей теме этот класс прописан вручную — тут все понятно. Вы удаляете его из верстки. Но в подавляющем большинстве случаев вы столкнетесь к функцией post_class().

Откроем functions.php, добавить функцию в 4 строки и добавим ее к фильтру.

function hentry_class_remover( $classes ) {
  $classes = array_diff( $classes, array( 'hentry' ) );
  return $classes;
}
add_filter( 'post_class', 'hentry_class_remover' );

Мы удаляем из массива с классами ячейку, в которой записано значение hentry и возвращаем массив уже без него.

Все довольно просто, без вмешательства в ядро и с сохранением всего функционала. Это идеальное решение.

P. S.:

Будте внимательны! Может случиться так, что в CSS файле описаны стили для класса hentry. Тогда придется повесить слетевшее оформление на другой селектор.


1 комментарий

  • Вот спасибо! Это фишка WordPress, гугл выдает ошибки разметки а из за чего не знал. Пришлось в ручную прописывать автор, дату, заголовок. Теперь снесу это и сдалаю на schema.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

*

*