Структурированные данные не должны рассказывать больше страницы
Почему schema.org полезна только тогда, когда разметка отражает видимое и подтверждённое содержание страницы.
Материал отражает практическую позицию указанного эксперта. Как готовятся и проверяются публикации — в редакционной политике NovAsia.
Структурированные данные легко воспринимать как отдельный слой для поисковых систем. Отсюда появляется соблазн сделать их «богаче» самой страницы.
Я против такого подхода.
Если в разметке есть цена, рейтинг, автор или статус, которых пользователь не видит или которые не подтверждены содержанием, код может быть синтаксически корректным, а смысл — нет.
На странице One River Rama 3 статус, цена и число подтверждённых фактов видны человеку; структурированные данные не должны превращать осторожные формулировки в более сильные утверждения.
Разметка должна читать ту же реальность, что и интерфейс
Самый надёжный вариант — когда видимый блок и структурированные данные получают значение из одного источника. Тогда изменение цены или статуса не требует отдельной ручной правки скрытого слоя.
Опасность начинается, когда разметка живёт собственной жизнью. В шаблоне остаётся старое поле, пустое значение подменяется красивым значением по умолчанию или один тип страницы наследует свойства другого. Пользователь видит аккуратный осторожный текст, а в коде продолжается более уверенное утверждение.
Поэтому я отношусь к разметке как к ещё одному представлению тех же данных, а не как к отдельной рекламной витрине для робота.
Отсутствующее значение не нужно «улучшать»
В больших шаблонах легко захотеть заполнить все возможные свойства. Но если рейтинг не собирается, его не нужно придумывать. Если цена зависит от конкретного варианта и на странице показан диапазон, скрытый слой не должен сам выбирать одно число только ради заполненного поля.
То же относится к авторству, датам, наличию товара или статусу объекта. Неизвестное значение лучше оставить неизвестным, чем маскировать технический пробел под точный факт.
Отдельно я проверяю условные поля. Свойство должно появляться только тогда, когда у страницы действительно есть соответствующее содержание. Это особенно важно для общих генераторов, где одна ошибка в условии размножается сразу по большому набору URL.
Валидатор проверяет код, но не всегда смысл
Техническая проверка разметки нужна: она ловит неверную структуру, отсутствующие обязательные элементы и ошибки сериализации. Но зелёный результат ещё не отвечает на главный вопрос — совпадает ли разметка с тем, что может прочитать человек.
После изменений шаблона я поэтому сравниваю два слоя вместе. Что написано на странице? Что уходит в структурированные данные? Одинаково ли трактуются цена, статус, название, автор и дата? Не осталось ли старое скрытое значение после обновления видимого блока?
Лучший структурированный слой — не тот, где заполнено больше полей. Он точнее описывает реальную страницу и меняется вместе с ней.