🎁 Безкоштовна консультація — запишіться зараз 🆕 Нова послуга: GEO-оптимізація для AI-пошуковиків 📝 Новий пост у блозі
SEO & GEO
3-5 днів Середньо

Schema-розмітка для голосового пошуку: JSON-LD гайд 2026

Anastasiia Kyslenko · · 13 хв читання
Крок 1 з 5
Що вам знадобиться

WordPress або інша CMS з можливістю вставки JSON-LD у head/body; базові знання HTML

Schema-розмітка для голосового пошуку: JSON-LD приклади FAQPage, HowTo, Speakable, LocalBusiness. Тести, типові помилки, код для впровадження.

Анастасія Кисленко · Digital-маркетолог · 6+ років, 120+ клієнтів

Я у попередній статті про Google Search Live розібрала, що змінюється у пошуку і які 7 кроків зробити, щоб сайт був готовий до голосового AI. Ця стаття — продовження, але технічна. Це готові шаблони JSON-LD: FAQPage, Speakable, HowTo, LocalBusiness, Product — з поясненням, що робити, а що не працює у 2026 році.

Якщо ти не технічна людина і не маєш розробника — ця стаття покаже тобі, ЩО саме треба поставити на сайті. Потім є два шляхи: надіслати гайд своєму девелоперу або написати мені в Telegram і я впроваджу розмітку під ключ.

Всі приклади нижче — код, який я використовую на сайтах клієнтів з 2023 року. З правилами, які працюють, і застереженнями про те, що Google у 2023-2025 змінив у підтримці деяких типів розмітки.

JSON-LD замість Microdata: чому це важливо для голосу

Schema.org підтримує три формати: JSON-LD, Microdata, RDFa. Google у офіційній документації рекомендує саме JSON-LD — окремий блок скрипта у <head> або <body>, який не перемішується з HTML.

Для голосового AI-пошуку це важливо з двох причин:

  • Швидкість парсингу. AI-боту не треба сканувати DOM і витягувати дані з HTML-атрибутів — він читає готовий JSON-об’єкт.
  • Стабільність. Microdata легко ламається при зміні верстки. Будь-який редизайн може несвідомо видалити itemprop-атрибути. JSON-LD лежить окремим блоком і не залежить від CSS-класів чи структури DOM.

Якщо у тебе зараз Microdata — міграція на JSON-LD не впливає на поточний SEO-рейтинг. Можна переходити без страху. Всі приклади далі у цій статті — виключно JSON-LD.

З чого починати: пріоритет типів розмітки

Не всі типи schema однаково важливі для голосового пошуку. Ось пріоритет, якого я дотримуюсь на проєктах:

  1. FAQPage — найшвидша перемога. Працює на будь-якому сайті. AI цитує FAQ-відповіді найчастіше.
  2. LocalBusiness — критично для бізнесів з фізичним розташуванням (магазини, клініки, ресторани). Голосовий пошук = часто локальний.
  3. Product — для e-commerce і послуг з цінами. AI використовує для запитів «скільки коштує».
  4. HowTo — для покрокових інструкцій. Google у 2023 році прибрав rich results для HowTo, але розмітка працює для AI-асистентів (про це в секції нижче).
  5. Speakable — експериментальна, реально працює обмежено (лише news-publishers англійською). Корисна для тестування, але не очікуй магії на звичайному блозі.

Якщо у тебе один день на роботу — додай FAQPage на ключові сторінки. Це вже дасть результат.

FAQPage: джерело №1 для голосових відповідей

FAQPage — формат, який AI любить найбільше для голосових запитів. Причина проста: він уже містить пару «питання — відповідь» у машинному вигляді. AI не треба здогадуватись, що з абзацу є відповіддю, а що вступом. Документація Google по FAQPage structured data — тут.

JSON-LD приклад FAQPage

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Скільки коштує налаштування Google Ads?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Налаштування Google Ads коштує від X грн для простого акаунту до Y грн для повної воронки з Performance Max, Shopping та ремаркетингом. Ціна залежить від кількості кампаній, інтеграцій з GA4 та налаштування конверсій."
      }
    }
  ]
}
</script>

Числа у прикладі — умовні плейсхолдери. Підставляй реальні ціни свого ринку.

Правила для поля “text” — практичний орієнтир

