Техніка · schema.org · JSON‑LD · Microdata · Open Graph
Структуровані дані, JSON‑LD і rich snippets
Структуровані дані — це інформація про сторінку, записана стандартизованим словником (schema.org), яку машина може прочитати без вгадування: «це продукт, коштує 199 zł, є в наявності, має оцінку 4,7». Пошукові системи показують їх як rich snippets (розширені результати з ціною, зірочками, FAQ, «хлібними крихтами»), ШІ‑асистенти цитують їх як факти, а програми читання з екрана й інші інструменти користуються тією самою ідеєю — явною структурою замість вигляду. Закон їх не вимагає. Але сайт, що має добру структуру для людей, зазвичай має її й для машин — і навпаки.
Три формати, один словник
| Формат | Як виглядає | Коли |
|---|---|---|
| JSON‑LD | блок <script type="application/ld+json"> у <head> або <body>, незалежний від HTML | рекомендований Google; найлегший у підтримці; не торкається доступності сторінки (програма читання його не читає) |
| Microdata | атрибути itemscope, itemtype, itemprop на елементах HTML | старіші магазини; пов'язує дані з видимими елементами, тож важче отримати розбіжність між тим, що видно, і тим, що задекларовано |
| RDFa | атрибути vocab, typeof, property | рідко поза державним сектором і видавництвами |
До цього Open Graph (og:title, og:image…) і Twitter Cards — не schema.org, але та сама мета: прев'ю посилання в месенджерах і соцмережах. Цей сайт має і JSON‑LD, і Open Graph — подивіться у вихідний код.
Приклад: товар у магазині
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Пристрій для читання Lumen 7",
"image": ["https://shop.example/img/lumen-7.jpg"],
"description": "Читалка 7\" з підсвіткою та синтезатором мовлення.",
"sku": "LUM-7",
"brand": { "@type": "Brand", "name": "Lumen" },
"offers": {
"@type": "Offer",
"url": "https://shop.example/lumen-7",
"priceCurrency": "PLN",
"price": "699.00",
"availability": "https://schema.org/InStock",
"hasMerchantReturnPolicy": { "@type": "MerchantReturnPolicy",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 14 }
},
"aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.7", "reviewCount": "128" },
"accessibilityFeature": ["readingOrder", "textToSpeech"],
"accessibilitySummary": "Меню з голосовим керуванням; український синтезатор."
}
</script>
Останні два поля — не випадковість: schema.org має властивості accessibilityFeature, accessibilityHazard, accessibilityControl і accessibilitySummary. Для продуктів, охоплених законом (пристрої для читання, комп'ютери, термінали), це готове місце для інформації про доступність, яку ст. 18 п. 1 наказує надавати в магазині — читабельне і для клієнта, і для пошукової системи.
Типи, які варто мати
Organization / LocalBusiness
Назва, логотип, адреса, телефон, години, податковий номер (vatID), профілі в соцмережах (sameAs). На головній і в підвалі; основа «панелі знань» у результатах.
WebSite + SearchAction
Назва сайту і поле пошуку в результатах Google (sitelinks searchbox).
BreadcrumbList
Шлях навігації в результаті пошуку замість сирого URL. Відповідає видимим «хлібним крихтам» — які також є доброю практикою WCAG 2.4.8 (AAA).
Product + Offer + AggregateRating
Ціна, наявність, оцінки, повернення, доставка (shippingDetails). Google вимагає відповідності тому, що видно на сторінці.
FAQPage
Запитання й відповіді, видимі на сторінці. Google обмежив їх показ урядовими та медичними сайтами (2023), але ШІ‑асистенти та інші пошукові системи далі їх читають. Наш FAQ має FAQPage.
Article / BlogPosting
Автор, дата, зображення, видавець — для блогів і посібників. Кожна сторінка цього компендіуму має Article.
Event, Course, Recipe, JobPosting
Типи з власними розширеними результатами: події з датою, курси, рецепти з часом, вакансії в Google Jobs.
VideoObject
Мініатюра, тривалість, транскрипт (transcript) — останній водночас є текстовою альтернативою з WCAG 1.2.
Правила, які вирішують, чи це спрацює
Дані мають відповідати тому, що видно
Google карає за оцінки, яких немає на сторінці, ціни, інші від видимих, FAQ, сховані від користувача. Це те саме правило, що і в доступності: структура описує контент, а не замінює його.
Один головний об'єкт на сторінку
Сторінка товару — це один
Product; список товарів — цеItemListз посиланнями, а не 40 повних продуктів.Правильний JSON
Одна зайва кома — і весь блок ігнорується без повідомлення. Наша перевірка розбирає кожен блок JSON‑LD і повідомляє про нерозбірливі (правило pad-structured-data).
Тестуйте
Google Rich Results Test і Schema Markup Validator (validator.schema.org) показують, що прочитано і яких полів бракує для розширеного результату.
Не вигадуйте полів
Словник schema.org закритий; невідомі властивості пропускаються. Коли чогось бракує, використовуйте
additionalProperty.
Що це має спільного із законом
Безпосередньо — нічого: ні EAA, ні польський закон, ні WCAG не вимагають schema.org. Опосередковано — багато:
- Та сама дисципліна. Сайт, на якому ціна є текстом (не картинкою), «хлібні крихти» — списком, FAQ — заголовками й абзацами, а товар має назву, опис і фото з альтернативою — доступний і готовий до структурованих даних. Сайт, побудований із картинок і div, не є ані одним, ані другим.
- Інформація про доступність продуктів (ст. 18 п. 1) має у schema.org готові поля, які розуміють і порівнювальні сервіси, і пошукові системи.
- Заява і правила. Типи
WebPageзaccessibilitySummaryі сторінка «Доступність», підключена доOrganization, полегшують знаходження інформації зі ст. 32 — також органу. - ШІ‑асистенти дедалі частіше відповідають на запитання про магазин на основі структурованих даних і файлу
llms.txt. Цей сайт має обидва.
Що показує перевірка
У профілі сторінки звіт перелічує знайдені типи schema.org (напр. Organization, Product, BreadcrumbList), кількість блоків і нерозбірливі блоки, а також сигнали електронної торгівлі, виявлені зокрема з Product/Offer. Відсутність структурованих даних позначено як інформацію, а не як порушення — бо це ним не є.
