Структурированные данные Schema.org — это основа для получения расширенных результатов (Rich Results) в поисковых системах. Неправильная разметка может привести к тому, что Google проигнорирует ваши усилия, или, что хуже, к ручным санкциям.
Это руководство поможет вам понять самые распространенные ошибки валидации и предложит конкретные шаги для их устранения.
Основные инструменты для диагностики
Прежде чем вносить правки, важно определить источник проблемы. Используйте эти инструменты:
- Тест расширенных результатов Google (Rich Results Test): Главный инструмент для проверки, может ли страница отображаться с Rich Results. Выявляет критические Ошибки (Errors), которые блокируют функциональность.
- Валидатор разметки Schema (Schema Markup Validator): Полезен для детального анализа всей разметки Schema.org на странице, независимо от поддержки Google.
Категория 1: Отсутствие обязательных свойств (Missing Required Property)
Это наиболее частая причина сбоя. Каждому типу разметки Schema.org требуется минимальный набор полей для корректной работы.
Пример ошибки:
Ошибка:
is missing required property 'name'(Отсутствует обязательное свойство ‘name’). Схема:Product
Как исправить:
- Изучите требования: Всегда сверяйтесь с галереей расширенных результатов Google или официальной документацией Schema.org, чтобы убедиться, какие поля помечены как обязательные.
- Добавьте поле: Включите недостающее свойство в вашу разметку.
- Например: Для схемы
Recipeобязательно наличие полейname,image,recipeIngredientиcookTimeилиtotalTime.
- Например: Для схемы
// Неправильно: отсутствует обязательное поле "price" для Offer
{ "@type": "Product", "name": "Смартфон X" }
// Правильно: добавлены обязательные поля Offers и price
{
"@type": "Product",
"name": "Смартфон X",
"offers": {
"@type": "Offer",
"priceCurrency": "RUB",
"price": "55000.00" // Обязательное поле
}
}
Категория 2: Неправильный формат данных (Invalid Data Format)
Эта ошибка возникает, когда значение, предоставленное для свойства, не соответствует ожидаемому типу данных.
Примеры ошибок:
Ошибка:
The value provided for 'datePublished' is not a valid ISO 8601 date.Ошибка:The value provided for 'ratingValue' must be a number.
Как исправить:
- Даты и время (ISO 8601): Для всех полей, ожидающих дату (
datePublished,startDate), используйте строгий формат ISO 8601.- Неправильно:
"datePublished": "10.03.2024" - Правильно:
"datePublished": "2024-03-10"или"2024-03-10T15:30:00+03:00".
- Неправильно:
- Числа: Предоставляйте чистые числовые значения, используя точку в качестве десятичного разделителя. Валюту или единицы измерения (кг, литр) указывайте в отдельных полях (
priceCurrency,unitText).- Неправильно:
"ratingValue": "4,5" - Правильно:
"ratingValue": "4.5"(как строка или число).
- Неправильно:
- URL: Всегда используйте полные абсолютные URL-адреса, начинающиеся с
http://илиhttps://.
Категория 3: Нарушение иерархии и вложенности (Incorrect Nesting)
Сложные объекты, такие как отзывы или агрегированные рейтинги, должны быть правильно вложены в описываемый ими основной объект.
Пример ошибки:
Ошибка:
The property 'review' is not recognised by Google for an object of type 'WebPage'.Причина: Вы пытаетесь добавить отзыв (Review) напрямую к типуWebPage, но Google требует, чтобы отзыв относился к конкретному объекту (например,Product,Service,Book).
Как исправить:
- Идентифицируйте главный объект: Определите, что является главным контентом страницы (например,
Product). - Вложите связанный объект: Добавьте схему
ReviewилиAggregateRatingкак свойство главного объекта.
{
"@context": "[https://schema.org](https://schema.org)",
"@type": "Product", // Главный объект
"name": "Программное обеспечение X",
// Вложенный объект, связанный с продуктом
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "120"
}
}
Категория 4: Ошибки политики Google и избыточность
Эти ошибки возникают, когда разметка технически правильна, но нарушает правила Google по использованию Rich Results.
1. Отзывы, созданные сайтом (Self-serving reviews)
Политика: Google запрещает размечать отзывы, которые были созданы или курируются сайтом, если они не являются сторонними или не получены от пользователей.
- Исправление: Размечайте только отзывы, полученные от реальных пользователей на вашем сайте или агрегированные из сторонних, независимых источников.
2. Несоответствие данных на странице (Mismatched Data)
Если в разметке указана цена 5000 рублей, а на видимой части страницы (в HTML) — 10000 рублей, Google отклонит разметку.
- Исправление: Видимые данные на странице должны полностью соответствовать данным, указанным в разметке JSON-LD.
3. Дублирование разметки (Multiple JSON-LD Blocks)
Наличие нескольких конкурирующих блоков разметки одного и того же типа (например, два блока Product с разными ценами) сбивает с толку поисковую систему.
- Исправление: Объединяйте всю разметку в один блок
<script type="application/ld+json">. Если на странице несколько продуктов, используйте типItemListилиCollectionPageдля их агрегации.
Краткая стратегия отладки
- Изоляция кода: Возьмите только блок
<script type="application/ld+json">и проверьте его синтаксис в простом JSON-валидаторе. - Сначала ошибки: Всегда начинайте с устранения Ошибок (Errors). Предупреждения (Warnings) — это второстепенные рекомендации.
- Перезапуск теста: После каждого исправления немедленно перезапускайте Тест расширенных результатов Google для проверки.
- Проверка типа: Убедитесь, что ваш главный
@type(например,Article,JobPosting,LocalBusiness) соответствует реальному содержимому страницы.