Це найважливіше. AI зачитує саме це поле. Правила, які я використовую на своїх проєктах (не офіційний стандарт Google — робочі спостереження):

  • 50-150 слів. Коротші відповіді рідше потрапляють у featured snippets, довші — обриваються при озвучуванні. Точних лімітів Google не публікує — це практичний орієнтир.
  • Перше речення — пряма відповідь. Без вступів «це питання хвилює багатьох». Одразу суть.
  • Цифри в текст, не в HTML-теги. Поле text не рендерить HTML — всі теги будуть прочитані як текст. Тому жирне, курсив, посилання — не додаємо.
  • Одна відповідь на одне питання. Не складай кілька питань в одну Question.
  • 5-10 питань на сторінку. Менше — мало сигналів для rich results, більше — AI розмиває контекст. Google прямих вимог щодо кількості не дає.

Типова помилка: дублювання FAQPage

Якщо FAQ-блок показаний на сторінці HTML і продубльований у JSON-LD — текст має збігатися дослівно. Якщо у JSON одна відповідь, а на сторінці інша — Google вважає це маніпуляцією і може зняти розмітку. Найпростіше рішення: генерувати JSON-LD динамічно з того ж контенту, що і HTML-блок.

LocalBusiness: для бізнесів з фізичним розташуванням

Значна частина голосових запитів — локальні: «де поблизу», «що відкрито зараз», «який найближчий». Без LocalBusiness schema твій сайт невидимий для цих запитів, навіть якщо у Google Business Profile все заповнене. Офіційна документація Google.

JSON-LD приклад LocalBusiness

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Ad Astra Marketing",
  "image": "https://adastramarketing.website/wp-content/uploads/logo.png",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "вул. Шевченка, 10",
    "addressLocality": "Львів",
    "postalCode": "79000",
    "addressCountry": "UA"
  },
  "telephone": "+380000000000",
  "url": "https://adastramarketing.website",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "09:00",
      "closes": "18:00"
    }
  ],
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 49.8397,
    "longitude": 24.0297
  }
}
</script>

Критичні поля для голосу

  • openingHoursSpecification — обов’язково. «Хто відкритий зараз» — один з найчастіших голосових запитів.
  • geo (latitude + longitude) — AI використовує для запитів «найближчий» + радіус.
  • address — всі поля. Не скорочуй, не зливай у один рядок.
  • telephone — у форматі E.164 (з + і кодом країни).

Для більш специфічних типів (Restaurant, Store, MedicalBusiness) використовуй підтипи LocalBusiness — це дає AI більше контексту про нішу.

Product schema під голосові запити

Голосові запити типу «скільки коштує», «де купити», «який рейтинг» — це Product schema. Базову розмітку товарів я детально розбирала у статті про видимість товарів для ChatGPT і Google. Тут — три поля, специфічні для голосу.

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Курс Google Ads для e-commerce",
  "description": "Короткий, природний опис однією-двома фразами — саме те, що AI зачитає.",
  "offers": {
    "@type": "Offer",
    "price": "4900",
    "priceCurrency": "UAH",
    "availability": "https://schema.org/InStock",
    "priceValidUntil": "2026-06-30"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "47"
  }
}
  • description — одне-два природних речення. НЕ список характеристик. AI озвучує саме description, коли хтось запитує «що це за продукт».
  • aggregateRating — рейтинг з кількістю відгуків. Є — AI часто цитує «рейтинг 4,8 на основі 47 відгуків». Немає — ця частина відповіді просто не з’являється.
  • priceValidUntil — дата, до якої ціна актуальна. Google вимагає це поле для акційних цін. На звичайних товарах — рекомендована практика, щоб AI не ігнорував застарілу інформацію.

HowTo: працює для AI, але не для Google rich results

Важливо: Google у серпні 2023 року прибрав HowTo rich results з SERP. Розмітка залишилася валідною за schema.org і парситься AI-асистентами (Perplexity, ChatGPT, Gemini), але у звичайній видачі Google вона більше не показує rich-карточки. Додавай HowTo не заради SERP, а заради AI-цитування.

HowTo використовується для покрокових інструкцій. Для голосових запитів типу «як зробити Х» AI шукає саме структуру кроків з номерами.

