NEW CASE
Antana

Создаем цифровые решения, которые работают на бизнес


Позвоните нам +38 (066) 35-14-529

Сделаем первый шаг к вашему сайту — напишите нам

Закрыть
Инструменты

Проверка разметки Schema.org

Синтаксис JSON-LD, обязательные поля по типу и логические ошибки.

Бесплатный аудит

Разметка — лишь одна из десятков вещей, которые проверяет Google

Инструмент проверяет одну вещь. Мы бесплатно пройдём весь сайт и пришлём отчёт: что мешает вам в Google и что исправить первым.

  • Индексация и технические ошибки
  • Скорость и Core Web Vitals
  • Мета-теги, разметка, дубли
  • План исправлений по приоритету

Отчёт за 1–2 рабочих дня. Без обязательств — если всё в порядке, так и скажем.

Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности

Что проверяет валидатор

Разметка с ошибкой не работает молча: расширенный результат просто не появляется, и понять почему без проверки сложно.

Синтаксис JSON Лишняя запятая перед скобкой, одинарные кавычки вместо двойных, комментарии — каждая из этих мелочей делает весь блок нечитаемым.
@context і @type Без контекста блок не связывается со словарём schema.org. Без типа непонятно, что именно вы описываете.
Обязательные поля Для каждого типа свой набор. В LocalBusiness без адреса, в Product без названия разметка не имеет смысла.
Рекомендуемые поля Без них разметка работает, но результат беднее. Показываем отдельно от обязательных, чтобы была видна разница.
Логические ошибки Оценка 7 из 5, цена словами, дата в формате 15.01.2026, относительный адрес вместо полного — формально валидно, фактически не работает.
Вложенные сущности Разметка часто содержит сущности внутри сущностей: Offer в Product, Question в FAQPage. Проверяем каждую отдельно.

Важно: корректная разметка не гарантирует расширенного результата в Google. Решение всегда за поисковой системой, и ни один сторонний валидатор не может его предсказать.

Самые частые типы и что в них нужно

Organization Обязательно только name. Но без logo, url и sameAs пользы мало — именно они связывают сайт с профилями компании.
LocalBusiness Нужны name и address. Для локальной выдачи добавьте telephone, openingHours и geo с координатами.
Article Обязателен headline. Автор, дата публикации и изображение нужны для полноценного вида в выдаче.
Product Название обязательно, остальное — offers с ценой, изображение и рейтинг — именно то, что показывается в результатах.
FAQPage Нужен mainEntity со списком Question, у каждого — acceptedAnswer. Ответы должны быть на самой странице.
BreadcrumbList Список itemListElement с позициями. Заменяет длинный адрес в результате на понятный путь.

За что Google снимает расширенный результат

Данные не совпадают со страницей В разметке цена 500, на странице 900. Это считается обманом, и санкция снимает расширенный результат по всему сайту, а не только на этой странице.
Рейтинг без отзывов AggregateRating на странице, где отзывов нет вообще. Самая частая причина ручных санкций за разметку.
FAQ без ответов на странице Вопросы есть только в разметке, а в тексте страницы их нет. Google это проверяет и разметку отбрасывает.
Разметка чужого содержимого Описывать как свой товар то, чего на странице нет, или чужие отзывы. Формально валидно, но нарушает правила.

Порядок работы с разметкой

1 Сначала синтаксис Если JSON недействителен, остальное не имеет значения: блок не читается вообще и ни на что не влияет.
2 Затем обязательные поля Без них тип считается неполным. Рекомендуемые добавляйте после того, как обязательные на месте.
3 Сверьте со страницей Каждое значение в разметке должно быть видно человеку на самой странице. Это главное правило, и именно его нарушение наказывается.
4 Проверьте в Google Наш валидатор ловит ошибки кода, но окончательный ответ о расширенном результате даёт только инструмент самой поисковой системы.

Типичные ошибки в разметке и как их исправить

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

1. Запятая после последнего элемента

JSON строже JavaScript: лишняя запятая перед } или ] ломает весь блок. Браузер не жалуется, Google разметку не читает.

// было
{ "@type": "Organization", "name": "BB STUDIO", }

// стало
{ "@type": "Organization", "name": "BB STUDIO" }

2. Одинарные кавычки

В JSON кавычки только двойные. Код с одинарными выглядит рабочим, но не парсится.

// было
{ '@type': 'Article', 'headline': 'Заголовок' }

// стало
{ "@type": "Article", "headline": "Заголовок" }

3. Нет @context

Без "@context": "https://schema.org" парсер не знает, что Product — это тип из Schema.org, а не произвольное слово. Блок игнорируется целиком.

// было
{ "@type": "Product", "name": "Ноутбук" }

// стало
{ "@context": "https://schema.org", "@type": "Product", "name": "Ноутбук" }

4. Комментарии внутри JSON

Разработчик оставил // TODO или /* ... */ — и это уже не JSON. Комментарии нужно убрать полностью.

5. Нет обязательного поля

Для Article это headline, для Product — name, для Event — name, startDate и location. Без них Google не покажет расширенный результат, даже если всё остальное идеально. Полная таблица — ниже.

6. Рейтинг без отзывов на странице

Самая опасная ошибка: aggregateRating стоит на странице, где ни одного отзыва не видно. Google называет это self-serving reviews и именно за это чаще всего даёт ручные санкции — исчезают все расширенные сниппеты сайта, а не только этот.

