Сайт для AI, а не только для Google

Что на самом деле нужно, чтобы ваш сайт понимали языковые модели: рабочие приёмы, честная оценка llms.txt и один факт, который важнее всей микроразметки.

Раньше вопрос звучал просто: «как попасть в Google?». Сегодня к поисковикам добавились языковые модели — ChatGPT, Claude, Perplexity. Они тоже ходят по сайтам, тоже что-то забирают и всё чаще становятся источником, из которого человек узнаёт ответ, так и не открыв ваш сайт.

Я недавно проходил этот путь на собственном блоге и хочу рассказать, что из «оптимизации под AI» реально работает, а что пока — модный шум.

Главное: AI-краулеры не выполняют JavaScript

Если запомнить из статьи один факт, пусть будет этот.

Googlebot умеет рендерить JavaScript — он загрузит страницу, дождётся выполнения скриптов и увидит итоговый результат. AI-краулеры так не умеют. GPTBot, ClaudeBot, PerplexityBot читают только тот HTML, который сервер отдал сразу. Скрипты они могут скачать как текст, но не выполняют.

Вывод простой и неприятный для многих современных сайтов: если контент появляется только после запуска JS, для языковых моделей его не существует. Не «плохо индексируется», а буквально нет.

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

curl -s https://example.com/page | grep "фрагмент вашего текста"

Если команда ничего не нашла — ваш текст не увидит ни одна модель.

Что действительно помогает

Структурированные данные (JSON-LD)

Это разметка, которая явным образом сообщает машине смысл страницы: кто автор, что это за материал, когда опубликован, о чём он. Модель не должна догадываться из вёрстки — вы говорите прямо.

Минимальный набор для блога — Person (кто вы), WebSite (что за сайт) и BlogPosting на каждой статье:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Person",
      "@id": "https://example.com/#person",
      "name": "Имя Фамилия",
      "jobTitle": "Разработчик",
      "knowsAbout": ["Backend", "AI", "Fintech"],
      "sameAs": ["https://github.com/…", "https://t.me/…"]
    },
    {
      "@type": "BlogPosting",
      "headline": "Заголовок статьи",
      "datePublished": "2026-09-05T10:00:00+05:00",
      "author": { "@id": "https://example.com/#person" }
    }
  ]
}
</script>

Обратите внимание на @id и ссылку author: так автор статьи и человек — это одна сущность, а не два похожих текста. Для машины разница принципиальна.

Отдельно стоит заполнить knowsAbout и sameAs — это прямой ответ на вопросы «в чём он разбирается» и «где ещё он есть в сети».

Обычные вещи, которые никуда не делись

  • Осмысленный HTML. Один h1, нормальные h2, article, time с атрибутом datetime.
  • meta description — короткое честное описание страницы.
  • canonical и hreflang, если у сайта несколько языков: иначе версии конкурируют между собой.
  • Даты в машинном формате2026-09-05T10:00:00+05:00, а не «5 сентября».
  • RSS и sitemap.xml — старые, скучные и по-прежнему работающие способы сказать «вот весь мой контент».
  • robots.txt, где вы осознанно решаете, кого пускать.

Текст, который удобно цитировать

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

А что с llms.txt

Про этот файл сейчас много пишут, поэтому скажу прямо, без маркетинга.

llms.txt — это текстовый файл в корне сайта с кратким описанием проекта и списком материалов, специально для языковых моделей. Идея хорошая: дать машине готовую выжимку вместо блуждания по вёрстке.

Но по состоянию на 2026 год стоит трезво понимать:

  • это не стандарт — ни W3C, ни IETF за ним не стоят, это community-конвенция;
  • ни OpenAI, ни Google, ни Anthropic публично не обязывались его читать в своих продакшн-системах;
  • по данным наблюдений за сотнями миллионов визитов AI-ботов, обращений именно к llms.txt — доли процента;
  • внедрили его порядка 10% сайтов, в основном технических.

Зато он вполне живой в другой нише: его читают инструменты разработчика — IDE-агенты вроде Cursor и Claude Code, MCP-серверы, встроенные ассистенты. Для документации и технических проектов это уже приносит пользу.

Мой вывод такой: сделать llms.txt стоит — он занимает несколько строк и генерируется автоматически. Но ожидать от него роста трафика из ChatGPT не нужно. Это ставка на будущее, а не рабочий канал сегодня.

Пускать ли AI-ботов вообще

Отдельный вопрос, на который каждый отвечает сам.

Через robots.txt можно закрыть GPTBot, ClaudeBot, Google-Extended, CCBot — тогда ваш контент не пойдёт в обучение. Но вместе с этим вы теряете и шанс, что модель сошлётся на вас в ответе пользователю.

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

Как проверить себя

Быстрый чек-лист, который можно пройти за пять минут:

  1. curl вашей страницы показывает текст статьи? Если нет — начинайте отсюда, остальное не имеет смысла.
  2. Есть ли на странице блок application/ld+json и валиден ли он?
  3. Связаны ли автор статьи и страница «Обо мне» через общий @id?
  4. Проставлены ли canonical, hreflang, meta description?
  5. Открыты ли sitemap.xml и RSS?
  6. Кого вы пускаете в robots.txt — вы это решали или оно просто так вышло?

Итог

Вокруг «оптимизации под AI» уже успел вырасти слой мифов и платных методик. На практике всё сводится к вещам, которые хороший сайт делает и без всякого AI: отдавать текст сервером, размечать смысл явно, писать понятно и не прятать контент за скриптами.

Хорошая новость в том, что это тот редкий случай, когда работа на машину совпадает с работой на человека.