Рендеринг JavaScript и индексация
Рендеринг JavaScript — процесс, в котором поисковый робот выполняет скрипты страницы, чтобы увидеть содержимое, которого нет в исходном HTML. Google это умеет, но делает в два этапа и не мгновенно; другие роботы и парсеры умеют далеко не всегда.
Как это происходит
- Робот скачивает исходный HTML и сразу индексирует то, что в нём есть.
- Страница попадает в очередь на отрисовку.
- Когда доходит очередь, скрипты выполняются и индекс дополняется.
Между первым и третьим шагом проходит от часов до недель. Для новостей и быстро меняющихся страниц это критично, для остального — терпимо.
Когда возникают проблемы
| Ситуация | Риск |
|---|---|
| Весь контент подгружается скриптом | Задержка индексации, иногда потеря части текста |
| Ссылки сделаны не тегом a, а обработчиком клика | Робот по ним не переходит — страницы не находятся |
| Контент появляется после действия пользователя | Робот его не увидит: он не кликает |
| Скрипты закрыты в robots.txt | Отрисовка невозможна |
| Скрипт ошибся на медленном соединении | Страница индексируется пустой |
Как проверить свою страницу
Самый простой способ — отключить JavaScript в браузере и открыть страницу: то, что останется, робот видит сразу и наверняка. Второй способ — сравнить исходный код страницы с отрисованным деревом в инструментах разработчика. Если критичный текст и ссылки есть только во втором — есть о чём подумать.
Что делать
Не отказываться от JavaScript, а держать в исходном HTML главное: текст, заголовки, внутренние ссылки и метаданные. Всё остальное может подгружаться как угодно. Для больших сайтов обычно применяют серверный рендеринг или предварительную генерацию страниц.
Другие роботы умеют меньше
Робот Google отрисовывает страницы, но многие другие — краулеры соцсетей, сборщики превью ссылок, часть ИИ-агентов — читают только исходный HTML. Если заголовок и описание появляются на странице скриптом, ссылка на ваш сайт в мессенджере покажется пустой карточкой.