Мікророзмітка Schema.org для Drupal і Drupal Commerce
У Drupal інформація формується з різних сутностей: матеріалів, користувачів, термінів таксономії, товарів, варіацій і власних типів даних. Налаштуємо JSON-LD так, щоб він використовував актуальні поля, правильну мову й canonical URL конкретної сторінки.
Спочатку аналізуємо типи матеріалів, bundles, режими відображення, Views, активні SEO-модулі та фінальний HTML. Це допомагає визначити, де вже створюється Schema.org, які блоки дублюються та які дані пошукова система отримує після повного рендерингу сторінки.
Для кожного шаблону обираємо відповідну сутність: WebPage для звичайної сторінки, Article або BlogPosting для публікації, Product і Offer для товарів Drupal Commerce, BreadcrumbList для навігації. WebSite та Organization формують загальний контекст і зв’язуються з іншими об’єктами через стабільні @id.
Динамічні значення отримуємо з entity fields: заголовка, опису, автора, дат, зображень, таксономій, ціни, наявності та інших полів. Для перекладених матеріалів використовуємо значення активної мовної версії та її абсолютний URL, щоб українська й інші локалі не змішувалися в одному JSON-LD.
Реалізацію можна додати через preprocess у власній темі або, для складнішої й довготривалої логіки, через custom module. Обов’язково враховуємо cache contexts і cache tags, щоб після редагування матеріалу, товару чи перекладу кеш не показував застарілі структуровані дані.
Результат для бізнесу: редактори продовжують працювати зі звичними полями Drupal, а JSON-LD оновлюється автоматично. Сайт отримує зрозумілу й масштабовану структуру без ручного коду в кожному матеріалі. Коректна розмітка створює придатність до підтримуваних форматів у пошуку, але не гарантує їх показ.
Коли потрібне налаштування Drupal Schema
- різні типи матеріалів отримують однаковий @type
- у JSON-LD не потрапляють поля, таксономії або автор
- перекладена сторінка містить дані іншої мовної версії
- Views або модулі створюють дублікати структурованих даних
- Drupal Commerce передає неправильну ціну чи наявність
- після редагування сторінки JSON-LD залишається в кеші
- Google або Schema Markup Validator показує помилки
- потрібна одна архітектура для всіх bundles і шаблонів
