Перевірка мікророзмітки Schema.org: валідатори, покрокова інструкція й типові помилки
Перевірка мікророзмітки — це насправді дві різні перевірки. Перша: чи коректна розмітка як schema.org — валідний JSON, наявні в словнику типи й властивості, значення в правильному форматі? Друга: чи відповідає вона вимогам Google для конкретного розширеного результату — сніпета товару, зірок рейтингу, картки події? На перше питання відповідає Schema Markup Validator на validator.schema.org, на друге — перевірка розширених результатів від Google (Rich Results Test), а наш валідатор мікророзмітки перевіряє синтаксис, словник schema.org і обов’язкові поля Google в одному звіті. Після публікації звіти про розширені результати в Search Console показують, що Google справді знайшов на всьому сайті.
Чим перевіряти мікророзмітку зараз
| Інструмент | Що перевіряє | JavaScript | Коли потрібен |
|---|---|---|---|
| Rich Results Test (Google) | Лише типи, для яких у Google є розширені результати, з обов’язковими й рекомендованими полями за правилами Google. Приймає URL або код, JSON-LD, Microdata і RDFa. За замовчуванням перевіряє як смартфон, можна обрати комп’ютер. | Так — дивиться відмальовану сторінку | «Чи прийме Google це для розширеного результату?» |
| Schema Markup Validator (schema.org) | Будь-які типи й властивості schema.org у JSON-LD, Microdata та RDFa. Правил Google немає. | У документації не сказано — якщо сумніваєтеся, вставляйте код | Типи, які Google не використовує; загальна коректність |
| Валідатор PromoPilot | Синтаксис JSON із рядком і стовпцем, словник schema.org, обов’язкові та рекомендовані поля Google для 11 сімейств типів, зв’язки @graph і @id, дублі сутностей | Ні — читає HTML, який віддає сервер | Зрозуміти, чому блок зламаний, і отримати виправлену копію |
| Звіти Search Console | Що Googlebot знайшов на сайті: валідні й невалідні об’єкти, проблеми в динаміці | Так, під час індексації | Контроль після викладки |
Зазвичай вистачає двох: валідатора, поки ви пишете розмітку, і Rich Results Test або Search Console — для боку Google.
Як перевірити мікророзмітку: крок за кроком
- З’ясуйте, що взагалі є на сторінці. Відкрийте вихідний код (Ctrl+U) і знайдіть
application/ld+json(JSON-LD),itemscope(Microdata) таtypeof(RDFa). Якщо плагін обіцяє розмітку, а у вихідному коді її немає, найімовірніше, її додає JavaScript (про це нижче). - Спочатку синтаксис. Одна зайва кома чи «типографська» лапка — і весь блок JSON-LD невалідний, пошуковик пропускає його повністю. Валідатор покаже рядок і стовпець помилки.
- Далі словник. Типи пишуться з великої літери (
Product), властивості — у camelCase (datePublished), властивість має належати своєму типу. Значення переліків — повні URL (https://schema.org/InStock), дати й тривалості — в ISO 8601. - Вимоги Google для потрібної функції. Перевірте URL у Rich Results Test. Помилка означає, що об’єкт не може отримати цей розширений результат. Попередження — бракує рекомендованого поля: право на показ є, але інформації буде менше.
- Звірте розмітку з тим, що бачить відвідувач. Ціна, рейтинг, автор і дати в JSON-LD мають збігатися з видимою сторінкою. Правила Google забороняють розмічати те, чого читач не бачить.
- Опублікуйте й стежте. У Search Console перевірте живий URL інструментом перевірки URL і надішліть запит на індексування, а потім стежте за звітом для цього типу кілька тижнів.
Приклад: зламаний блок Product і виправлена версія
Блок здається нормальним, але в ньому чотири помилки:
{
"@context": "https://schema.org",
"@type": "product",
"name": "Кросівки для трейлу",
"offers": {
"@type": "Offer",
"price": "1 299,00 грн",
"availability": "в наявності",
}
}
- кома після останньої властивості робить JSON невалідним — решта блоку взагалі не читається;
productз малої літери — не тип schema.org: регістр має значення;- у ціні пробіл, кома й валюта; ціна — просто число, а валюта — у
priceCurrency; в наявності— довільний текст, а не значення перелікуItemAvailability.
Виправлений варіант:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Кросівки для трейлу",
"image": "https://example.com/img/shoes.jpg",
"offers": {
"@type": "Offer",
"price": "1299.00",
"priceCurrency": "UAH",
"availability": "https://schema.org/InStock"
}
}
Для сніпета товару в Google об’єкту Product потрібні name і щонайменше одне з offers, review або aggregateRating; усередині Offer обов’язкова price.
Типові помилки мікророзмітки та як їх виправити
| Що бачите | Як виправити |
|---|---|
| Помилка розбору / unexpected token | Шукайте кому перед } або ], пропущену кому між властивостями чи неекрановану лапку всередині значення. |
| Лапки «ялинки» або “ ” у коді | Код пройшов через Word або візуальний редактор. Вставляйте JSON-LD у режимі HTML чи в поле коду CMS. |
Коментарі // всередині JSON-LD | Видаліть. У довідці Google сказано, що Rich Results Test коментарі ігнорує, але стандарт JSON-LD їх не допускає, тож інші парсери можуть зламатися. |
| Невідомий тип або властивість | Перевірте написання й регістр: datepublished → datePublished, localbusiness → LocalBusiness. |
| Властивість не належить до типу | Перенесіть у потрібний об’єкт: наприклад, price — в Offer, а не просто в Product. |
| Неправильна дата | 13.10.2026 → 2026-10-13 або 2026-10-13T09:00:00+03:00. |
| Неправильна тривалість | "cookTime": "30 хв" → "PT30M"; півтори години — "PT1H30M". |
| Дві різні Organization | Зазвичай одну виводить SEO-плагін, іншу — тема. Залиште одну, дайте їй @id і посилайтеся на неї з інших блоків. |
| Типи data-vocabulary.org | Google цей старий словник більше не підтримує. Перепишіть розмітку на schema.org. |
Валідна розмітка не гарантує розширеного результату
Google прямо пише в правилах для структурованих даних, що не гарантує розширених результатів, навіть якщо розмітка проходить Rich Results Test. Коректна розмітка дає право на показ, а чи покаже його алгоритм для конкретного запиту й користувача — вирішує Google. Типові причини, чому у валідного об’єкта нічого немає:
- Функцію більше не показують. Перелік нижче.
- Порушення правил. Розмітка того, чого немає на сторінці, оманливі чи застарілі дані, фальшиві відгуки. Ручний захід за структуровані дані позбавляє права на розширені результати; за словами Google, на ранжування у вебпошуку він не впливає.
- Відгуки про себе. Зірки для LocalBusiness і Organization Google показує лише сайтам, які збирають відгуки про інші компанії. Компанія, що розмітила рейтинг сама собі, зірок не отримає.
- Сторінку ще не проіндексовано або Google не обходив її після зміни розмітки.
Що Google перестав показувати
- FAQ — з вересня 2023 року лише для авторитетних сайтів держорганів і охорони здоров’я, з 7 травня 2026 року не показується зовсім; документацію видалили в червні 2026-го.
- How-to — прибрано у вересні 2023 року на десктопі й мобільних.
- Вікно пошуку по сайту (WebSite + SearchAction) — вимкнено в листопаді 2024 року.
- Хлібні крихти — з січня 2025 року не показуються в мобільній видачі, на десктопі лишилися.
- Course info, Estimated salary, Learning video, Special announcement, Vehicle listing — документацію видалено у вересні 2025 року.
Така розмітка лишається коректною schema.org і нічого не ламає — Google просто не перетворює її на візуальний елемент. Залишати її чи ні — питання витрат на підтримку, а не ризику.
JSON-LD, доданий через JavaScript або Google Tag Manager
Багато сайтів вставляють розмітку скриптом або тегом «Спеціальний HTML» у Google Tag Manager. У посібнику Google про створення структурованих даних за допомогою JavaScript сказано, що Google Пошук обробляє розмітку, яка є в DOM під час відмальовування сторінки. Звідси два наслідки:
- Інструменти, що читають лише вихідний HTML (зокрема наш), такої розмітки не побачать. Перевіряйте ці сторінки в Rich Results Test (він працює з відмальованим кодом) або інструментом перевірки URL у Search Console. Інший спосіб: відкрийте сторінку в Chrome DevTools, скопіюйте відмальований елемент
<html>(Elements → Copy → Copy outerHTML) і вставте у валідатор. - Для розмітки Product Google попереджає: динамічна розмітка може зробити сканування для Покупок рідшим і менш надійним. Якщо ціна й наявність змінюються часто, віддавайте JSON-LD у серверному HTML.
У GTM збирайте розмітку зі змінних сторінки, а не вписуйте значення в тег вручну, інакше з часом розмітка розійдеться з тим, що бачить відвідувач.
Перевірка мікророзмітки в Search Console
Звіти про розширені результати розташовані в розділі «Покращення»; сніпети товарів і товарні оголошення — у розділі «Покупки». Що варто знати:
- Звіт з’являється лише тоді, коли Google знайшов валідну розмітку підтримуваного типу. Звіту для FAQ чи How-to чекати не варто.
- Рахуються об’єкти, а не сторінки: сторінка з трьома Event дає три об’єкти.
- У звіті — вибірка, а не всі URL. Для конкретної сторінки користуйтеся перевіркою URL.
- Об’єкт із критичною проблемою невалідний і не може стати розширеним результатом; некритичні проблеми — попередження.
- Виправивши проблему, запустіть перевірку виправлення на сторінці цієї проблеми — звіт покаже її статус.
Як перевірити розмітку в PromoPilot
Введіть URL або вставте код у валідатор Schema.org. Він знаходить усі об’єкти JSON-LD, Microdata і RDFa та перевіряє їх у три шари:
- Синтаксис: помилки JSON із рядком і стовпцем, причина простими словами й безпечне автовиправлення (висячі коми, коментарі, «типографські» лапки, перенесення рядків усередині значень, кілька об’єктів поспіль) — з виправленим блоком для копіювання.
- Словник: типи й властивості звіряються зі schema.org (зараз версія 30.1), з підказками для одруківок і неправильного регістру, застарілих термінів, значень переліків, дат і тривалостей ISO 8601.
- Правила Google: обов’язкові та рекомендовані поля для статей, товарів, відгуків, хлібних крихт, організацій, місцевих компаній, подій, рецептів, відео, застосунків і вакансій.
Також він збирає @graph, розв’язує посилання @id і знаходить дублі сутностей. Вставлений код — до 512 КБ, завантажена сторінка кешується на 10 хвилин. Створити розмітку з нуля допоможуть генератор Schema (Article, Product, FAQ, Organization, LocalBusiness, Breadcrumbs) і генератор FAQ-розмітки.
Чого наш валідатор не робить
- Не виконує JavaScript: розмітки з GTM чи односторінкового застосунку він не бачить. Якщо на сторінці є GTM або вона схожа на SPA, він про це попередить.
- Не звіряє розмітку з видимим текстом. Ціна в JSON-LD, що відрізняється від ціни на сторінці, — порушення правил Google, але автоматично його не впіймати.
- Не обіцяє розширеного результату — цього не може пообіцяти ніхто, крім самого Google.
Що почитати далі
- Структуровані дані та Schema.org — що це і які типи важливі.
- Блок відповіді (featured snippet) — його розміткою не ввімкнути.
- Перевірка мета-тегів і попередній перегляд сніпета — решта того, з чого складається вигляд сторінки у видачі.