JSON-LD приклад HowTo

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "Як перевірити schema-розмітку на сайті",
  "description": "Покрокова інструкція з перевірки і виправлення schema-розмітки.",
  "totalTime": "PT15M",
  "image": "https://adastramarketing.website/wp-content/uploads/howto-schema-check.jpg",
  "step": [
    {
      "@type": "HowToStep",
      "position": 1,
      "name": "Відкрити Rich Results Test",
      "text": "Перейди на https://search.google.com/test/rich-results і встав URL сторінки.",
      "image": "https://adastramarketing.website/wp-content/uploads/step1.jpg",
      "url": "https://adastramarketing.website/schema-rozmitka-holosovyi-poshuk/#step-1"
    },
    {
      "@type": "HowToStep",
      "position": 2,
      "name": "Запустити перевірку",
      "text": "Натисни Test URL і почекай 10-30 секунд. Google просканує сторінку і покаже всі знайдені schema-типи.",
      "url": "https://adastramarketing.website/schema-rozmitka-holosovyi-poshuk/#step-2"
    },
    {
      "@type": "HowToStep",
      "position": 3,
      "name": "Виправити помилки",
      "text": "Errors — критичні, розмітка не працює. Warnings — не блокують, але краще виправити.",
      "url": "https://adastramarketing.website/schema-rozmitka-holosovyi-poshuk/#step-3"
    }
  ]
}
</script>

Ключові поля

  • image — Google вимагає для HowTo (навіть після deprecation rich results). AI використовує для візуальної атрибуції. Додавай на рівні HowTo і на кожному step.
  • totalTime — ISO 8601. PT15M = 15 хвилин, PT1H30M = 1 година 30 хвилин.
  • step.position — номер кроку. Не обов’язковий, але без нього порядок кроків не гарантований.
  • step.name — коротка назва, до 60 символів.
  • step.text — повний текст кроку. 30-80 слів на моїй практиці працює оптимально.

Хочеш готові JSON-LD шаблони під свій сайт?

Два варіанти — обирай зручний:

Speakable: експериментальна і чесна правда про її обмеження

Чесно про Speakable: Google прямо обмежує підтримку Speakable news-publishers англійською мовою для Google Assistant. Для звичайного блогу чи сайту послуг Google Assistant її не використає. Але: Speakable — це стандарт schema.org, тому Perplexity, ChatGPT та інші AI-асистенти можуть її парсити. Додавати можна, чудес не чекай.

Speakable — специфікація schema.org, яка вказує, які фрагменти сторінки підходять для зачитування вголос. Через CSS-селектор або xpath.

JSON-LD приклад Speakable (як поле Article)

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Article",
  "headline": "Як налаштувати Google Ads для малого бізнесу",
  "author": {
    "@type": "Person",
    "name": "Анастасія Кисленко",
    "url": "https://adastramarketing.website/pro-mene/"
  },
  "datePublished": "2026-04-21",
  "dateModified": "2026-04-21",
  "image": "https://adastramarketing.website/wp-content/uploads/article.jpg",
  "publisher": {
    "@type": "Organization",
    "name": "Ad Astra Marketing",
    "logo": {
      "@type": "ImageObject",
      "url": "https://adastramarketing.website/wp-content/uploads/logo.png"
    }
  },
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [".speakable-summary"]
  }
}
</script>

Speakable — це поле всередині Article (або WebPage), не окремий тип. Тому обов’язкові поля Article (author, datePublished, image, publisher) мають бути заповнені — без них Rich Results Test зарепортить warnings.

У HTML

<p class="speakable-summary">Мінімальний бюджет для Google Ads у 2026 році — від X грн на місяць для локального бізнесу.</p>

Що НЕ робити

  • Не позначай весь текст статті як speakable — AI не знатиме, що обрати.
  • Не додавай довгі списки, таблиці, код — не читаються голосом природно.
  • Не використовуй на сторінках, які не містять конкретної відповіді (головна, каталог).

Як впровадити JSON-LD у WordPress без розробника

Якщо у тебе WordPress — у 80% випадків окремий розробник не потрібен. Ось три способи, від простішого до гнучкішого.

1. Rank Math (рекомендую)