// было — на каждой странице сайта
{ "@type": "Organization", "name": "...",
  "aggregateRating": { "ratingValue": "5", "reviewCount": "9" } }

// стало — только на странице, где отзывы есть текстом
{ "@type": "Organization", "name": "..." }

7. Цена строкой с валютой

"price": "9 900 грн" — не число. Должно быть "price": "9900" и отдельно "priceCurrency": "UAH".

// было
"offers": { "@type": "Offer", "price": "от 9 900 грн" }

// стало
"offers": { "@type": "Offer", "price": "9900", "priceCurrency": "UAH" }

8. Дата не в ISO 8601

"datePublished": "12.09.2026" парсер не поймёт. Правильно — "2026-09-12" или со временем и зоной: "2026-09-12T10:00:00+03:00".

9. Разметка не совпадает с тем, что на странице

В коде цена 9 900, на странице 12 900. В коде пять вопросов FAQ, на странице три. Google сравнивает разметку с видимым содержимым, и расхождение карается так же, как скрытый текст. Разметка описывает страницу, а не украшает её.

Обязательные и рекомендуемые поля по типам

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

ТипОбязательноРекомендуется
Organizationnameurl, logo, sameAs, contactPoint
LocalBusinessname, addresstelephone, openingHours, geo, url, image, priceRange
Article / BlogPostingheadlineauthor, datePublished, dateModified, image, publisher
Productnameimage, offers, description, brand, sku, aggregateRating
Offerprice, priceCurrencyavailability, url, priceValidUntil
FAQPagemainEntity (Question с name и acceptedAnswer)—
BreadcrumbListitemListElement—
Eventname, startDate, locationendDate, description, offers, image
Servicenameprovider, areaServed, description
WebSitename, urlpotentialAction (поиск по сайту)
VideoObjectname, thumbnailUrl, uploadDatedescription, duration, contentUrl

Для Product обратите внимание: aggregateRating в рекомендуемых — но только если на странице действительно есть отзывы. Иначе см. ошибку №6.

Что делать после проверки

Валидатор говорит «ошибок нет» — это значит, что код корректен, а не что Google покажет звёздочки или FAQ в выдаче. Расширенные результаты — решение Google, и он принимает его по-разному для разных сайтов и запросов. Что зависит от вас: правильный тип под содержимое страницы, обязательные поля, совпадение разметки с текстом и отсутствие вещей из пункта 6.

Подробнее о том, какие типы разметки реально дают расширенные сниппеты в 2026 году, за что Google их снимает и почему LocalBusiness без адреса хуже, чем без разметки вообще, — в статье «Разметка Schema.org: что даёт и за что Google снимает». А генератор разметки соберёт корректный JSON-LD для типичных случаев — Organization, Article, FAQ, Product — чтобы не писать его вручную.

Частые вопросы

Гарантирует ли корректная разметка расширенный результат?
Нет. Разметка без ошибок — необходимое условие, но не достаточное. Google решает сам, опираясь на качество страницы, доверие к сайту и тип запроса. Ни один сторонний валидатор этого предсказать не может, и обещания обратного стоит воспринимать осторожно.
За что можно получить санкцию за разметку?
Чаще всего — за рейтинг на странице без единого отзыва и за расхождение данных: в разметке одна цена, на странице другая. Санкция снимает расширенные результаты по всему сайту, а не только на проблемной странице, поэтому риск значительно больше выигрыша.
JSON-LD или микроданные в атрибутах?
Google рекомендует JSON-LD: он лежит отдельным блоком и не смешивается с вёрсткой, поэтому его проще править и труднее сломать при смене дизайна. Микроданные работают тоже, но этот валидатор проверяет именно JSON-LD.
Сколько блоков разметки можно на одной странице?
Ограничения нет, и несколько блоков — нормальная практика: Organization, BreadcrumbList и Article на одной странице не конфликтуют. Но описывать нужно только то, что действительно на ней есть: лишние сущности пользы не дают, а риск ошибки увеличивают.
Почему валидатор говорит об ошибке, а Google принимает разметку?
Мы разделяем обязательные и рекомендуемые поля. Google может принять блок без рекомендуемых, но результат будет беднее: без изображения и даты статья в выдаче выглядит скромнее. Ошибками мы называем только то, без чего тип неполон по спецификации.
Почему валидатор не показывает, будет ли расширенный результат?
Потому что этого не знает никто, кроме Google. Валидатор проверяет то, что можно проверить: синтаксис, обязательные поля, типичные ошибки. Показывать ли звёздочки или FAQ в выдаче — Google решает отдельно для каждого сайта и запроса, и может передумать. Корректная разметка — необходимое условие, не достаточное.
Можно проверить разметку страницы, которая ещё не опубликована?
Да — вкладка «Вставить код». Скопируйте содержимое тега script type="application/ld+json" и вставьте в поле. Проверка та же, что и по адресу, только без загрузки страницы. Удобно для шаблонов, которые тестируются локально, и для кода из генератора перед установкой на сайт.
Какую разметку ставить на страницу услуги?
Service с provider — ссылкой на Organization сайта — и areaServed. Цену можно добавить через offers с priceSpecification, но без availability: InStock — это складская семантика для товаров, и на услуге она заставляет Google читать страницу как товарную карточку. Если на странице есть блок вопросов — отдельный FAQPage. aggregateRating — только если отзывы видны на этой же странице.
Telegram Viber Позвонить