Здравствуйте, друзья. Не так давно свойство position в микроразметке хлебных крошек стало обязательным для сущности ListItem. А это означает, что в валидаторе разметки Google и Яндекс появились ошибки для ранее размеченных элементов.
Свойство position задаёт порядок элементов в микроразметке списков. В том числе и позицию в хлебных крошках.
С чего начать исправление ошибки
Первым делом вам нужно выяснить, как на вашем сайте выводятся хлебные крошки. Реализация их может быть выполнена с помощью плагина, произвольного кода или предусмотрена шаблоном.
Самый худший вариант – плагин. Если разработчик не собирается добавлять в него микроразметку, то вам придётся вносить корректировки самостоятельно и отказаться от обновлений в дальнейшем.
В случае же самописного кода и функций шаблона дело обстоит гораздо лучше. Такие коды обычно не обновляются, их копируют с сайта на сайт и поэтому можно смело редактировать.
А для шаблона существует дочерняя тема, которая позволяет вносить правки в тему и не беспокоиться насчёт обновлений. Разумеется, если вы позаботились об этом ранее.
Я покажу, как добавить свойство position к микроразметке хлебных крошек на примере моей темы оформления Customizr Pro.
Как создавалась микроразметка шаблона, можете почитать по ссылке выше, я не буду показывать всё заново.
На тот момент всё соответствовало требованиям.
А недавно я получил письмо от Google о появлении ошибок «Строки навигации» на моём сайте.
Такими сообщениями пренебрегать нельзя.
Как решить проблему со свойством position в микроразметке
Проблема решается добавление метатега в уже существующую микроразметку. Или создаётся с учётом действующих требований.
Итак, в разметку хлебных крошек нужно добавить метатег:
<meta itemprop="position" content="1" />
где content=»1″ – это номер позиции в списке.
В моём случае в хлебных крошках два активных элемента, то есть 2 позиции.
За вывод хлебных крошек в шаблоне Customizr Pro отвечает файл class-content-breadcrumb.php. С ним мы и будем работать.
В вашем шаблоне это будет другой файл, ищите по ключевому слову breadcrumb.
Итак, открываем файл, переходим к 217 строке и добавляем первый метатег.
Внимание: обязательно сделай резервную копию файла перед редактированием, и аккуратно вносите все изменения, обращайте внимание на кавычки и прочие мелочи кода.
Далее, переходив к строке 987, и вставляем второй метатег:
<meta itemprop="position" content="2" />
Проверяем результат в валидаторе микроразметки Google и Яндекс и радуемся решению проблемы.
А теперь видеоурок, как и какими инструментами, я пользовался для решения этой проблемы.
Видео
Вот и всё, если будут вопросы, задавайте в комментариях. Всего хорошего!
С уважением, Максим Зайцев.
Максим, привет! Очень своевременная статья, исправил у себя на сайте. Мне пришлось побольше делать исправлений для разных типов страниц: главной, отдельных, записей, категорий и т. д.
А у меня Яндекс не ругался на отсутствие поля «position».
Спасибо!
Вася, привет. Да, Яндекс не ругается, а Гугл использует эту разметку для выдачи, поэтому и рассылает предупреждения.
Здравствуйте, Максим, спасибо!
Но у меня все-таки остались еще три ошибки.
Александр, добрый день. Это потому, что последний пункт не имеет ссылки (id) и его не нужно размечать. Найдите в своём файле эту строку:
array_push( $trail, '' . array_pop( $trail ) . '' );
и удалите её. У меня она под номером 164.Спасибо, Максим! У меня тоже 164 — помогло, ошибок нет.
Очень благодарен!
Вот и отлично. Рад, что помог.
Не люблю ковыряться в кодах, но ошибки на сайте всё же нужно исправлять. Сейчас пойду проверять правильность своей микроразметки.
Дело нужное, хоть и муторное.
Здравствуйте, Максим! Уффф… Только сейчас закончила правку микроразметки. Спасибо вам, что подсказали, а то бы и не знала. Что-то вы стали редко писать в блоге. Не бросайте его, вы для многих — и для меня — ориентир. Успехов вам и благополучия
Здравствуйте, Дарья. Я очень рад, что мои материалы помогли вам. Спасибо за добрые пожелания, действительно времени сейчас мало на блог, но бросать я не собираюсь. Всего вам хорошего!
Привет Максим, вопрос не по теме. Заметил у тебя в мобильной версии появляется выезжающий блок рекламы, это с помощью плагина реализовано?
Виктор, привет. Это автоформат Адсенс. Никаких других хитростей не применял.
Я сейчас на подобные ошибки не обращаю внимание, так как планирую смену шаблона. Но если появится такая проблема, то уже буду знать, что делать.
Сам давно хочу сменить шаблон, но микроразметка меня останавливает. Нет времени её делать заново.
Привет. Блог сдулся, больше не добавляешь статьи?
Привет. Нет не сдулся, времени на него нет. Жалко безумно, но пока не могу уделить время для написания новых статей.