Безкоштовний плагін з вбудованим schema-редактором. У post editor є панель «Schema» — обираєш тип (Article, FAQPage, HowTo, Product, LocalBusiness), заповнюєш поля у GUI, плагін сам генерує JSON-LD. Підтримує всі ключові типи для голосу.

2. Yoast SEO + Yoast Local (для LocalBusiness)

Yoast автоматично генерує Article, WebPage, BreadcrumbList. Для FAQ — блок Gutenberg «FAQ Block» конвертується у FAQPage. LocalBusiness — через платний Yoast Local або окремий плагін Schema Pro.

3. WPCode (для специфічної розмітки)

Безкоштовний плагін для вставки кастомного коду. Додаєш JSON-LD сніппет як «Header Snippet» з умовою «показувати тільки на цій сторінці». Гнучкість 100%, але треба редагувати код вручну.

Не використовуй одночасно два плагіни для одного типу schema — Google побачить дублікати і може зняти розмітку. Якщо в тебе Rank Math і Yoast одночасно — вимкни schema в одному з них.

5 типових помилок у розмітці під голос

1. Schema під JavaScript

Якщо JSON-LD додається через React/Vue/GTM Custom HTML — він завантажується після основної сторінки. Не всі AI-боти чекають JS. Розмітка може не потрапити в індекс. Правильно — рендерити JSON-LD на server-side (SSR) або у HTML-шаблоні до хедера.

2. Невідповідність HTML і JSON

На сторінці питання «Скільки коштує сайт?», а у JSON — «Ціна на розробку сайту». Google вважає це маніпуляцією. Правило: текст у schema має збігатися з видимим HTML дослівно.

3. Price як рядок з валютою

Поширена помилка у WooCommerce: "price": "4 900 грн". Правильно: "price": "4900" (тільки число, без пробілів і валюти) + окремо "priceCurrency": "UAH". Інакше розмітка не пройде валідацію.

4. Відсутність Organization або Person

Для голосу AI хоче знати, від кого відповідь. Без Organization або Person з sameAs/knowsAbout асистент може обрати конкурента з такою розміткою. На кожному сайті має бути Organization (для бізнесу) або Person (для особистого бренду) у глобальному JSON-LD.

5. Обов’язкові поля Article без заповнення

Article-тип (де живе Speakable) вимагає author, datePublished, image, publisher. Без них Rich Results Test зарепортить warnings і AI може не цитувати статтю. Переглянь Article JSON-LD у секції Speakable вище — всі обов’язкові поля на місці.

Як протестувати розмітку

Три інструменти, якими я користуюсь у такому порядку:

1. Schema Markup Validator

validator.schema.org — офіційний валідатор schema.org. Перевіряє синтаксис і обов’язкові поля. Показує всі типи, навіть ті, що Google не підтримує офіційно (Speakable). Основний інструмент саме для Speakable-розмітки.

2. Rich Results Test

search.google.com/test/rich-results — інструмент Google. Показує, як саме розмітка з’явиться у пошуку (rich results). Не всі schema-типи дають rich results — але ті, що дають, одразу видно preview.

3. Google Search Console → Enhancements

У GSC є розділ Enhancements з усіма schema-типами, які Google знайшов на сайті. Ключовий показник — Valid items. Якщо у тебе 50 сторінок з FAQPage, а в GSC видно 20 — щось ламається при парсингу. Найчастіше причина — JavaScript-рендеринг розмітки.

Перевіряй у Rich Results Test перед публікацією. У GSC — через 7-10 днів після. GSC показує реальну індексацію, не синтаксичну правильність.

JSON-LD шаблони для голосового AI-пошуку

PDF з 6 шаблонами: FAQPage, HowTo, Speakable, Product, LocalBusiness, Article. З коментарями по кожному полю і валідованими прикладами коду.

Отримати в Telegram →

Або напиши мені — я впроваджу розмітку на твоєму сайті під ключ. SEO/GEO послуги.

Часті питання про schema-розмітку для голосового пошуку

Пріоритет для голосового пошуку: FAQPage (найчастіше джерело голосових відповідей, працює на будь-якому сайті), LocalBusiness (критично для бізнесів з фізичним розташуванням), Product (для e-commerce з цінами), HowTo (для покрокових інструкцій, Google прибрав rich results у 2023, але AI парсить), Speakable (експериментальна, обмежена news-publishers англійською). Всі — у форматі JSON-LD.

