Микроразметка отвалилась — как заметить раньше, чем упадёт трафик
Сайт работает, ошибок в логах нет, позиции на месте — а звёзды, цены и хлебные крошки из выдачи пропали, и вместе с ними часть кликов.
У поломок бывает симптом. У этой его нет: сайт работает, ошибок в логах нет, страницы открываются, заказы проходят. Просто из выдачи постепенно исчезают звёзды рейтинга, цены, хлебные крошки и часы работы, а вместе с ними — часть кликов при тех же самых позициях.
Разберём, как это происходит, почему это не видно и как заметить раньше, чем упадёт трафик.
Что именно ломается
Микроразметка — это данные о странице, написанные для машины: что здесь
товар, вот его цена, вот рейтинг, вот организация, вот путь в каталоге.
В подавляющем большинстве случаев это блок JSON-LD в теге script.
Ключевое свойство: для сайта это просто текст. Браузер его не исполняет, интерпретатор не разбирает, ошибка в нём не мешает ничему. Сломаться он может четырьмя способами.
Синтаксис. Лишняя запятая, незакрытая кавычка, кавычка-ёлочка из редактора вместо прямой. Обычно приезжает из шаблона, куда значение подставляется без экранирования: в названии товара оказались кавычки — и весь блок перестал разбираться.
Пропавшие обязательные поля. Тип объявлен, а поля нет: Product без
цены, Organization без имени, Offer без валюты. Блок формально валиден,
но поисковая система его игнорирует — а в валидаторе он выглядит почти
нормально, с предупреждением, а не ошибкой.
Разметка перестала совпадать с видимым текстом. В разметке цена 4900, на странице 5400, потому что цену на странице подставляет скрипт, а в разметку она попадает из кеша. Это уже не поломка, а нарушение правил: за расхождение заявленного и показанного снимают расширенные сниппеты, причём не с одной страницы, а со всего сайта.
Разметка исчезла целиком. Обновили тему, поменяли плагин, переписали шаблон карточки — блок просто не выводится. Самый частый случай из всех и самый незаметный: валидатор на такой странице не ругается, ему нечего разбирать.
Почему это не видно
Три причины, и все три системные.
Нет ошибки. Сломанная разметка не создаёт ни исключения, ни записи в логе, ни пятисотого кода. Мониторинг доступности здесь бесполезен по устройству: сервер отвечает 200, потому что он действительно отвечает.
Задержка между причиной и следствием. Между «шаблон обновили» и «сниппет пропал из выдачи» проходят недели: поисковая система должна переобойти страницы. Между «сниппет пропал» и «мы заметили падение кликов» — ещё месяц-полтора. К моменту, когда падение становится заметным, релиз, который его вызвал, уже никто не помнит.
Падают клики, а не позиции. Позиции остаются прежними, поэтому в отчётах по позициям всё выглядит хорошо. Смотреть надо на CTR по страницам — а его смотрят реже.
Как заметить вовремя
Валидаторы — для «правильно ли сейчас»
У Яндекса и Google есть собственные инструменты проверки разметки, и они точнее любых сторонних: показывают ровно то, что увидит их робот. Их ограничение в другом — они отвечают на разовый вопрос по одной странице по вашему запросу.
Это подходит, когда вы разметку только внедрили или чините. Это не подходит для того, чтобы узнать о поломке, — потому что для этого кто-то должен вспомнить и проверить.
Проверка после каждого релиза — обязательна
Микроразметка ломается почти исключительно при изменении шаблонов.
Поэтому проверка разметки на трёх типовых страницах — главной, карточке
товара или услуги, странице списка — должна стоять в чек-листе выкатки,
рядом с проверкой robots.txt. Это две минуты и половина всех случаев.
Регулярная проверка — для всего остального
Вторая половина случаев приходит не из ваших релизов: обновился плагин, подрядчик клиента поправил шаблон, сменился источник данных о ценах. Единственный способ узнать о таком — проверять регулярно и сравнивать с прошлым результатом.
Проверять имеет смысл три вещи: разбирается ли JSON-LD вообще, какие типы объявлены (и не пропал ли один из них с прошлой недели) и заполнены ли обязательные поля.
Что делать, когда нашли
Почините и проверьте на нескольких страницах. Ошибка почти всегда в шаблоне, а не на конкретной странице: если сломалась одна карточка товара, сломались все.
Не ждите робота — попросите переобход. И Яндекс, и Google позволяют отправить адреса на переобход через панель вебмастера. Иначе возвращение сниппета займёт те же недели, что и его исчезновение.
Проверьте, что разметка совпадает с тем, что видит человек. Это единственная ошибка из списка, за которую наказывают, а не просто игнорируют.
Запишите, из-за чего сломалось. Если причина — подстановка значения в шаблон без экранирования, она сломается снова, на другом товаре с кавычкой в названии.
Коротко
Микроразметка — редкий случай, когда поломка не мешает работе сайта вообще, а стоит при этом реальных денег. Ловится она не наблюдением за сервером, а регулярной проверкой самой разметки и обязательным пунктом в чек-листе выкатки.