Тут не будет советов «пишите качественный полезный контент» — это и так все знают. Ниже только технические рычаги, которые прямо сейчас решают, увидит ли вашу страницу нейросеть или ответ по вашей теме уйдет к конкуренту. Примеры на 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 под ваш стек.