Стаття 29.09.2026 40

JSON-LD після зміни Google: перевірили 1 044 сайти — зачепило 1,6%, а справжня проблема в третини

З 21 серпня Google знімає HTML-екранування з розмітки JSON-LD один раз замість двох. Ми перевірили 3 167 сторінок з 1 044 сайтів: зміна зачепила лише 1,6% із них. Натомість у 23% сайтів на Shopify у розмітці символи, які не розкодує жоден обробник за стандартом, а в 36% сайтів із топу Google розмітку записано так, що правильно її читає лише Google. Розбираємо причини, нашу власну помилку і чотири кроки перевірки.

JSON-LD після зміни Google: перевірили 1 044 сайти — зачепило 1,6%, а справжня проблема в третини

21 серпня Google змінив те, як його робот читає розмітку JSON-LD, і галузеві видання дружно написали «терміново перевірте свою розмітку». Ми перевірили — не свою, а 1 044 сайти: 748 із першої десятки Google за комерційними запитами, 295 сайтів наших клієнтів і наш власний. Загалом 3 167 сторінок. Зміна Google зачепила 1,6% сайтів. Натомість знайшлася проблема вдвадцятеро ширша, про яку не пише ніхто, — і одна помилка в нас самих, яку ми вже виправили.

Що саме змінив Google

Оголошення вийшло не в документації, а дописом Google Search Central у LinkedIn. Ключова фраза:

«We changed our JSON-LD extraction and are now only applying a single pass of HTML unescaping».

Google Search Central, LinkedIn, 21 серпня 2026 року

Щоб зрозуміти, про що йдеться, потрібен один факт про HTML. У звичайному тексті сторінки амперсанд пишеться як &amp;, а браузер показує його як «&». Але вміст тегу <script> — а розмітка JSON-LD живе саме в ньому — за специфікацією HTML вважається «сирим текстом»: HTML-сутності там не розкодовуються взагалі. Специфікація JSON-LD каже про це прямо: такі символи «залишаться екранованими після обробки».

Google завжди був до цього поблажливим і розкодовував сутності сам. До серпня — двічі поспіль, тож навіть двічі екранований &amp;amp; перетворювався на чистий «&». Тепер — один раз. Ось що це означає на прикладі назви компанії:

Записано в розмітціGoogle до 21.08Google заразОбробник за стандартом
Tom &amp; JerryTom & JerryTom & JerryTom &amp; Jerry
Tom &amp;amp; JerryTom & JerryTom &amp; JerryTom &amp;amp; Jerry
Tom \u0026 JerryTom & JerryTom & JerryTom & Jerry
Tom & JerryTom & JerryTom & JerryTom & Jerry

Зміна стосується лише другого рядка — подвійного екранування. Перший рядок у Google досі працює, але лише в Google. Останні два — правильні для всіх.

Як ми перевіряли

Три вибірки. Перша — 2 076 сторінок із першої десятки Google і джерел ШІ-відповідей за 48 комерційними запитами з нашого дослідження рекомендацій ШІ: це сайти, які реально отримують трафік за дорогими запитами. Друга — сайти наших клієнтів: головна і до чотирьох сторінок, що просуваються, з кожного, щоб великі сайти не переважили. Третя — 300 випадкових сторінок нашого власного сайту. Усі сторінки завантажені напряму, без платних сервісів.

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

Кого зачепила зміна: 1,6% сайтів

Три проблеми з JSON-LD і їхній масштаб 748 сайтів із топ-10 Google, які мають розмітку JSON-LD. Рахуємо сайти, а не сторінки: сторінки одного шаблону повторюють ту саму помилку. 1,6% зачепила зміна Google 12 сайтів: двічі екрановані символи, які Google більше не виправляє 23% сайтів на Shopify у розмітці символ, який не розкодує жоден обробник за стандартом 36% сайтів з HTML-сутностями правильно їх прочитає лише Google — стандарт вимагає розуміти їх буквально Три проблеми з JSON-LD і їхній масштаб 748 сайтів із топ-10 Google, які мають розмітку JSON-LD. Рахуємо сайти, а не сторінки: сторінки одного шаблону повторюють ту саму помилку. 1,6% зачепила зміна Google 12 сайтів: двічі екрановані символи, які Google більше не виправляє 23% сайтів на Shopify у розмітці символ, який не розкодує жоден обробник за стандартом 36% сайтів з HTML-сутностями правильно їх прочитає лише Google — стандарт вимагає розуміти їх буквально
Зміна, про яку писали всі, — найменша з трьох проблем. Найбільша — та, про яку не пише ніхто: третина сайтів записує розмітку так, що правильно її читає лише Google.

