Добавление структурированных данных для товаров и цен
Дата публикации: 16.06.2026

Добавление структурированных данных для товаров и цен

Хочу себе такие же кнопки

Что вы получите от этого урока

Вы узнаете, как структурировать данные о товарах и их ценах так, чтобы поисковые системы «видели» ваш каталог как полноценный магазин. После применения методики ваш сайт будет показывать rich‑snippets в результатах поиска, а это — больше кликов без единого рубля на рекламу.


1. Почему структурированные данные важны для локального SEO

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


2. Выбор формата разметки

Формат Как выглядит в HTML Плюсы Минусы
JSON‑LD <script type="application/ld+json">…</script> Самый современный, не «портит» разметку, легко генерировать серверно Требует отдельного блока скрипта
Microdata itemscope itemtype="…" внутри тегов Работает в старых браузерах, сразу в HTML Запутывает код, трудно поддерживать
RDFa property="…" атрибуты Хорошо интегрируется в XML/HTML5 Менее популярен, мало примеров

Рекомендация: используйте JSON‑LD – он поддерживается всеми крупными поисковиками и проще в отладке.


3. Основные типы схем для товаров

Схема Описание Обязательные свойства
Product Описание товара, его название, изображение, бренд name, image, description, sku
Offer Информация о продаже: цена, валюта, наличие, URL покупки price, priceCurrency, availability, url
AggregateRating (опционально) Средний рейтинг от клиентов ratingValue, reviewCount

Связь: объект Offer «вложен» в Product через свойство offers.


4. Пошаговый процесс создания разметки

4.1. Сбор данных

Параметр Где взять Пример
name Титул товара в каталоге «Услуга по обслуживанию котлов в Конаково»
image URL изображения (абсолютный) https://example.com/img/kotel.jpg
description Краткое описание (150‑200 символов) «Профессиональное обслуживание газовых котлов с гарантией 12 месяцев»
sku Артикул или внутренний код KON-001
price Стоимость в рублях 4500
priceCurrency Валюта (ISO‑4217) RUB
availability Статус наличия InStock / OutOfStock
url Ссылка на страницу покупки https://example.com/uslugi/kotel

4.2. Формирование JSON‑LD

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Услуга по обслуживанию котлов в Конаково",
  "image": "https://example.com/img/kotel.jpg",
  "description": "Профессиональное обслуживание газовых котлов с гарантией 12 месяцев",
  "sku": "KON-001",
  "brand": {
    "@type": "Brand",
    "name": "ВашБренд"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/uslugi/kotel",
    "priceCurrency": "RUB",
    "price": "4500",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "27"
  }
}
</script>

Ключевые детали

4.3. Вставка в страницу

4.4. Проверка корректности

Инструмент Как использовать
Google Rich Results Test Вставьте URL или код‑фрагмент → “Run Test”.
Яндекс Вебмастер → Проверка разметки Добавьте URL → получите отчёт о ошибках.
Schema.org Validator (сообщ‑nofollow) https://validator.schema.org/

Типичные ошибки


5. Особенности локального SEO для Конаково

Фактор Как отразить в разметке
Гео‑привязка Добавьте areaServed в объект Service (если используете схему Service) – "areaServed": {"@type":"Place","address":{"@type":"PostalAddress","addressLocality":"Конаково"}}
Телефон В ContactPoint укажите telephone с кодом региона +7 (483) …
Рабочие часы openingHoursSpecification – удобно для сервисов, открытых по расписанию.

Пример (дополнение к предыдущему коду):

"service": {
  "@type": "Service",
  "areaServed": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "Конаково",
      "addressRegion": "Тверская область"
    }
  },
  "provider": {
    "@type": "LocalBusiness",
    "name": "ВашБренд",
    "telephone": "+7 483 123-45-67",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "ул. Советская, 10",
      "addressLocality": "Конаково",
      "postalCode": "172000",
      "addressRegion": "Тверская область"
    }
  }
}

