1. Главная
  2. Docs
  3. Глоссарий
  4. Извлекаемость контента

Извлекаемость контента

10

Извлекаемость контента — способность страницы быть корректно разобранной автоматической системой без человека: текст присутствует в исходном HTML, смысл разделён на блоки, доступ ничем не закрыт. Практическая роль: это нижний этаж оптимизации под генеративный поиск — неизвлекаемый контент не существует ни для цитирования, ни для ответов.

Чистый HTML против JS-рендеринга

Большинство ИИ-краулеров не исполняют скрипты. Страница запрашивается как простой документ: получили HTML — разобрали и ушли. Рендеринг требует полноценного браузера и стоит кратно дороже по времени и вычислениям, поэтому он либо отсутствует, либо применяется избирательно к малой доле адресов. Поисковые системы рендерят охотнее, но и у них это отложенная очередь.

Следствие для SPA. Приложение, собирающее текст на клиенте, отдаёт краулеру пустой каркас с корневым элементом и скриптами: контент существует для браузера и не существует для системы. Серверный рендеринг или предгенерация возвращают текст в исходный HTML, скрипты остаются для поведения.

Диагностическая разница: исходный код против инспектора. Инспектор DOM показывает уже отрендеренное дерево — то, что видел бы человек; исходный код страницы показывает то, что получает простой клиент. Для извлекаемости важен второй.

Компромисс для SPA — предрендер. Полный отказ от клиентского рендеринга не обязателен: генерируйте статический HTML на этапе сборки или первым ответом сервера, а скрипты оставьте для интерактива. Критерий один — текст в исходном ответе сервера; каким путём он туда попал, системам безразлично.

Семантическая структура и «один смысл — один блок»

Заголовки — каркас смысла. Иерархия заголовков делит страницу на тематические блоки, и система, режущая страницу на фрагменты, опирается на эти границы. Оформление заголовков стилями вместо тегов структуру убирает: смысл остаётся, разметка теряется.

Один смысл — один блок. Утверждение не должно быть размазано по странице: вопрос, ответ и условия — в одном фрагменте, который переживёт нарезку. Это то же правило, что и чанкинг документов в RAG-системах: блок, целиком содержащий мысль, доезжает до контекста, разорванный — тонет (подробнее: чанкинг).

Списки и таблицы — где уместно. Перечни — списками, сравнения — таблицами с настоящими тегами: связи данных тогда читаются напрямую. Сверстанные блоками «таблицы» сохраняют вид для человека, но теряют связи между ячейками. Ответ на главный вопрос страницы — в первом смысловом блоке, а не в середине.

Порядок блока — от главного к частному. Системы и люди читают страницу по-разному: человек сканирует глазами и возвращается, конвейер обработки идёт последовательно и может обрезать хвост. Опасна обратная композиция — длинное вступление, потом суть: суть рискует не доехать. Ставьте вывод первым, доказательства — следом.

Доступность, скорость, стабильность

Авторизация — абсолютная граница. Контент за логином не существует для внешних систем; если часть его должна быть видна, она должна отдаваться без сессии. Попапы и куки-баннеры безвредны, пока контент лежит в HTML под оверлеем, и становятся барьером, когда сервер до согласия отдаёт заглушку.

Таймауты бота — секунды. Медленный первый байт и долгая загрузка означают недобор обхода: краулер не ждёт. Стабильность кодов важнее пиковой скорости — ошибки 5xx и 429 по ИИ-агентам означают, что вы их режете, возможно не зная (как это найти в логах — в статье «Краулеры ИИ-систем»).

Бот-защита CDN — тихая потеря. Challenge-страницы нерешаемы для краулера: он получает код проверки вместо контента и уходит. После включения «борьбы с ботами» сайт может выпасть из источников без единой ошибки в интерфейсе — проверяется только логами.

Где уместно и когда нужно

Первый кандидат — недавние изменения платформы. Редизайн, смена CMS, переезд на SPA, включение бот-защиты — после каждого проверяйте, что контент по-прежнему виден без браузера. Большинство аварий извлекаемости появляются именно так, а не постепенно.

Симптомы проблемы. Страницы в поиске есть, в ИИ-ответах по тем же темам сайта нет; точная фраза со страницы не находится системами; в логах — 403 и 429 для ИИ-агентов.

Когда запас уже есть. Статический сайт с серверным HTML извлекаем по построению; следующие вложения разумнее направить в формулировки и фактуру, чем в технику.

Типичные аварии

  • Текст в canvas и картинках. Отрисованный скриптом или опубликованный изображением текст не извлекается без распознавания, которое применяется редко и не гарантируется.
  • Бесконечная прокрутка. Контент за первым экраном подгружается скриптом, прямых адресов нет — для системы существует только видимая часть.
  • Ленивая загрузка без фолбэка. Блоки с заглушками вместо содержимого отдают пустоту; серверный первый экран или запасной вариант без скриптов решают.
  • Заглушки для «подозрительных» ботов. Правила бот-фильтрации, отдающие пустой шаблон вместо контента, вырезают целые категории ИИ-агентов незаметно для владельца.
  • Контент только в PDF. Извлекается хуже HTML: без разметки блоков, с переменным качеством текстового слоя; критичные факты должны быть в HTML.

Самопроверка: страница без CSS и JavaScript

Протокол из трёх шагов. Первый — открыть исходный код страницы (запросом HTTP-клиентом или через «просмотр кода») и прочитать его как текст: смысл сохраняется? Второй — отключить в браузере CSS и JavaScript: контент читается, навигация не обязательна для смысла? Третий — найти точную фразу со страницы поиском. Если без стилей страница — мешок несвязанных строк, дорабатывать нужно до любых вложений в контент.

Проверка дешёвая и должна идти раньше контента. Минуты на страницу; эффект контентной работы на неизвлекаемой странице — ноль при любой глубине экспертизы.

Частые вопросы

Googlebot рендерит JavaScript — можно не беспокоиться?

Рендерит, но с очередью и задержкой в дни; большинство ИИ-краулеров не рендерят вовсе. Ориентируйтесь на худший случай: контент в исходном HTML.

Поможет ли отдельная версия для ботов?

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

Обязательно ли верстать таблицы тегами?

Желательно: связи строк и столбцов читаются напрямую. Блочная вёрстка сохраняет вид для человека, но теряет структуру данных для системы.

Как посмотреть страницу глазами краулера?

Запросить её HTTP-клиентом с тем же user-agent и прочитать ответ как текст; для диагностики подмена агента допустима, верификация чужих запросов — отдельная задача с обратным DNS.

Влияет ли скорость на попадание в ответы, как на ранжирование?

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

Что чинить в первую очередь?

По убыванию эффекта: контент в исходном HTML, доступность без заглушек, структура заголовков и блоков, таблицы и списки тегами, затем уже скорость.

Что почитать по теме