Микроразметка давно вышла за пределы круга энтузиастов: её ставят на карточки товаров, рецепты, страницы контактов и блоки отзывов, чтобы поиск показал цену, звёздный рейтинг или время приготовления прямо в сниппете. У технологии есть коварная особенность, о которой вспоминают уже после внедрения: один и тот же код Яндекс и Google читают по собственным правилам. Страница проходит проверку в одном инструменте и проваливается в другом, а сниппет появляется в выдаче Яндекса, но так и не показывается у Google. В статье разобрано, какие типы Schema.org Яндекс понимает и выводит в расширенные сниппеты, чем его валидация отличается от проверок Google и почему Турбо-страницы жили в отдельном мире формата RSS, а не разметки.
Словарь Schema.org и форматы, в которых поисковики его читают
Schema.org представляет собой общий словарь типов и свойств, договорённость поисковых систем о том, как единообразно описывать товары, организации, события, отзывы и творческие работы. Словарь и формат записи здесь разные вещи: один и тот же тип допустимо записать разметкой Microdata внутри HTML, блоком JSON-LD или разметкой RDFa. Microdata живёт прямо в тегах страницы и опирается на атрибуты itemscope, itemtype и itemprop. JSON-LD выглядит как отдельный блок script с типом application/ld+json, внутрь которого сложено готовое описание сущности. RDFa напоминает Microdata, но задействует собственный набор атрибутов.
Яндекс исторически строился вокруг Microdata: его валидатор вырос из разбора HTML-атрибутов, и классические страницы на Microdata он читает уверенно. Поддержка JSON-LD у него появилась позже, поэтому при глубокой вложенности типов код надёжнее проверять именно в его инструменте. Google идёт от обратного: рекомендует JSON-LD как основной формат и советует новые проекты начинать со блока script, потому что он не переплетается с вёрсткой и проще в сопровождении. Microdata Google тоже читает, но описания свежих типов расширенных результатов ориентируются прежде всего на JSON-LD. Отсюда первое практическое правило: выбирая формат, стоит смотреть не на моду, а на структуру сайта и на то, какой поисковик приносит больше переходов.
Блок описания организации в JSON-LD устроен как обычный объект: поле контекста указывает поисковику на словарь Schema.org, поле типа называет сущность Organization, дальше идут свойства: наименование, телефон и вложенный почтовый адрес с городом. Блок живёт в теге script со специальным типом содержимого, не переплетается с вёрсткой страницы и правится отдельно от шаблонов.
Нюанс, который упускают чаще всего: валидность кода и видимость сниппета не связаны напрямую. Разметка может быть безупречна по синтаксису, но тип не входит в список сниппетов конкретного поиска, и тогда работа не даёт видимого эффекта. Обратное тоже верно: сниппет порой появляется на коде с мелкими замечаниями, потому что обязательные свойства на месте. Поэтому проверку строят в два хода: сначала синтаксис и обязательные поля, потом соответствие типа спискам поддержки каждого поисковика.
Типы разметки, которые Яндекс выводит в сниппеты поиска
Яндекс понимает общий словарь, но расширенные сниппеты показывает лишь по части типов. Для коммерческих страниц работают Product и Offer: в сниппет попадают цена, валюта и наличие товара. Организации размечаются типами Organization и LocalBusiness, что помогает показать в выдаче адрес, телефон и режим работы. Кулинарные сайты используют Recipe с временем приготовления и калорийностью, карточки отзывов получают звёздный рейтинг через Review и AggregateRating. Вопросно-ответные разделы и страницы FAQ дают сниппет с раскрытыми вопросами, BreadcrumbList заменяет в выдаче сырую ссылку цепочкой разделов, VideoObject добавляет к ролику превью и длительность, а типы статей несут автора и дату публикации.
Перечень не закреплён навсегда: поиск периодически обновляет набор поддерживаемых типов, поэтому надёжнее сверяться с текущими возможностями валидатора и с фактическим видом сниппетов в своей тематике. Есть и ограничение по смыслу: тип обязан соответствовать реальному содержимому страницы. Рейтинг там, где нет отзывов, или рецепт на тексте без ингредиентов в лучшем случае игнорируются, в худшем случае попадают под фильтр за недостоверные сведения. Разметка работает как подпись под документом: она подтверждает то, что и так видно на странице, а не рисует то, чего нет.
Для владельца сайта смысл каждой группы прост: сниппет с ценой и наличием снимает лишний вопрос, адрес и телефон отвечают на запрос "где находится", рейтинг сокращает путь к доверию, а цепочка разделов ведёт сразу в нужную категорию. Организациям стоит заполнять максимум доступных полей: наименование, логотип, телефон, режим работы, адрес. Чем полнее описание, тем меньше остаётся места для догадок алгоритма.
Проверка микроразметки в Яндекс Вебмастере и чтение отчёта об ошибках
В Яндекс Вебмастере для разметки предусмотрен отдельный инструмент проверки. Он принимает либо адрес страницы, либо фрагмент кода и строит по нему дерево найденных сущностей: тип, вложенные объекты, заполненные свойства. Красным помечаются ошибки, из-за которых конструкция не читается: отсутствует обязательное свойство, тип написан с опечаткой, нарушена вложенность, значение не проходит по формату, например цена записана словом "от" вместо числа или дата набрана в произвольном виде. Жёлтым идут предупреждения: не хватает рекомендуемых свойств, сниппет возможен, но получится беднее.
Два приёма экономят часы. Первый: проверять не только живую страницу, но и фрагмент из шаблона до публикации, чтобы ловить ошибки до выхода кода на рабочий сайт. Второй: после исправлений не ждать самостоятельного обхода, а отправить страницы на переобход через Вебмастер, это ускоряет появление обновлённого сниппета. Отдельная ловушка связана с подгрузкой контента скриптами: если блок отзывов собирается на лету, робот может не увидеть разметку в исходном HTML. На такой случай JSON-LD удобнее Microdata, ведь его допустимо держать одним блоком в конце страницы. И главное: валидатор подтверждает, что код читаем, но не обещает сниппет. Финальное решение принимает алгоритм, он оценивает и качество страницы, и достоверность сведений.
Подход Google к рекомендуемому формату разметки и правила расширенных результатов
Google развивает тот же словарь, но расставляет свои акценты. Рекомендованный формат у него один: JSON-LD. Инструмент проверки расширенных результатов и отчёты Search Console отвечают не на вопрос, корректна ли схема сама по себе, а на вопрос, подходит ли страница под конкретный тип сниппета и заполнены ли обязательные свойства. Если тип не входит в список расширенных результатов Google, проверка просто сообщит, что подходящих типов не найдено, хотя код безупречен. Для вебмастера это привычная причина недоразумений: Яндекс сниппет показывает, а Google молчит, и страница вовсе не сломана.
Правила содержания у Google жёсткие. Разметка обязана описывать видимый пользователю контент, скрытые блоки размечать нельзя. Организациям запрещено размечать отзывы о самих себе: самооценка в звёздах не допускается, в сниппет попадают только отзывы со стороны. За спам в разметке, вроде выдуманных рейтингов и маскировки текста, поиск применяет ручные меры вплоть до отключения сниппетов на всём сайте. Набор типов у Google шире и меняется быстрее: рядом с классикой вроде товаров, рецептов и организаций существуют типы для вакансий, курсов и мероприятий, которых в сниппетах Яндекса нет.
Search Console удобен для контроля в потоке: отчёты по каждому типу сниппетов показывают, сколько страниц распознано, сколько с ошибками и какие именно свойства вызывают вопросы. Ошибка видна на уровне отдельной страницы, к ней приложен перечень проблемных полей, и по нему удобно чинить общий шаблон, а не каждую страницу по отдельности. В Вебмастере логика другая: там проверяют конкретный адрес или фрагмент кода, поэтому массовую диагностику по всему сайту он заменяет хуже.
Несовпадение наборов типов и разная логика проверки у двух систем
Различия удобно сводить к трём осям. Первая: форматы. Яндекс вырос на Microdata и лишь потом подтянул JSON-LD, Google с самого начала продвигает JSON-LD. Вторая: типы. Пересечение поддерживаемых сниппетов лишь частичное, классические коммерческие и контентные типы читают оба поисковика, а специализированные виды достаются только одному из них. Третья: логика отчётов. Валидатор Яндекса проверяет корректность схемы как таковой, инструменты Google оценивают пригодность страницы под конкретный сниппет и следят за соблюдением правил содержания.
Из этого следует стратегия пересечения: сначала размечать типы, поддержанные обеими системами, то есть товары с ценами, организации, рецепты, отзывы, FAQ и хлебные крошки. Такой фундамент работает везде и не требует лишней переделки. Специфику под один поисковик добавляют поверх, если аудитория того заслуживает. Стоит запастись терпением: сниппеты появляются после переобхода страниц, циклы индексации у систем свои, и оценивать результат по горячим следам нет смысла. Классическая картина: через неделю в Яндексе звёзды уже на месте, в Google отчёт чистый, а сниппета всё ещё нет, и это рабочий процесс, а не провал.
На практике раскладка выглядит так. Интернет-магазину эффект дают прежде всего Product, Offer и AggregateRating, контентному проекту хватает статей, FAQ и хлебных крошек, локальному бизнесу нужен LocalBusiness с адресом и телефоном. Дальше смотрят по остаточному принципу: если раздел рецептов приносит переходы из Яндекса, Recipe размечают первым, даже когда Google его не покажет.
Ускоренные страницы Яндекса собирались из RSS, а не из микроразметки
Турбо-страницы были отдельной технологией Яндекса: облегчённые копии контента хранились в кеше поиска и открывались почти мгновенно, с особой пометкой в мобильной выдаче. Для их создания сайт не размечал Schema.org. Контент передавался отдельным RSS-каналом со специальными элементами: заголовками, абзацами, изображениями, кнопками с действиями и рекламными блоками. Внутри элементов item передавался блок turbo:content с готовым содержимым страницы, и поиск сам собирал из ленты облегчённую версию. Подключение шло через Вебмастер: туда передавали адрес ленты, проверяли собранные страницы и управляли рекламой и кнопками. Позднее поиск свернул эту технологию, но урок остался.
Микроразметка в этой схеме не участвовала, а путаница встречалась часто: владельцы считали, что разметка "включит" Турбо-страницы, хотя путь передачи был совсем другим. Сниппет в поиске строился по обычной странице сайта, а клик из выдачи мог привести на турбо-копию. Отсюда практический вывод: у Яндекса встречались собственные каналы передачи контента, независимые от Schema.org, и их нельзя путать с разметкой для сниппетов. Общий принцип прост: разметка описывает страницу для поиска, RSS описывал страницу для быстрой копии, и задачи эти не пересекались.
Порядок настройки разметки под оба поисковика без конфликтов
Чтобы разметка прижилась и в Яндексе, и в Google, работу удобно вести по фиксированной последовательности:
- отобрать страницы с полноценным содержимым: карточки товаров, рецепты, страницы контактов, разделы отзывов и вопросов с ответами;
- выбрать для каждой страницы тип по смыслу и сверить его со списками поддержки обеих систем, чтобы не тратить силы на тип, который один из поисковиков не покажет;
- записать разметку в JSON-LD, если приоритет у Google, или в Microdata, если основная аудитория приходит из Яндекса;
- прогнать каждую страницу через валидатор Вебмастера и инструмент Google, исправив сначала ошибки, затем предупреждения;
- отправить обновлённые страницы на переобход и дождаться полного цикла индексации, задержка в несколько дней здесь нормальна;
- поставить разметку на регулярный контроль: при изменении цен, адресов, ассортимента и отзывов сведения в коде обязаны меняться синхронно.
Последний пункт чаще всего и ломает картину: цена в сниппете перестаёт совпадать с ценой на странице, рейтинг растёт без отзывов, адрес меняется, а код молчит. Поисковики замечают расхождения быстро и перестают доверять разметке. Регулярный просмотр отчётов в обоих кабинетах, примерно раз в месяц для среднего проекта, удерживает сниппеты живыми и точными. Хорошая разметка та, что незаметна: пользователь просто видит в выдаче честную цену, звёзды и удобную цепочку разделов и переходит по ссылке без лишних сомнений.