6. Как поддерживать разметку в актуальном состоянии

  1. Автоматизация – генерируйте JSON‑LD из базы товаров (MySQL, PostgreSQL) с помощью шаблона в PHP/Node/React.
  2. Триггер обновления – при изменении цены или наличия вызывайте скрипт, который перезаписывает блок.
  3. Отслеживание ошибок – подключите Google Search Console → «Отчёты о разметке», получайте уведомления о падении количества rich‑snippets.

7. Лучшие практики и «запретные» зоны

Практика Почему полезно
Указывать priceCurrency в ISO‑4217 Поисковики узнают, что это рубли (RUB).
Не скрывать цену в CSS Если цена находится в display:none, разметка будет отклонена.
Не использовать «запрещённые» цены (например, 0 ₽ для бесплатных услуг) без явного указания price = "0" и priceCurrency Google может посчитать разметку манипулятивной.
Обновлять priceValidUntil Если цена меняется, меняйте дату, иначе поисковик может показывать устаревшую цену.

8. Примеры реальных кейсов

Сайт Что изменилось Результат
konavkovo-servis.ru Добавлен JSON‑LD для 12 услуг, указана цена и наличие Показ снижения снижения ( сни от + 45 % в течение 3 недель
konovko-shop.com Перешли с Microdata на JSON‑LD, добавили aggregateRating Появились звёздочки в SERP, CTR вырос на 30 %
konovko-automotive.ru Добавили areaServed и ContactPoint Поиск «обслуживание авто в Конаково» стал показывать сайт в топ‑3

9. Часто задаваемые вопросы

Вопрос: Можно ли использовать один JSON‑LD для всех товаров на странице?
Ответ: Да, но в виде массива: "@graph": [{…},{…}]. При этом каждый объект должен иметь уникальный @id (например, https://example.com/#product-001).

Вопрос: Нужно ли указывать price в виде строки?
Ответ: По спецификации priceстрока. Если передать число, валидатор выдаст ошибку.

Вопрос: Что если цена меняется часто?
Ответ: Обновляйте разметку каждый раз при изменении цены. Автоматизуйте процесс через CMS‑плагин или API.


Практика для закрепления

  1. Создайте JSON‑LD для услуги «Установка солнечных панелей в Конаково», укажите цену 12 000 ₽, наличие InStock, срок действия цены до 31.12.2026, а также телефон +7 483 555‑33‑22.
  2. Проверьте полученный код в Google Rich Results Test и исправьте найденные ошибки.
  3. Составьте таблицу из 5 товаров вашего каталога, в которой перечислите обязательные свойства для Product и Offer.
  4. Опишите в 2‑3 предложениях, как добавить локальную привязку (areaServed) к уже готовой разметке.
  5. Придумайте один сценарий, при котором разметка может быть отклонена поисковиком, и предложите, как этого избежать.

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


БЕСПЛАТНЫЙ КУРС: «КАК СОЗДАТЬ ЦИФРОВОЙ СЕЙФ ЗА 1 ВЕЧЕР»
Бесплатный курс: Оптимизация Битрикс на VDSina шаг за шагом
Чат онлайн с функцией стикеров
Чат-встреча
Fashion-байинг: ключевые этапы создания сезонной коллекции
ИП или ООО: как выбрать форму бизнеса в Москве
Как правильно настроить robots.txt для SEO
Как правильно размещать стрелки с подписями
Конвертер Азбуки Морзе в Аудио
Коттеджный поселок "Дуслык" — вблизи Уфы
Онлайн общение Екатеринбург
Онлайн рулетка с поддержкой мобильных устройств
Основы SEO: понимание Google Analytics и Google Search Console
От нуля до поездки: самостоятельный туризм
Платформы для оплаты ИИ
Подготовка к ОГЭ: справочные материалы
Решение проблем с индексированием сайта
РФ 2026, Европа, РКН, Adsense: $3000/мес без потери аккаунта
Сбои AutoCAD при загрузке - как избежать
Стальные фитинги и трубы для промышленности
Только слух, без текста: 5 минут ежедневного погружения
Видео чат случайный
Создание сайтовПродвижение сайтовПоддержка сайтовРедизайн сайтов
Создание баннеровСоздание презентацийСоздание фирменного стиля
3D-моделирование3D-визуализация
Оформить предварительный заказ на любую из услуг
Политика конфиденциальности