Speakable — специфікація schema.org, яка вказує голосовому асистенту, які фрагменти сторінки підходять для зачитування. Google офіційно підтримує її тільки для news-publishers англійською для Google Assistant. Для звичайного блогу Google її не використає, але Perplexity і ChatGPT парсять. Додавати можна як поле всередині Article JSON-LD, з CSS-селектором на абзаци з прямими відповідями. Значного виграшу не чекай — це задаток на майбутнє.

Працює, але не для Google rich results. У серпні 2023 Google прибрав rich results для HowTo з SERP. Розмітка залишилася валідною за schema.org, і AI-асистенти (Perplexity, ChatGPT, Gemini) її парсять і використовують для голосових відповідей на запити «як зробити Х». Додавай HowTo заради AI-цитування, не заради позиції у Google SERP. Обов’язкові поля: name, description, step з position/name/text/image, image на рівні HowTo.

JSON-LD. Google офіційно рекомендує саме його у документації. Для голосового AI-пошуку JSON-LD парситься швидше, не ламається при редизайні сайту і легше тестується. Microdata застаріла і додає зайвий ризик помилок. Якщо у тебе зараз Microdata — мігруй на JSON-LD, це не впливає на поточний SEO-рейтинг.

Три варіанти у порядку простоти. Rank Math — безкоштовний плагін з вбудованим schema-редактором у post editor, покриває FAQPage, HowTo, Product, LocalBusiness. Yoast SEO + Yoast Local — для базових типів і LocalBusiness. WPCode — для вставки кастомного JSON-LD як Header Snippet з умовою показу на конкретній сторінці. Не використовуй два плагіни для одного типу schema одночасно — будуть дублікати.

Три інструменти послідовно. Перший — validator.schema.org (перевіряє синтаксис і всі типи, включно з Speakable). Другий — Google Rich Results Test (search.google.com/test/rich-results, показує як розмітка з’явиться у пошуку). Третій — Google Search Console → Enhancements (через 7-10 днів показує реальну індексацію). Якщо GSC показує менше сторінок ніж реально з розміткою — ймовірно JSON-LD рендериться через JavaScript і боти його не бачать.

Що впровадити на цьому тижні

Голосовий AI-пошук не читає твій сайт очима — він парсить JSON. Чим краще JSON описує сторінку, тим вища ймовірність, що твій контент озвучать замість конкурента.

Мінімальний план на 3-5 днів:

  1. Додай FAQPage JSON-LD на 3-5 ключових сторінок (послуги, головна, комерційний лендинг). 5-10 питань, відповідь 50-150 слів.
  2. Якщо є фізичне розташування — додай LocalBusiness з openingHoursSpecification і geo.
  3. Для товарів/послуг — Product з description, aggregateRating, priceValidUntil.
  4. Перевір кожну сторінку у Rich Results Test. Виправ всі Errors.
  5. Через 10 днів — GSC → Enhancements, перевір Valid items по кожному типу.

Потрібна допомога? Якщо немає часу або розробника — напиши мені. Налаштую schema-розмітку на твоєму сайті під ключ: від аудиту поточної розмітки до впровадження FAQPage, LocalBusiness і HowTo. Пиши в Telegram або дивись SEO/GEO послуги.

Читати далі

Google Search Live: стратегічний контекст · Schema для товарів: ChatGPT і Google · GEO оптимізація для AI-пошуку

Більше про мою роботу

Послуги · Кейси · Про мене

Загальний час: 3-5 днів
Поділитися:

Автор статті

Anastasiia Kyslenko

Digital маркетолог з 6+ роками досвіду. Допомагаю бізнесам зростати через Google Ads, SEO, аналітику та AI-автоматизацію.

Підпишись на блог

Отримуй нові статті першим — обирай зручний канал

Завантажте GEO-чеклист

9 кроків оптимізації для AI-пошуку. Чеклист, який можна взяти в роботу вже сьогодні.

Отримати в Telegram →

Читайте також

Коментарі

Обговорити в Telegram

Залишити коментар

Коментар з'явиться після модерації.

Готові почати?

Обговоримо ваш проєкт

Безкоштовна 30-хвилинна консультація — розберемо вашу ситуацію та знайдемо точки зростання.

Написати Telegram