Статья 29.09.2026 34

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 Крауд-ссылки для естественного профиля
Подробнее
Содержание