NovAsia

Структурированные данные не должны рассказывать больше страницы

Почему schema.org полезна только тогда, когда разметка отражает видимое и подтверждённое содержание страницы.

Материал отражает практическую позицию указанного эксперта. Как готовятся и проверяются публикации — в редакционной политике NovAsia.

Структурированные данные легко воспринимать как отдельный слой для поисковых систем. Отсюда появляется соблазн сделать их «богаче» самой страницы.

Я против такого подхода.

Если в разметке есть цена, рейтинг, автор или статус, которых пользователь не видит или которые не подтверждены содержанием, код может быть синтаксически корректным, а смысл — нет.

На странице One River Rama 3 статус, цена и число подтверждённых фактов видны человеку; структурированные данные не должны превращать осторожные формулировки в более сильные утверждения.

Разметка должна читать ту же реальность, что и интерфейс

Самый надёжный вариант — когда видимый блок и структурированные данные получают значение из одного источника. Тогда изменение цены или статуса не требует отдельной ручной правки скрытого слоя.

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

Поэтому я отношусь к разметке как к ещё одному представлению тех же данных, а не как к отдельной рекламной витрине для робота.

Отсутствующее значение не нужно «улучшать»

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

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

Отдельно я проверяю условные поля. Свойство должно появляться только тогда, когда у страницы действительно есть соответствующее содержание. Это особенно важно для общих генераторов, где одна ошибка в условии размножается сразу по большому набору URL.

Валидатор проверяет код, но не всегда смысл

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

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

Лучший структурированный слой — не тот, где заполнено больше полей. Он точнее описывает реальную страницу и меняется вместе с ней.