Із 748 сайтів із розміткою подвійне екранування знайшлося у 12. Понад половина з них — видання однієї медіагрупи: у них спільний шаблон, у якому опис автора проходить екранування двічі. Тому в цих сайтів зараз у розмітці біографії автора стоїть буквальний «&#39;» замість апострофа. Серед сайтів наших клієнтів таких два з 295.

Висновок простий: якщо ви не бачили в Search Console нових помилок структурованих даних після 21 серпня, майже напевно вас ця зміна не зачепила. Паніка в галузевих виданнях була непропорційною масштабу.

Проблема більша: Shopify і символи, які не розкодовує ніхто

Де зіпсовані символи трапляються найчастіше Частка сайтів, у яких у розмітці є сутність, двічі екранована або схована всередині JSON-екранування, — такі не розкодує правильно жоден обробник за стандартом. Сайти на Shopify 23% 11 із 47 сайтів із топу Google Інші платформи 2,3% 16 із 701 сайту з топу Google Сайти клієнтів 1% 3 із 295 сайтів Де зіпсовані символи трапляються найчастіше Частка сайтів, у яких у розмітці є сутність, двічі екранована або схована всередині JSON-екранування, — такі не розкодує правильно жоден обробник за стандартом. Сайти на Shopify 23% 11 із 47 сайтів із топу Google Інші платформи 2,3% 16 із 701 сайту з топу Google Сайти клієнтів 1% 3 із 295 сайтів
Розрив удесятеро. Це не властивість Shopify як такого: помилка сидить у шаблонах тем, де текст екранують для HTML, а потім ще раз пакують у JSON.

Є другий спосіб зіпсувати символ, і Google до нього стосунку не має. Сутність виявляється схованою всередині JSON-екранування: у коді стоїть \u0026amp;. HTML-розкодування її не бачить — амперсанда в тексті немає, — а після розбору JSON у значенні залишається буквальний «&amp;». Жоден обробник за стандартом це сміття не прибере.

Таке ми знайшли в 11 із 47 сайтів на Shopify в топі Google — це 23%. На всіх інших платформах — у 2,3%. Розрив удесятеро. Справа не в самій платформі, а в шаблонах тем: текст спершу екранують для HTML, а потім ще раз пакують у JSON фільтром, і сутність проходить наскрізь. Найчастіше страждає опис товару — він приходить із візуального редактора вже із сутностями всередині.

Чесне застереження. Google не документує, на якому етапі робить свій прохід розкодування — до розбору JSON чи після. Якщо після, то в цьому випадку він символ виправить. Але для всіх інших, хто читає розмітку за стандартом, значення зіпсоване, і перевірити, як вчинить Google, можна лише його власними інструментами.

Найбільша проблема: третина сайтів пише розмітку «лише для Google»

Сайти з топу Google і сайти наших клієнтів Частка сайтів із кожною проблемою серед тих, що мають JSON-LD: 748 сайтів із топу, 295 сайтів клієнтів PromoPilot. сайти з топ-10 Google сайти клієнтів Є розмітка JSON-LD 83% 81% HTML-сутності всередині розмітки 36% 23% Невалідний JSON 2,3% 1,7% Зачепила зміна 21 серпня 1,6% 0,7% Сайти з топу Google і сайти наших клієнтів Частка сайтів із кожною проблемою серед тих, що мають JSON-LD: 748 сайтів із топу, 295 сайтів клієнтів PromoPilot. сайти з топ-10 Google сайти клієнтів Є розмітка JSON-LD 83% 81% HTML-сутності всередині розмітки 36% 23% Невалідний JSON 2,3% 1,7% Зачепила зміна 21 серпня 1,6% 0,7%
Картина однакова за формою: зміна Google зачепила одиниці сайтів, а сутності в розмітці — масове явище. У невеликих сайтів їх менше, бо вони частіше користуються готовими плагінами, які генерують розмітку акуратно.

