web24.team

Как подготовить сайт к поиску LLM (GEO-чек-лист)

Технические приёмы, которые прямо сейчас влияют на то, увидит ли вас нейросеть: robots.txt, llms.txt, JSON-LD, IndexNow и тд.

Тут не будет советов «пишите качественный полезный контент» — это и так все знают. Ниже только технические рычаги, которые прямо сейчас решают, увидит ли вашу страницу нейросеть или ответ по вашей теме уйдет к конкуренту. Примеры на JS/Astro, но принцип одинаковый для любого стека.

1. Пустите ИИ-краулеров в robots.txt

По умолчанию блокировать никого не нужно, но если пару лет назад кто-то в приступе паранойи закрыл ботов через Disallow: /, самое время это найти. Модели тренируются и отвечают только на то, что смогли прочитать.

User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: CCBot
Allow: /

User-agent: *
Allow: /

Sitemap: https://example.com/sitemap-index.xml

Хотите отдать контент в реальные ответы ChatGPT/Perplexity, но не в обучающую выборку — гуглите разницу между GPTBot и OAI-SearchBot: первый про обучение, второй про поиск в моменте, блокируются по отдельности.

2. Заведите llms.txt

Черновой стандарт (llmstxt.org), который уже читают некоторые агенты и внутренние RAG-тулы. Обычный markdown-файл в корне сайта со списком важных страниц и описанием каждой в одну строку.

# Название компании

> Одно предложение о том, чем вы занимаетесь.

## Блог
- [Заголовок статьи](https://example.com/blog/slug/): одно предложение о содержании

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

3. Отдавайте готовый HTML, а не пустой div

GPTBot, ClaudeBot и большинство answer-engine краулеров не выполняют JavaScript. Если у вас SPA на чистом client-side рендере, модель увидит <div id="root"></div> и всё. Решение — SSR или статическая генерация: Next.js, Nuxt, Astro и подобные по умолчанию отдают готовый HTML.

Быстрая проверка прямо сейчас:

curl -s https://ваш-сайт.ru/статья/ | grep -c "<p"

Если ноль — у вас проблема, и не только с LLM: классический Googlebot тоже режет бюджет на рендер JS.

4. Пишите заголовки как вопросы и сразу давайте ответ

RAG-системы режут страницу по заголовкам и чаще всего забирают кусок сразу после ближайшего h2/h3. Значит, заголовок должен звучать как реальный запрос, а первое предложение под ним — быть прямым ответом, а не разгоном на три абзаца.

Плохо:

## Но мы сделали немного иначе

Хорошо:

## Может ли LLM заменить аналитика?
Нет — модель ускоряет рутинные срезы, но не проверяет качество данных и не знает контекст кампаний.

5. JSON-LD: Article, FAQPage, HowTo

Разметка не поднимет вас в ранжировании сама по себе, но именно из неё Google AI Overview и аналогичные фичи в Яндексе чаще всего берут заголовок вопроса и точный ответ. Работает для FAQ-блоков и пошаговых инструкций — но текст в разметке должен слово в слово совпадать с тем, что видно на странице. Разметка без видимого текста — спам, за который штрафуют.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Может ли LLM заменить аналитика?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Нет — модель ускоряет рутинные срезы, но не проверяет качество данных."
    }
  }]
}
</script>

6. Настройте IndexNow для Яндекса и Bing

Yandex и Bing (а значит и Copilot) поддерживают протокол IndexNow — можно пнуть его сразу после публикации страницы, вместо того чтобы ждать планового обхода. Google в эту программу не входит, для него — Search Console API.

curl "https://yandex.com/indexnow?url=https://example.com/blog/novaya-statya/&key=ваш-ключ"

Ключ — случайная строка, которую нужно заранее выложить файлом /ваш-ключ.txt в корне сайта.

7. Ставьте один canonical URL на страницу

Если статья доступна как /blog/slug, /blog/slug/ и /blog/slug/?utm=... — для краулера это три разные страницы с одинаковым текстом, и не факт, что зацепится нужная. Ставьте <link rel="canonical"> явно, даже если и так кажется очевидным.

<link rel="canonical" href="https://example.com/blog/slug/" />

Проверьте свою страницу

Вставьте адрес любой страницы своего сайта — заберём её так же, как это делают ИИ-краулеры (без выполнения JavaScript), и прогоним по автоматизируемым пунктам из чек-листа выше.

Коротко

Нужно ли блокировать ИИ-краулеров в robots.txt?

Нет, если хотите, чтобы вас видели LLM и answer-engines. Блокировка полностью убирает сайт из обучающих данных и часто — из ответов с браузингом.

Что такое llms.txt и обязателен ли он?

Черновой неофициальный стандарт — файл-индекс сайта для LLM-агентов. Не обязателен, но дёшево сделать и не может навредить.

Помогает ли JSON-LD разметка ранжированию в Google и Яндексе?

Напрямую — нет, но она резко повышает шанс, что именно ваш ответ вытащат в AI Overview или голосовой ответ, если текст на странице совпадает с разметкой.

Что быстрее долетает до Яндекса — сайтмап или IndexNow?

IndexNow: краулер не ждёт планового обхода по сайтмапу, а забирает URL почти сразу после пинга. Google в IndexNow не участвует — для него нужен Search Console API.

Если не хотите разбираться со всем этим сами — пишите нам через форму на сайте, настроим GEO и SEO под ваш стек.