Двадцать лет мы оптимизировали сайты под Google. Пора учиться объяснять их машинам, которые читают сайт вместо человека.
Поисковик показывал человеку десять синих ссылок — дальше человек думал сам. AI-агент так не делает: он читает страницу, понимает её и сразу отвечает пользователю или принимает решение — кого порекомендовать, к кому обратиться, что закупить. Если агент вас не понял — вы не «ниже в выдаче», вас просто нет в ответе.
Хорошая новость: новый сайт не нужен. Нужно навести порядок в нескольких слоях, и работают они только вместе.

Три слоя: привратник, путеводитель, паспорт
Коротко суть:
- robots.txt — решает, кого пускать и куда; указывает путь к
sitemap.xml. Ссылку наllms.txtможно оставить в комментарии для людей, но боты комментарии не читают — это не директива. - llms.txt — человекочитаемая выжимка в корне сайта: кто вы, услуги, контакты, главные страницы. Поисковик ползёт по всему сайту и догадывается. Агенту вы даёте готовую карту.
- Микроразметка Schema.org / JSON-LD — машинный паспорт страницы: не «красивый текст про компанию», а структурно — организация, контакты, услуги и связи между ними. Без неё агент догадывается. С ней — знает.
Привратник впускает и открывает карту обхода, путеводитель объясняет смысл, паспорт подтверждает факты. Уберите любой слой — цепочка рвётся.
Честная оговорка: llms.txt — стандарт молодой, скорее emerging convention, чем утверждённая норма, и не все боты читают его одинаково. Google прямо говорит, что не использует его ни в Поиске, ни в своих AI-функциях. Но стоит он полчаса работы, а вреда не несёт — поэтому в моём чек-листе он есть. Гарантий цитирования или позиций не даёт ни один из трёх слоёв.
1. База: делайте контент понятным
Никакой robots.txt не спасёт страницу, которую не понять ни человеку, ни машине.
- Одна страница — одна главная тема.
- Чёткий H1, логичные H2/H3, короткие абзацы.
- Прямые ответы, определения, списки, FAQ.
- Автор, дата публикации и дата обновления.
- Источники, контакты, страница «О нас», редакционная политика.
2. Структура сайта
- ЧПУ-URL, хлебные крошки, canonical,
sitemap.xml. - Семантический HTML:
<header>,<main>,<article>,<nav>,<footer>. - Связанные материалы и внутренняя перелинковка.
- Не прячьте важный текст только в JavaScript.
- Мобильная версия и скорость загрузки — обязательны.
3. robots.txt — правила обхода
Файл в корне сайта управляет доступом ботов к разделам и указывает путь к карте сайта:
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
# Ссылка на описание для LLM
# https://example.com/llms.txt
Канонического способа сослаться на llms.txt из robots.txt пока нет: директива Sitemap: работает только для sitemap.xml, а строка с # https://.../llms.txt — комментарий для людей и документирования, боты её игнорируют. Полезно оставить её в файле как напоминание редактору, но не ждите, что crawler найдёт llms.txt через robots.txt.
4. llms.txt — краткая карта сайта для LLM
Файл в корне (/llms.txt) помогает кратко объяснить назначение сайта, важные разделы, документацию, контакты и ключевые материалы.
Формат задаёт предложение llmstxt.org: это обычный Markdown с фиксированным порядком блоков.
# Example Site
> Блог и база знаний по AI и SEO.
Для кого сайт, о чём он и кто его ведёт — два-четыре предложения без воды.
Last updated: 2026-06-02
## Guides
- [AI SEO: с чего начать](https://example.com/guide/ai-seo/): Три слоя и порядок внедрения.
## About
- [Контакты](https://example.com/contact/): Как связаться с автором.
## Optional
- [Архив](https://example.com/archive/): Можно пропустить, если контекст ограничен.
Что здесь обязательно, а что нет:
# Заголовок— единственный обязательный элемент. Дальше — цитата-резюме и свободный текст без заголовков.- Разделы
##со списками ссылок вида- [название](абсолютный URL): описание. - Раздел
Optional— особый: агент вправе его отбросить, когда контекста мало. Туда идёт второстепенное. - Строка
Last updated— моя привычка, а не часть предложения: редактору видно, когда файл пересматривали.
Главное правило — курировать, а не выгружать. SEO-плагины умеют генерировать llms.txt автоматически и кладут туда все посты подряд. Получается второй sitemap, только хуже: агент тратит контекст на список из полусотни ссылок и всё равно не понимает, что на сайте главное. Мой ориентир — до 20 ссылок, не больше 12 на раздел, файл до 8 КБ. Это эвристика, а не требование спецификации.
llms.txt не заменяет sitemap.xml: sitemap — полный машинный список URL для обхода, llms.txt — курированная человекочитаемая выжимка смысла (кто вы, ключевые страницы). Они дополняют друг друга: sitemap помогает найти всё, llms.txt — быстро понять главное.
Markdown-версии страниц — по желанию
То же предложение советует отдавать чистую Markdown-версию страницы рядом с HTML: по тому же адресу с добавленным .md (/guide.html → /guide.html.md) либо index.html.md для адресов без имени файла — и ссылаться из llms.txt на неё. Агенту не нужно продираться через меню, баннеры и скрипты.
Это усиление второго слоя, а не четвёртый слой. Два правила:
- Ссылайтесь на
.mdтолько когда он реально отдаётся: ответ200, тот же текст, что на странице. Не выводите адрес по шаблону — проверьте запросом. Сервер, который на несуществующий.mdотвечает страницей «не найдено» с кодом200, — самая частая ловушка. - Нет Markdown-версий — оставляйте обычные ссылки. WordPress из коробки их не отдаёт; на этом блоге их тоже пока нет, и в моём
llms.txtссылки ведут на HTML.
5. Микроразметка / Schema.org
JSON-LD — предпочтительный формат. Рекомендуемые типы:
| Тип страницы | Schema.org |
|---|---|
| Блог | Article, BlogPosting |
| FAQ | FAQPage |
| Инструкции | HowTo |
| Компания | Organization |
| Автор | Person |
| Навигация | BreadcrumbList |
| Общие страницы | WebPage |
Минимальный шаблон для статьи:
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "...",
"description": "...",
"author": { "@type": "Person", "name": "..." },
"datePublished": "2026-06-14T15:26:32+03:00",
"dateModified": "2026-06-14T15:26:32+03:00",
"mainEntityOfPage": "URL"
}
Google рекомендует полный ISO 8601 с временем и часовым поясом, а не только дату YYYY-MM-DD.
Размечайте только то, что посетитель видит на странице, и не выдумывайте рейтинги и награды. FAQPage и HowTo остаются корректными типами Schema.org, но расширенных результатов в Google по ним больше нет — ставьте их ради фактов, а не ради сниппета.
6. Что особенно любят AI-системы
- Краткие summary-блоки в начале материала.
- Термин → определение → пример.
- Списки, таблицы, чек-листы.
- Q&A и блоки «Коротко» / TL;DR.
- Alt-текст у изображений и подписи к иллюстрациям.
- Транскрипты для видео и аудио.
7. Управление AI-ботами
Сначала о том, чем robots.txt не является: это не защита доступа. Файл публичный, соблюдают его добровольно, а строка Disallow ещё и подсказывает, где у вас интересное. Приватное закрывайте авторизацией и сетевыми правилами; в robots.txt — только дубли, поиск по сайту и служебные пути.
«AI-бот» — не одна сущность. У крупных вендоров три разных роли, и решение по каждой отдельное:
| Роль | Примеры токенов | Что решаете |
|---|---|---|
| Обучение моделей | GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot |
Отдавать ли контент в обучение |
| Поиск и ответы | OAI-SearchBot, Claude-SearchBot, PerplexityBot |
Быть ли в AI-поиске и ссылках |
| Запрос по действию пользователя | ChatGPT-User, Claude-User, Perplexity-User |
Почти ничего: часть таких агентов robots.txt не соблюдает |
Отсюда типичные ошибки:
- Закрыли
GPTBotи думают, что ушли из ChatGPT-поиска. Нет: за поиск отвечаетOAI-SearchBot. Точно так жеGoogle-Extended— неGooglebot, на обычный поиск он не влияет. - Завели для бота отдельную группу и забыли про общие запреты. По RFC 9309 бот берёт самую точную группу и в
User-agent: *уже не заглядывает. Если написатьUser-agent: GPTBot/Allow: /, запреты из*для него перестают действовать — продублируйте их внутри группы. - Скопировали список токенов из статьи двухлетней давности. Список меняется: сверяйтесь с документацией вендора при каждой ревизии, а не с чужим постом — включая этот.
8. Чек-лист перед публикацией
- [ ] Понятный title и H1
- [ ] Summary и FAQ на месте
- [ ] Автор и дата обновления указаны
- [ ] Schema.org / JSON-LD внедрена
- [ ]
sitemap.xmlобновлён - [ ]
robots.txtнастроен - [ ]
llms.txtподготовлен — курированный, а не выгрузка плагина - [ ] Внутренняя перелинковка есть
Итог
Сайт остаётся прежним для людей. Просто теперь его понимают и машины. В мире, где подрядчика всё чаще выбирает агент, а не человек, — это уже не «приятно иметь», а гигиена.
Формула: хороший контент + понятная структура + robots.txt + llms.txt + schema.org = сайт, который понимают и люди, и AI.
Подходит для блогов, корпоративных сайтов, документации, интернет-магазинов и баз знаний.
Артефакты для агента: три слоя за один вечер
Теория выше — теперь практика. Собрал открытый репозиторий (MIT), содержимое которого читатель может отдать
своему AI-агенту (Cursor, Claude, ChatGPT и др.) и получить черновики всех трёх слоёв под свой сайт.
Начинался он как генератор llms.txt, теперь это набор из четырёх скиллов и линтера.
Открыть репозиторий: ai-llms-generator на GitHub
| Что | Слой | Для чего |
|---|---|---|
/audit-robots-ai-bots |
1 | Разбор robots.txt и черновик политики по ролям ботов |
/generate-llms-txt (SKILL.md, PROMPT.md) |
2 | Черновик курированного llms.txt и заметка для robots.txt |
/draft-json-ld |
3 | Черновик JSON-LD из фактов, видимых на странице |
/aio-site-audit |
все | Аудит трёх слоёв с таблицей «статус — что чинить» |
scripts/aio_lint.py |
все | Линтер без зависимостей: проверяет живой сайт из терминала или CI |
example-llms.txt, template-llms.txt |
2 | Курированный пример для этого блога и пустой шаблон |
Cursor
- Склонируйте репозиторий и установите скиллы в свой проект:
./scripts/install-skill.sh /путь/к/проекту(на Windows —.\scripts\install-skill.ps1 -Target C:\путь\к\проекту). - В чате:
/aio-site-audit проверь https://мой-сайт.ru— или сразу/generate-llms-txt создай llms.txt для https://мой-сайт.ru.
Claude / ChatGPT / другой агент
- Откройте PROMPT.md в репозитории (русская версия —
PROMPT.ru.md). - Подставьте URL, тип сайта, язык и аудиторию.
- Вставьте в чат → сохраните вывод как
llms.txt→ выложите в корень сайта.
Проверка из терминала
python scripts/aio_lint.py https://мой-сайт.ru
python scripts/aio_lint.py https://мой-сайт.ru --check-links
Линтер отличает курированный llms.txt от выгрузки плагина, смотрит robots.txt и JSON-LD на главной, а с --check-links ещё и запрашивает ссылки из llms.txt и показывает битые.
Агент сам изучит sitemap и навигацию, отберёт ключевые страницы и выдаст
фрагмент для robots.txt. Проверьте URL и факты вручную перед публикацией — агент
не заменяет здравый смысл, а страницы сайта для него — недоверенные данные, а не инструкции.
Обновлено 8 октября 2026: формат llms.txt приведён к llmstxt.org, добавлены Markdown-версии страниц и роли AI-ботов, раздел про репозиторий отражает его текущий состав.
Материал ранее опубликован в LinkedIn.