инструменты для сайта

инструменты / сборка llms.txt / как устроен файл

Как устроен файл llms.txt

llms.txt — текстовый файл, написанный разметкой markdown. По спецификации в нём идут по порядку: заголовок первого уровня с названием сайта, строка-описание в блоке цитаты (со знака >), при желании несколько абзацев пояснений, а дальше — разделы второго уровня, и в каждом список ссылок вида [название](адрес) с пояснением после двоеточия. Обязательная часть при этом ровно одна — заголовок; всё остальное спецификация называет необязательным.

Мы проверили, как это выглядит в жизни. Взяли открытый каталог llmstxt.site, где сайты сами объявляют свой файл, и запросили все 1491 адрес подряд. Настоящим файлом ответили 1215. Спецификации целиком соответствуют 630 из них — 51,9%. Самая частая недоделка — нет строки-описания под заголовком: её нет у 428 файлов, то есть больше чем у трети. А 178 файлов провалили бы проверку llms.txt в PageSpeed, и почти всегда по одной причине: в файле нет ни одной ссылки.

Две вещи, которых в русских статьях про этот файл пока нет. Первая: 10 августа 2026 спецификация обновилась до версии 2 — и главное её изменение в том, что страница теперь должна уметь сама сказать агенту, какой llms.txt её описывает. Вторая: файла llms-full.txt, про который часто пишут рядом, в спецификации нет вообще — ни в первой версии, ни во второй.

Из чего состоит файл

Спецификация лежит на llmstxt.org, её автор — Джереми Ховард, первая публикация 3 сентября 2024 года. Порядок частей задан жёстко, и файл, который его нарушает, формально спецификации не соответствует, даже если читается человеком нормально.

Раздел с именем Optional — соглашение, а не механика: по нему складывают второстепенные ссылки, которые агент может пропустить, когда контекст нужно сократить. В нашем замере такой раздел есть у 263 файлов из 1215 — примерно у каждого пятого.

Вот как это выглядит на живом файле — это начало нашего собственного:

# Инструменты для сайта

> Бесплатные онлайн инструменты для проверки сайта без регистрации,
> сборка и проверка llms.txt, микроразметка Schema.org, товарный фид YML.

## Основное

