Исправляем ошибки author, entry-title и updated. Убрать дату из сниппета поисковых систем

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

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

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

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

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

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

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

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

Функция избавления от hAtom разметки в WordPress

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. Тогда придется повесить слетевшее оформление на другой селектор.

Как появились ошибки

Странно, сайту каких-то две недельки и уже первые ошибки. Откуда? Подумал я. Захожу сегодня в Google инструменты, выбираю структурированные данные, дальше hentry (разметка: microformats) и вижу целых 19 ошибок!

Не пугайтесь, если у вас их 300 или 500, а может и еще больше - оказалось решить проблему, связанную со структурированными данными не так уж и сложно.

Как исправить ошибки структурированных данных author, entry-title и updated

— копируем на компьютер файлы, в которых будем делать изменения (в данном случае, скорее всего бок в: single.php, search.php, index.php, archive.php). Так у меня было ;

— делаем еще одну копию этих файлов (их мы будем изменять, и заливать через Filezilla после внесения изменений).

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

Ошибка и решение проблемы entry-title. Нет сведений о заголовке статьи.

Теперь только начал понимать, что английский учить нужно было лучше. Здесь собственно все банально. Исправляется ошибка добавлением словосочетания entry-title.

Делается это следующим образом: ищем в редактируемом файле или файлах (у меня во всех четырех была конструкция, которая отвечает за вывод сведений о заголовке) часть кода: или похожую на нее (не по знакам вопроса, а по словосочетанию php the_title).

Внимание ваш код может отличаться, но есть большая вероятность, что он аналогичен или очень похож. После того когда нашли, нам понадобиться добавить entry-title. Собственно как было и стало у меня видно на картинке:

Не пугайтесь, если entry-title надо будет прописать в немножко отдаленном месте от , хотя меня это, честно говоря смутило (боялся что не получиться), но, метод тыка) помог. Дальше будет легче.

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

Решение проблемы updated - нет сведений о дате публикации статьи.

Здесь нам надо будет добавить к части кода php the_time или php the_date (у кого как) class=»updated» и заключить конструкцию в тег . Кто не знает - смотрим на картинку:

Избавиться от проблемы структурированных данных author. Ошибка - пропал автор 🙂 .

Конечно же, было бы не правильно не позаботиться об авторе, раз уже все сделали. Если вы были внимательны, то уже могли бы и без меня справиться и найти часть кода php the_author, чтобы проделать все как на картинке:

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

На днях обнаружила в панели вебмастера Google предупреждения о множественных ошибках. Оказывается, на каждой страничке отсутствовали сведения о дате публикации и не распознавался заголовок (Отсутствует: entry-title Отсутствует: updated, такие пометки увидела, пройдя путь Вид в поиске - Структурированные данные и нажав на красный значок с восклицательным знаком). Настраивалась несколько дней, не зная как исправить ошибки микроразметки hentry, пока не села за комп и не разобралась за один вечерок. Проблема моя заключалась в том, что все имеющиеся в поиске статьи с подробными советами совсем не подходили мне. Советовали исправлять файлы default.php, index.php, даже некоторые исправляли footer.php, admins.php, search.php...

Мне пришлось долго покопаться, прежде чем я нашла, где расположены функции, выводящие на страницу дату публикации, заголовок записи и автора поста. Оказалось, ответственный за это файл моей темы functions.php.

Где и как исправлять ошибки микроразметки hentry

Итак, начинаем исправлять ошибки микроразметки hentry. Прежде всего оговорю, как искать нужные места в редактируемых файлах. Лично я пользуюсь редактором в админке WordPress: открываю вкладку Внешний вид - редактор - редактируемый файл (выбираем в правом столбце, кликнув мышкой). Открыв файл, можно приступать к поиску.

Исправляем ошибку «Отсутствует: entry-title»

Для начала отыщите функцию, ответственную за вывод заголовка

Php the_title()

Чтобы это сделать, скопируйте ее, и одновременно нажмите клавиши Ctrl + F, в верхнем левом углу экрана увидите появившееся окошко:

Вставьте в него скопированную функцию, нажмите Enter, если этот текст встречается на странице, он будет подсвечен (будьте внимательны, не скопируйте пробел, другие лишние знаки, иначе в результате поиска ничего не найдется!). Вот как выглядит подсветка:

Как видите, отыскать нужный текст довольно просто. Перебирайте все файлы, пока не найдете эту хорошо запрятанную php the_title(). Скорее всего, в этом же файле обнаружите и все остальные нужные нам места. Но обо всем по порядку. Чтобы поисковик Google понимал вывод title, вокруг необходимо прописать

У меня вот что получилось:

Продублирую для тех, кто хочет скопировать результат:

Однако это еще не все! Чтобы исправить ошибку окончательно, необходимо добавить в таблицу стилей соответствующую функцию

Entry-title

описать все цвета, шрифты и прочее, чтобы все выводилось корректно. Изучите свой шаблон, как там прописывается вывод заголовков, по аналогии добавьте новый стиль. Проштудируйте информацию о стилях CSS. У всех шаблоны разные, поэтому придется пополнить свои знания и сделать маленькую дописочку в таблицу стилей.

Исправляем ошибку «Отсутствует: updated»

Пользуясь все тем же поиском, ищем функцию, отвечающую за вывод даты установленной на блоге темы. Это будет или

Php the_date()

или как у меня более сложная:

Get_the_date()

Смысл в том, чтобы заключить нужную нам функцию вывода даты вот в такие «рамки»:

функция

Покажу на скриншоте как было:

Теперь посмотрите исправленный вариант:

Думаю, более-менее понятно, уверена, немного посидев, разберетесь.

Подтверждение авторства, или исправление ошибки «Отсутствует: author»

К большой радости, этой ошибки у меня не было изначально. Кому интересно, авторство в моем шаблоне прописано следующим образом:

Важно! Для подтверждения авторства в Google необходимо иметь аккаунт Google+, в своем профиле О себе - Ссылки указать ссылку на домашнюю страницу своего блога. В настройках All in One SEO Pack указать ссылку своего профиля. Это так называемое двустороннее подтверждение, из публичного аккаунта и страниц сайта.

Чтобы проверить свои действия, после изменений в файлах зайдите в настройки плагина кеширования (если пользуетесь), нажмите кнопку "Clear cache", откройте адрес Гугловской проверки структурированных данных https://www.google.com/webmasters/tools/richsnippets и введите любой URL своего сайта. Там уже будет видно, получилось или нет.