Перейти к содержанию

Разбор разметки бизнеса и товаров

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

Продолжим работу с вымышленным «ВелоМастером». Исходным состоянием служит after.json урока 24. В каталоге по-прежнему пять SKU и четыре модели, стоимость цепи VM-C9 составляет 1290 рублей, остаток равен двенадцати. Эти учебные числа не относятся к ProfessorWeb. Никакие внешние валидаторы и поисковые кабинеты в этом уроке не запускались.

Начинаем с предмета страницы

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

Для Центра предметом будет отдельное место обслуживания на Учебной улице, 10. Для VM-C9 предметом является цепь на девять скоростей, а не весь ассортимент цепей. Для шлема VM-H1 предметом является модель с двумя размерами. Такая последовательность помогает заметить ошибку, когда шаблон вставляет Product на любую страницу магазина, включая каталог из десятков товаров.

Google разделяет товарные представления для страниц покупки и других товарных страниц; требования следует выбирать по реальному сценарию документа. Само присутствие JSON-LD не гарантирует специального оформления результата. Это описано в введении в товарную разметку. В нашем примере сценарий покупки ещё не реализован, поэтому мы не заявляем готовность к merchant listings.

Составляем таблицу соответствия

Для каждого поля нужны три вещи: значение, источник и видимое место. Цена без источника превращается в предположение. Источник без видимого места может означать, что страница скрывает важное условие. Видимый текст без владельца данных легко устаревает после очередной поставки. Запишем небольшой редакционный разбор.

Поле Учебное значение Что требуется сопоставить
name Цепь VM-C9 Название карточки и товарная модель
price 1290 RUB Видимая цена той же комплектации
sku VM-C9 Артикул учёта, а не идентификатор филиала
availability Кандидат, не подтверждён Остаток и возможность исполнения заказа
image Неизвестно Подтверждённое изображение конкретного товара
shippingDetails Неизвестно Реальные условия выбранного рынка

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

С ценой возникает другая опасность. На странице замены цепи работа стоит 1200 рублей, а деталь оплачивается отдельно. Нельзя перенести эту сумму в Offer товара VM-C9. Нельзя также объявить 2490 рублей универсальной ценой ремонта: это сумма конкретного учебного случая LAB-041 с определённой деталью. Услуга, товар и согласованный заказ имеют разные основания цены.

Описываем варианты без второго каталога

У шлема VM-H1 есть размеры M и L. Их SKU различаются, а базовый адрес карточки остаётся общим. Параметры size=M и size=L предназначены для предвыбора. В предыдущих уроках мы приняли модель единой страницы; обработчик выбора здесь по-прежнему отсутствует. Разметка не должна изображать работающий интерфейс, которого ещё нет.

Документация Google по вариантам различает подходы с одной и несколькими страницами. Согласуйте выбранную модель, адреса вариантов и реальные предложения прежде, чем переносить пример ProductGroup в шаблон. У нас размеры относятся к одной модели шлема; цепи на девять и десять скоростей остаются отдельными моделями, поскольку назначение различается.

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

{
  "group": "VM-H1",
  "page": "/shop/products/vm-h1/",
  "varies_by": "size",
  "variants": [
    {"sku": "VM-H1-M", "size": "M", "price_rub": 2990},
    {"sku": "VM-H1-L", "size": "L", "price_rub": 2990}
  ],
  "publication_ready": false
}

Отделяем место обслуживания от рекламного рейтинга

Для двух пунктов нужны разные адреса и разные условия работы. В Речном выполняется диагностика, а замена цепи передаётся в Центр. Общий шаблон, копирующий список всех услуг на оба адреса, создаст неправильное обещание независимо от того, насколько аккуратно написан JSON-LD. Сначала исправляют содержание, затем представление машинных данных.

В описании LocalBusiness Google рассматривает сведения о конкретном месте. Неизвестные телефон и координаты не следует заполнять правдоподобными значениями. Часы работы у нас учебные, местные; часовой пояс и свободные интервалы записи не подтверждены. Это не расписание доступных заказов.

Отдельно проверим отзывы. У нас нет подтверждённых клиентских отзывов, поэтому aggregateRating отсутствует. Самостоятельно составленный кейс мастерской не превращается в оценку покупателя. Правила Google для review snippet ограничивают самослужащие рейтинги LocalBusiness и Organization; подходящий синтаксис не отменяет этого ограничения.

Ещё один способ сверки — поменять направление чтения. Начните с поля в разметке и найдите на странице то же обещание. Затем начните с заметного условия страницы и проверьте, не противоречит ли ему машинное описание. Для VM-C10 видимое отсутствие товара должно сохраняться во всех представлениях. Для Речного название места не должно маскировать передачу работы. Так проверка охватывает и лишнее обещание, и потерянное ограничение, хотя никаких специальных результатов поиска пока не наблюдается.

Читаем ожидаемый результат

В материалах урока таблица evidence-map.csv связывает поля с видимыми частями документов. При самостоятельной сверке читатель должен обнаружить одинаковые цену и SKU в модели товара и карточке, разные роли двух пунктов и отсутствие выдуманных изображений. Если значение подтверждено только для одной комплектации, оно не распространяется на остальные автоматически.

Полезно начать чтение с самой заметной ошибки: убрать источник таблицы и попытаться объяснить цену незнакомому человеку. Если объяснение требует устного дополнения «деталь вообще-то отдельно», страница ещё не готова. Разметка должна описывать понятное предложение, а не компенсировать неполный текст невидимыми полями.

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

Оглавление курса · Учебные материалы