- [Бесплатные инструменты для сайта](https://arivex.ru/): Сборка и проверка
  файла llms.txt, проверка микроразметки, без регистрации.
- [Проверка микроразметки сайта](https://arivex.ru/mikrorazmetka/): Проверим
  микроразметку Schema.org и Open Graph на странице.

Ссылки в файле должны быть полными — со схемой и доменом. Агент читает файл в отрыве от сайта, и относительный адрес вроде /uslugi/ разрешить ему не от чего. В замере относительные ссылки нашлись у 148 файлов из 1215.

Что изменила версия 2

Версия 2 вышла 10 августа 2026 года, и на llmstxt.org есть отдельная страница изменений. Формат файла она почти не тронула — заголовок, описание, разделы со ссылками остались теми же. Изменилось то, что вокруг файла.

  1. Появилась находимость. Самая частая просьба за два года, по словам автора, звучала так: как агенту, стоящему на странице, найти покрывающий её llms.txt, не угадывая? Ответ версии 2 — стандартные отношения ссылок: rel="describedby" указывает на llms.txt, а rel="alternate" type="text/markdown" — на markdown-версию самой страницы. Объявить можно двумя способами: тегом <link> в разметке или заголовком ответа Link:. Заголовок удобнее тем, что настраивается на сервере или CDN и работает даже для не-HTML файлов.
  2. Разрешён второй вид адреса markdown-версии. Версия 1 признавала только приписку к полному адресу (page.html.md). Часть издательских платформ вместо этого меняет расширение (page.md) — версия 2 разрешает оба вида.
  3. Определено, что значит файл не в корне. Версия 1 разрешала класть llms.txt в подпапку, но не говорила, что это означает. Теперь сказано: файл покрывает страницы под своим путём, а если подходит несколько файлов — берётся самый частный. Это же даёт участвовать тем, кто владеет только папкой, а не доменом.
  4. Убрана механика разворачивания в контекст. Из предложения ушёл инструмент llms_txt2ctx, склеивавший файл в один большой кусок текста, а вместе с ним — особый смысл раздела Optional, который подсказывал такому инструменту, что можно выбросить. Сам раздел остался, но теперь это просто соглашение.
  5. Прямо сказано, как файл используют. Агент смотрит или ищет по llms.txt, находит нужное и идёт по ссылкам — значит, ссылки должны вести на содержимое, удобное модели, а сам файл обязан оставаться достаточно коротким, чтобы поместиться в контекст.

Прижилось ли новое за три недели, мы тоже посмотрели: сходили на все 1215 страниц, которые покрывают найденные файлы, и прочитали и разметку, и заголовки ответа. Ответили 1203. Хотя бы одно из двух отношений объявляют 145 из них — 12,1%. Но почти всё это markdown-версии страниц (133), которые документационные платформы отдают и без всякой версии 2. А то самое describedby, ради которого версию и выпускали, стоит у 26 страниц — 2,2%. Мы к моменту этой статьи тоже его не объявляли; теперь объявляем. Проверка файла заодно смотрит и это: объявлен ли ваш файл на страницах и тот ли адрес указан.

Что лежит в 1215 живых файлах

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

Что ответили 1491 адрес из каталога
Что пришлоАдресовДоля
Настоящий файл121581,5%
Ошибка 404 — файла больше нет855,7%
Связь не состоялась704,7%
Ошибка 403 — доступ закрыт654,4%
Код 200, а внутри HTML342,3%
Прочие коды ответа221,5%

Дальше — только про те 1215, что ответили файлом. Слева наши замечания по спецификации, справа — сколько файлов их получили. Один файл может получить несколько замечаний сразу, поэтому доли не складываются в сто.

Находки в 1215 файлах
Что нашлиФайловДоля от 1215
Соответствует спецификации целиком63051,9%
Нет строки-описания под заголовком42835,2%
Заголовков первого уровня несколько14311,8%
Есть относительные ссылки14812,2%
Ни одной ссылки в файле16913,9%
Ни одного раздела второго уровня1038,5%
Нет заголовка первого уровня322,6%

Отдельно про длину. Половина файлов укладывается в 8 246 знаков — это примерно две страницы текста, и для оглавления сайта нормально. Но 178 файлов из 1215 тяжелее 50 000 знаков, а самый большой в выборке весит 2 052 071 знак — это уже не оглавление, а выгрузка всего сайта в один файл. Спецификация версии 2 говорит про размер прямо: файл должен оставаться достаточно коротким, чтобы поместиться в контекст, а подробности живут за ссылками и забираются по необходимости.

Любопытная деталь про тех, на кого спецификация ссылается как на примеры: свои файлы держат OpenAI, Anthropic и Google. Мы прогнали все три через свою же проверку: у OpenAI файл чист, а у Anthropic и Google нет ровно того, чего не хватает трети остальных, — строки-описания под заголовком. Обязательной она не считается, но именно она объясняет агенту, куда он попал.

Ловушка: код 200, а внутри не файл

34 адреса из каталога и, как мы увидим ниже, ещё девять сайтов из русской выдачи отвечают на запрос /llms.txt кодом 200 — но отдают HTML. Внутри оказывается заглушка защиты от ботов, страница проверки посетителя или просто главная страница сайта: так ведут себя сайты, отдающие свой index.html на любой неизвестный адрес.

Для владельца это хуже, чем ничего. Проверка в PageSpeed устроена так: если файла нет и сервер отвечает 404, проверка просто выключается и в счёт не идёт — файл там пока необязателен. А вот содержимое, которое ответило кодом 200, разбирается по правилам markdown, и типа содержимого проверка не смотрит вовсе. HTML-страница markdown-заголовка вида # Название обычно не содержит — и получает провал с пометкой «File is missing a required H1 header». В нашем замере провал получили все 34 таких ответа до одного.

Практический вывод простой: наличие файла нельзя проверять по коду ответа. Нужно смотреть, что именно пришло, — и это первое, что делает наша проверка.

Чем llms-full.txt отличается от llms.txt

Ничем — в том смысле, что в спецификации его нет. Мы перечитали текст llmstxt.org версии 2 целиком: имя llms-full.txt там не встречается ни разу. Это практика издательских платформ: рядом с коротким llms.txt-оглавлением они выкладывают второй файл, в который склеена вся документация сразу. В том же каталоге, откуда мы брали выборку, такой файл объявлен у 358 адресов.

Логика за этим понятная: llms.txt — оглавление со ссылками, и агенту надо сходить по ссылкам; llms-full.txt — всё содержимое разом, одним запросом. Для документации библиотеки, которую читает кодовый агент, второе бывает удобнее. Но версия 2 спецификации описывает как раз обратный порядок работы — короткий файл плюс ссылки на markdown-версии страниц, — и никакого «полного» файла в этой схеме нет.

Что из этого следует для обычного сайта. Заводить llms-full.txt самому смысла мало: сайт услуг или магазин — не документация, склеивать там нечего, а PageSpeed этот файл не смотрит. Если платформа генерирует его сама — пусть лежит, вреда нет. А вот делать его вместо llms.txt нельзя: проверка ищет файл строго по имени.

Нужно ли прописывать llms.txt в robots.txt

Нет. Директивы для llms.txt в robots.txt не существует — ни в стандарте robots.txt, ни в спецификации llms.txt. Карту сайта в robots.txt указывают строкой Sitemap:, и по аналогии многие ищут такую же строку для llms.txt; её нет.

Спецификация вообще разводит эти два файла по назначению: robots.txt сообщает автоматам, какой доступ к сайту считается приемлемым, а llms.txt используется по требованию — когда агенту нужна информация по теме, чтобы помочь человеку. Разные вопросы, разные адресаты.

Способ «объявить» файл всё-таки появился — только не в robots.txt, а в версии 2, отношением rel="describedby" со страницы:

<link rel="describedby" href="/llms.txt" type="text/plain">

Либо тем же самым в заголовке ответа сервера:

Link: </llms.txt>; rel="describedby"

Обязательным это не является, и файл в корне агент найдёт и так — по фиксированному адресу, как robots.txt. Но если файл лежит не в корне, а покрывает раздел, узнать о нём иначе неоткуда.

А в рунете это кто-нибудь ставит

Чтобы ответить не на глаз, мы взяли выборку соседнего замера: топ-20 Яндекса по восьми коммерческим запросам — окна, кровля, потолки, спецтехника, стоматология, цветы, детская одежда, корм для собак, — всего 115 доменов после склейки. И запросили /llms.txt у каждого.

115 доменов русского коммерческого топа
Что ответилиДоменов
Ошибка 404 — файла нет91
Код 200, а внутри HTML9
Ошибка 403 — доступ закрыт7
Настоящий файл5
Прочее (503, 410, нет связи)3

Пять доменов из 115. И три файла из пяти — те самые выгрузки всего каталога: 43, 63 и 90 тысяч знаков против медианных восьми, в одном из них 425 ссылок. Ещё в одном ссылок нет ни одной — этот файл проверку PageSpeed не пройдёт. То есть в рунете файл пока не ставят почти никто, а кто ставит — чаще сваливает туда каталог целиком.

Второе число тут важнее первого: девять сайтов отвечают на /llms.txt HTML-страницей, и их владельцы об этом, скорее всего, не знают. У них проверка в PageSpeed не выключится, как у тех 91, а покажет провал.

Где этот замер слаб

Каталог — не интернет. Доля «сколько сайтов вообще держат llms.txt» по нашей выборке не считается и здесь не называется: 1491 адрес — это те, кто файл завёл и внёс в каталог. Все выводы про качество относятся именно к ним.

Только файлы в корне. Список адресов мы собирали из каталога, а он перечисляет корневые /llms.txt. Файлы в подпапках — например, /docs/llms.txt, которые версия 2 прямо разрешает и на которые сама же ссылается примером, — в выборку не попали.

Часть отказов может быть реакцией на нас. 65 адресов ответили 403, 70 не ответили вовсе. Мы ходили с честным именем бота и не пытались его прятать, но защита сайта могла срабатывать именно на незнакомого робота, а обычному браузеру файл при этом отдаваться. Считать эти адреса «файла нет» мы не стали, поэтому доли качества везде считаются от 1215 ответивших, а не от 1491.

Каталог мог устареть. 85 адресов сегодня дают 404. Это либо снятые файлы, либо ошибки в самом каталоге; различить одно от другого мы не можем.

Как проверить свой файл

Пошагового разбора здесь не будет: проверка — дело инструмента, а не текста. Откройте проверку llms.txt и вставьте адрес сайта — мы скачаем файл, покажем отдельно вердикт PageSpeed и отдельно замечания по спецификации. Это разные вещи: PageSpeed устроит заголовок и одна ссылка, а спецификация хочет ещё описание, разделы и полные адреса.

Если файла нет вовсе, генератор соберёт его по вашей карте сайта — заголовки страниц и адреса он расставит сам, а описание под заголовком стоит дописать руками: как видно по замеру, именно его чаще всего и не хватает.

Чего делать не надо

Считать файл пропуском в ответы нейросетей. Справка Google про ИИ-функции поиска говорит обратное и перечисляет через запятую и файлы, и разметку: «You don't need to create new machine readable files, AI text files, or markup to appear in these features». Мы разбирали это подробно и по первоисточникам в соседней статье. Польза у llms.txt своя — это указатель по сайту для агента, который пришёл за ответом, и одна из проверок PageSpeed.

Сваливать в файл весь сайт. Каждый седьмой файл в замере тяжелее 50 000 знаков, а рекордсмен — больше двух миллионов. Это ровно то, против чего написана спецификация: агент должен прочитать оглавление целиком и дёшево, а подробности забрать по ссылкам, если понадобятся. Сотня осмысленных ссылок с пояснениями работает лучше, чем выгрузка всех страниц.

Оставлять относительные ссылки. Так сделано у 148 файлов из 1215. Файл читают в отрыве от сайта, и адрес /uslugi/ из него разрешить не от чего — нужны полные адреса со схемой и доменом.

Заводить файл и забывать про него. 85 адресов из каталога сегодня отдают 404, ещё 34 — HTML вместо файла. Файл живёт ровно до следующей переделки сайта, и проверять его стоит тогда же, когда проверяете robots.txt и карту сайта.

Соберём и внедрим файл за вас — это услуга студии.