У 36% сайтів із топу Google і в 23% сайтів наших клієнтів усередині JSON-LD є звичайні HTML-сутності: &amp;, &quot;, &#39;. Google їх досі розуміє — одного проходу розкодування вистачає. Але це єдиний, хто так робить із власної волі. Стандарт вимагає читати їх буквально, тому будь-який інший споживач розмітки — інші пошуковики, валідатори, сервіси, що збирають дані про товари й компанії за специфікацією, — побачить у назві «Tom &amp; Jerry».

Які HTML-сутності трапляються в JSON-LD Кількість входжень у розмітці 1 650 сторінок із топу Google. Кожну з них стандартний обробник прочитає буквально, а не як символ. амперсанд (&amp;) 1 938 найчастіша — «&» у назвах компаній і товарів лапки (&quot;) 1 211 лапки всередині описів і заголовків апостроф (&#39;) 1 208 у двох варіантах запису — &#39; і &#039; інші числові 782 тире, спецсимволи, емодзі у вигляді кодів нерозривний пробіл 550 потрапляє з візуальних редакторів типографський апостроф 307 &rsquo; з автозаміни лапок Які HTML-сутності трапляються в JSON-LD Кількість входжень у розмітці 1 650 сторінок із топу Google. Кожну з них стандартний обробник прочитає буквально, а не як символ. амперсанд (&amp;) 1 938 найчастіша — «&» у назвах компаній і товарів лапки (&quot;) 1 211 лапки всередині описів і заголовків апостроф (&#39;) 1 208 у двох варіантах запису — &#39; і &#039; інші числові 782 тире, спецсимволи, емодзі у вигляді кодів нерозривний пробіл 550 потрапляє з візуальних редакторів типографський апостроф 307 &rsquo; з автозаміни лапок
Майже всі ці символи безпечно записувати в JSON як є. Екранувати всередині тегу script варто лише послідовності, які можна прийняти за його закриття.

Майже всі ці символи безпечно записувати в JSON як є: і амперсанд, і лапки-ялинки, і апостроф. Звичайні прямі лапки всередині рядка JSON екрануються зворотною косою рискою, а не HTML-сутністю. Єдине, чого всередині тегу script справді не можна, — послідовності, які браузер прийме за кінець скрипту. Для них, як і радить Google, є JSON-екранування: \u003C замість «<» і \u0026 замість «&».

Перевірили на собі — і знайшли

На нашому сайті розмітка є на всіх 300 перевірених сторінках, і подвійного екранування не знайшлося. Але дві сторінки потрапили в клас «лише для Google»: у хлібних крихтах назва англійської статті йшла в розмітку як «Web 2.0 &amp; Cascade Promotion».

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

Як перевірити й виправити свій сайт

Крок 1

Знайдіть сутності в розмітці

Відкрийте код сторінки, знайдіть блоки application/ld+json і пошукайте в них символ амперсанда. Будь-яка послідовність на кшталт &amp;, &quot;, &#39; або \u0026amp; усередині цих блоків — привід для правки. Перевірте хоча б по одній сторінці кожного шаблону: головну, товар, статтю, категорію.

Перевірка: усередині блоків JSON-LD немає жодної HTML-сутності. Амперсанд трапляється лише як сам символ або як \u0026.
Крок 2

Знайдіть місце, де текст екранується двічі

Майже завжди причина одна: у JSON потрапляє рядок, уже підготовлений для виведення в HTML. Шукайте в коді, звідки беруться значення розмітки: заголовок, опис, ім'я автора. Якщо перед пакуванням у JSON до них застосовується екранування для HTML — це і є помилка.

// Погано: рядок уже екранований для HTML — сутності підуть у JSON-LD
$title = htmlspecialchars($post['title']);
echo json_encode(['headline' => $title]);

// Добре: у JSON — вихідний текст, а прапорці самі перетворять & і < на \u0026 і \u003C
echo json_encode(['headline' => $post['title']],
    JSON_HEX_TAG | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE);
Перевірка: значення для розмітки беруться з вихідних даних, а не зі змінних, підготовлених для виведення на сторінку.
Крок 3

Якщо сайт на Shopify — перевірте тему

Шукайте в шаблоні розмітки фільтр екранування, застосований до фільтра json, і опис товару, що приходить із візуального редактора із сутностями всередині. Порядок фільтрів тут вирішує: екранувати для HTML треба те, що виводиться на сторінку, а в JSON — віддавати вихідний текст.

Перевірка: у розмітці товару немає послідовностей \u0026amp;, \u0026quot; і \u0026#39;.
Крок 4

Перевірте результат інструментами Google

Проженіть сторінку через перевірку розширених результатів і через перевірку URL у Search Console. Дивіться не лише на «помилок немає», а на самі значення полів: назву, опис, ім'я автора. Саме там видно буквальне «&amp;», яке валідатор помилкою не вважає.

Перевірка: значення у звіті виглядають так само, як на сторінці, — без сутностей і зайвих символів.

Часті запитання

Що саме змінив Google у розборі JSON-LD 21 серпня 2026 року?
Раніше Google знімав HTML-екранування з розмітки двічі, тепер — один раз. Тому двічі екранований символ, наприклад амперсанд, записаний як сутність від сутності, тепер потрапляє в значення не як символ, а як текст сутності. Звичайні, одноразово екрановані сутності Google досі розуміє.

Як зрозуміти, чи зачепила зміна мій сайт?
Відкрийте код сторінки й пошукайте всередині блоків JSON-LD сутності, записані двічі: після амперсанда йде слово amp, а потім ще одна сутність. У нашій перевірці таке знайшлося лише в 1,6% сайтів із топу Google і в 0,7% сайтів клієнтів, причому понад половина випадків — один шаблон однієї медіагрупи.

Чи треба прибирати з розмітки HTML-сутності, якщо Google їх розуміє?
Так, якщо вам важливо, щоб розмітку правильно читали не лише в Google. Стандарт JSON-LD вимагає розуміти такі сутності буквально, і будь-який обробник, що дотримується специфікації, побачить у значенні текст сутності замість символу. У нашій перевірці так записана розмітка в 36% сайтів із топу Google.

Як правильно записати амперсанд і лапки в JSON-LD?
Найпростіше як є: усередині тегу script амперсанд, апостроф і типографські лапки безпечні. Прямі лапки всередині рядка екрануються зворотною косою рискою за правилами JSON. Якщо потрібен повний захист від випадкового закриття тегу script, використовуйте JSON-екранування: \u0026 для амперсанда і \u003C для знака «менше».

Чому на Shopify зіпсовані символи трапляються частіше?
Не через саму платформу, а через шаблони тем. Текст спершу екранується для виведення в HTML, а потім пакується в JSON, і сутність виявляється схованою всередині JSON-екранування. У нашій вибірці так у 23% сайтів на Shopify проти 2,3% на інших платформах.

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

Джерела: допис Google Search Central у LinkedIn (21 серпня 2026), специфікація JSON-LD 1.1 W3C, розділ 7.2, специфікація HTML (WHATWG) про сирі текстові елементи. Власні дані — 3 167 сторінок з 1 271 сайту, завантажених 29 вересня 2026 року: топ-10 Google за 48 комерційними запитами, сайти клієнтів PromoPilot (без назв) і 300 сторінок promopilot.link.

Подивитися тарифи PromoPilot

Поділитися:
Каскадний лінкбілдинг

3 рівні посилань + крауд для максимального ефекту. Спробуйте безкоштовно!

Спробувати безкоштовно
Бонус $30 при реєстрації

Почніть просування сайту вже зараз — бонус нараховується автоматично

Отримати бонус
Як працюють каскади
L1 Статті на трастових майданчиках з DR 30–70
L2 Підсилення L1 посиланнями з блогів та Web 2.0
L3 Індексація та підтримка через профілі та коментарі
C Крауд-посилання для природного профілю
Докладніше
Зміст