Где и как исправлять ошибки микроразметки hentry. Оптимизация даты страницы в Blogger

Для Андроид 11.05.2019
Для Андроид

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

Не могу сказать когда именно появились эти ошибки: отсутствует: author, отсутствует: entry-title, отсутствует: updated , которые можно увидеть на странице гугл вебмастер «Инструменты для вебмастеров». Но тем не менее когда я вошла на данную страницу я мягко говоря была удивлена этим показателям.


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

1. Вариант первый

  • Исправляем коды ошибок — Отсутствует: entry-title
  • Заходим в админ панель — внешний вид – редактирование – файл single.php, page.php, index.php ищем ниже указанный код.

    >

    Добавляем в этот код - entry-title, как указано ниже.

  • Для исправления ошибки - Отсутствует: updated
  • Я думаю вы уже поняли, что все коды ищем здесь же в файле single.php, page.php, index.php.

    < /span>

  • Для исправления ошибки - Отсутствует: author

Находим вот такую строку

Меняем эту строку вот на такую:


< span class="fn"> < /span
< /span>

2. Вариант второй

Исправить ошибки:

отсутствует: author, отсутствует: entry-title, отсутствует: updated

После эксперементирования я решила, что мне подходит второй вариант. Так как мне нужно, чтобы на блоге выводилось название записи определённым цветом в рамке.
Ещё к тому же вставить можно одним разом, исправления на все три ошибки. В данном варианте исправление ошибка author ничем не отличается от варианта первого.
Внесла изменения на все три файла вот это:

" title=" "




< span class="fn">

Что из этого получилось вы видите на страницах данного блога.
После всех моих манипуляций гугл показывает

Желаю и вам успехов в устранении таких ошибок!

P.S. До внесения изменений советую скопировать содержимое файлов single.php, page.php, index.php, может всякое случиться.

На днях обнаружила в панели вебмастера 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 своего сайта. Там уже будет видно, получилось или нет.

Дату публикации статьи желательно указывать в любой тематике. Но не в каждой, как верно заметил Михаил Шакин , следует выводить её в сниппет. Пользователь поисковой системы откажется от перехода на сайт, если увидит дату прошедшего года. Он подумает, что материал уже устарел, даже если ищет как дрессировать собаку.

Откуда Яндекс и Google узнают, что эта дата именно дата публикации:

  • по , например, http://сайт/2010/07 /bez-dat.html
  • если указаны микроформаты, в т.ч. Schema.org
  • если дата присутствует на многих страницах в одном и том же месте, скажем, в начале или конце статьи
  • если дата индексации веб-документа, близка к дате, указанной на странице

Убрать дату из сниппета поисковых систем

На сайт URL формируется с датой. Вместо даты публикации под заголовком используется дата обновления основного содержимого. Прописаны hCard и Schema.org , что в коде выглядит так:

itemscope="itemscope" itemtype="http://schema.org/BlogPosting" >

Если дата в URL совпадает с датой в статье, то она довольно часто отображена в сниппете Яндекса, иначе отсутствует.

Гугл более настойчиво вычленяет дату и добавляет её в сниппет, понимает dateModified.

Как убрать ошибку Warning: Missing required field "updated"

У тега с датой (class="updated") обязательно должен быть родитель, указывающий схему разметки (class="hentry"). Например,

Заголовок статьи

Опубликовано , Автор NMitra Ярлыки: ярлык 1, ярлык 2
Текст статьи
Вариант ниже неправильный!
Опубликовано , Автор NMitra Ярлыки: ярлык 1, ярлык 2

Заголовок статьи

Текст статьи

Оптимизация даты страницы в Blogger

Что нужно сделать:

На вкладке "Дизайн" - "Сообщения блога" - "Изменить" - "Параметры страницы" установить галочку напротив первой даты.

Перейти на вкладку "Шаблон" (). Мобильный вариант затронут не будет.

Шаг 1. Удалить выделенное жирным шрифтом из примерно такого фрагмента

Шаг 2. Добавить выделенное жирным шрифтом

Шаг 3. Изменить один из вариантов (для каждой группы шаблонов свой)

Date-header span {/* содержимое */ } .main-inner .widget h2.date-header {/* содержимое */ } h2.date-header {/* содержимое */ } .main-inner h2.date-header {/* содержимое */ } на time.updated { /* содержимое */ display: block; }

Дату публикации сменить на дату последнего изменения

Не показывать дату на определённой странице

Оптимизированный код (см. выше)

обернуть в :

Удалить дату из сниппета

Шаг 1. Заменить

на

Шаг 2. Заменить

H2.date-header на.date-header

Шаг 3. Добавить перед ]]>

:before {content: attr(data-zakryt);}



Рекомендуем почитать

Наверх