Как убрать класс "hentry", который вызывает ошибку микроразметки "hatom" в Google Вебмастере?

Привет!

Недавно один из моих клиентов пожаловался, что у него в панели Вебмастера Google в разделе "Вид в поиске" > "Структурированные данные" есть ошибки с форматом разметки "hatom".

Как исправить в панели вебмастера Google ошибку структурированных данных hentry / hatom

Дело в том, что требования Google к формату разметки и структурированных данных достаточно строги и не совпадают с использующимся на данный момент форматом в WordPress. Вы можете тоже проверить свой сайт через официальный инструмент гугла - Google’s Structured Data Testing Tool.

Класс микроразметки "hentry" предназначен для датированных (регулярных) материалов, например, для новостых лент или блог-постов, которые могут быть просканированы в правильном формате с помощью этого класса. Вордпресс же автоматически добавляет класс "hentry" с функцией post_class(), которая используется в шаблонах обычно примерно таким образом:

<?php the_ID(); ?> <!--<?php post_class(); ?>-->

Во многих темах для WordPress, даже в официальных / дефолтных темах типа Twenty Ten, функция post_class() используется во всех шаблонах, включая шаблон страниц (page.php). Но формат страниц в WordPress, в противоположность записям (то есть постам), обычно не включает в себя дату публикации и имени автора, потому что страницы обычно используются для статичного контента.

Но Google видит класс "hentry" на этих страницах, ожидает найти там же дату и имя автора, но не находит их, что и вызывает ошибку. А когда Google говорит об ошибках, внимательный вебмастер всегда обращает внимание. И конечно же, вы читаете эту заметку, что говорит о вашей внимательности и желании исправить ситуацию.

Решение ошибки с форматом разметки hentry в панели Вебмастера

Вам нужно добавить следующий код в functions.php вашей темы

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

Как вы думаете, должно ли данное исправление быть внесено в WordPress по умолчанию?

Спасибо!

[ Прочитайте комменты ниже или напишите свой... ]

Ищете хостинг для своего сайта? Могу порекомендовать свой (нажмите здесь)

3 комментария к “Как убрать класс "hentry", который вызывает ошибку микроразметки "hatom" в Google Вебмастере?”

  1. Сергей 10.01.2017 в 17:58 #

    Вставил код, но так и не ясно заработал он или нет. Богдан, если можно попросить тебя посмотреть мой сайт. Может ты подскажешь что делать? перепробовал уже кучу вариантов, но так и не разобрался.

  2. Светлана 18.01.2017 в 18:16 #

    Огромное спасибо! Вы Гений! Одним махом убрать 142 ошибки! Фантастика! Непонятно только почему это исправление еще не внесено в WordPress по умолчанию. Еще раз спасибо.

  3. владимир 19.02.2017 в 23:53 #

    спасибо, отлично все сработало в гугл. только вот в панели для вебмастеров яндекс не убралась почемуто эта микроразметка?