Главное Авторские колонки Пресс-релизы Промо Вакансии Вопросы
159 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как нейросети читают ваш сайт и почему JS-рендер прячет ваш контент

Нейросеть не читает страницу целиком, как человек. Она режет текст на короткие фрагменты, переводит их в числовые векторы, сравнивает с запросом пользователя и берет в ответ только несколько самых близких кусков. Единица, за которую идет борьба, - отдельный фрагмент текста, не страница.
Мнение автора может не совпадать с мнением редакции

Второй момент техничнее. Многие краулеры нейросетей не выполняют JavaScript. Если тело страницы рисует скрипт уже в браузере, такой краулер получает пустую оболочку: меню, подвал, каркас — и ни одного слова о вашем продукте. Человек видит полноценную страницу, бот — заготовку без смысла.

Для продуктовой команды отсюда два вывода. Контент должен приходить готовым в исходном HTML. И текст внутри страницы стоит собирать фрагментами, каждый из которых читается отдельно. Ниже — как это устроено и что проверить за вечер.

Что значит «нейросеть читает сайт» с технической стороны

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

Механика по шагам:

  1. Текст сайта заранее нарезается на чанки — фрагменты по 200-500 токенов
  2. Каждый чанк переводится в вектор — набор чисел, который кодирует смысл куска
  3. Система оценивает близость векторов к запросу и достает несколько самых релевантных фрагментов
  4. Из этих фрагментов собирается ответ, под ним — ссылки на источники

Главное следствие: модель цитирует конкретный абзац. Поэтому каждый кусок текста конкурирует за место в ответе сам по себе, в отрыве от соседних.

Что такое чанк и почему ваш абзац конкурирует в одиночку

Чанк — это короткий самостоятельный фрагмент текста, который система рассматривает отдельно от остального. Границы чанков проходят по заголовкам: модель делит страницу по ее структуре.

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

Из той же логики — не смешивать в одном абзаце цену, кейс и этапы работы. Один абзац — один законченный ответ на один вопрос. Тогда система достает блок целиком и вставляет в ответ без потери смысла.

Почему JavaScript-рендер прячет контент от нейросетей

Часть краулеров нейросетей не исполняет JavaScript. Краулер ChatGPT не рендерит скрипты; Gemini и Copilot — могут. Если сайт собран как SPA на React или Angular и весь текст подставляется скриптом уже в браузере, краулер без рендеринга видит пустой каркас.

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

Краулеры устроены иначе, чем человек в браузере:

  1. Не кликают, не скроллят, не наводят курсор — то, что подгружается по действию, для них недоступно
  2. Идут по ссылкам примерно на пять уровней вглубь — слишком глубокая вложенность отрезает страницы
  3. Читают HTML, JSON-LD и XML, а JavaScript игнорируют

Отсюда вывод: текст, который видит пользователь, и текст, который получает нейросеть, — разные вещи, если страницу рисует скрипт.

Как за минуту проверить, видит ли нейросеть ваш текст

Два быстрых способа, оба без инструментов.

Способ первый — исходный код страницы. Откройте ее, нажмите Ctrl+U (или правый клик — «Просмотр кода страницы»). В исходном HTML найдите предложение из описания вашей услуги. Если предложения там нет, краулер без рендеринга его не увидит.

Способ второй — отключить JavaScript в браузере и перезагрузить страницу. Если основной текст исчез, его рисует скрипт — значит, та же помеха ждет краулеры, которые JS не выполняют.

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

Что чинить: server-side rendering и чистый HTML

Корень проблемы — рендеринг на стороне клиента, когда HTML собирается в браузере. Решение — отдавать готовый HTML с сервера:

  1. Server-side rendering (Next.js, Nuxt.js): тело страницы приходит уже собранным, до выполнения скриптов
  2. Статическая генерация или пререндер: вариант для страниц, которые меняются редко
  3. Семантические теги HTML5 (section, article, header), и сразу за section — заголовок h2-h6; так парсеру проще держать структуру и резать чанки по границам

Отдельная, но частая помеха — запрет ботов в robots.txt. Если краулеры нейросетей закрыты в robots.txt, даже аккуратный HTML до них не дойдет. Проверьте, что GPTBot и другие AI-боты не закрыты.

Как разметить страницу, чтобы фрагменты извлекались правильно

Когда контент доступен в HTML, остается оформить его под нарезку. Параметры извлекаемой страницы:

  1. Иерархия заголовков: H1 — название, H2 — разделы, H3 — подразделы; по этим границам и режутся чанки
  2. Заголовок-вопрос: H2 формулируется как вопрос пользователя, прямой ответ — в первых двух-трех строках под ним
  3. Один тезис на абзац: короткие абзацы без монолитов, каждый закрывает один вопрос
  4. Определения внутри текста: термин расшифровывается тут же, без ссылки на отдельный глоссарий, и нейросеть точнее связывает понятие
  5. Конкретика вместо общих слов: цифры, шаги, факты; точные данные в тексте поднимают шанс попасть в ответ
  6. Повтор ключевой мысли в разных формулировках: одна идея, сказанная иначе в разных разделах, надежнее попадает в выдачу

Почему это касается коммерческих страниц, а не только блога

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

HITZ — GEO-агентство. Помогаем брендам попадать в ответы нейросетей и поисковиков. Telegram: t.me/hitzmedia. Сайт: hitz.agency.

Автор статьи Марат Аксанов — Performance-маркетолог.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.