Генератор llms.txt

Компонент создаёт в корне сайта два файла по спецификации llmstxt.org. llms.txt — короткое оглавление сайта для ИИ-агентов и ассистентов. llms-full.txt — полные тексты материалов одним файлом. Файлы собираются из ваших типов контента и обновляются сами после изменений на сайте.

Что делает компонент

Чего ждать от llms.txt

llms.txt — открытое предложение, а не стандарт поисковых систем. Честно о том, что он даёт:

Для видимости в ответах ИИ важнее открытый для ботов robots.txt, индексация в поиске и свежие материалы. Проверка robots.txt встроена в компонент.

Что понадобится

Установка и обновление

  1. Откройте Дополнения → Установить пакет и загрузите архив llms_generator_0.2.2.zip.
  2. Подтвердите установку. Компонент появится в Компоненты → Генератор llms.txt.

Обновление с предыдущей версии — так же, архивом llms_generator_0.2.2-update.zip. Настройки сохраняются. При переходе с 0.1.0 «Префикс проекта» становится кратким описанием сайта.

Если просто скопировать файлы на сервер, компонент не зарегистрируется и не появится в списке компонентов. Ставьте пакет через админку.

Настройка за 5 минут

  1. Откройте Генератор llms.txt → Опции → О сайте. Напишите краткое описание сайта: одно-два предложения о том, что это за сайт и для кого.
  2. В том же разделе заполните «Главные страницы»: о компании, контакты, доставка, цены, частые вопросы.
  3. На вкладке «llms.txt» отметьте типы контента. Оставьте 10–30 ссылок на тип.
  4. Сохраните опции и откройте Файлы и проверка. Нажмите «Обновить файлы», затем «Проверить сайт».

Опции

О сайте

ОпцияЧто делает
Название сайтаЗаголовок H1 файла. Пусто — название сайта из настроек InstantCMS.
Краткое описание сайтаСтрока «> …» под названием, агент читает её первой. Пусто — meta description сайта из настроек InstantCMS.
Подробнее о сайтеСвободный текст после описания: регион работы, контакты, условия. Заголовки внутри превращаются в жирный текст: спецификация не допускает заголовков до первого раздела.
Главные страницыПо одной в строке: Название | адрес | описание. Адрес можно указать от корня сайта: /pages/about.html. Раздел выводится первым.

llms.txt

ОпцияЧто делает
Типы контента«Все» — все включённые типы, открытые для гостей.
Ссылок на записи в каждом типеСколько записей типа попадает в основной раздел, с описаниями.
Ещё ссылок в раздел OptionalСледующие записи каждого типа уходят в раздел Optional без описаний. Агент может пропустить его, если ему не хватает контекста. 0 — раздела не будет.
Какие записи выводить первымиНовые, недавно обновлённые, самые просматриваемые или с наибольшим рейтингом.
Название записи в ссылкахЗаголовок записи или SEO title. Хвост с названием сайта («… | Мой сайт») убирается.
Описание к ссылкеАвтоматически: SEO description записи, если его нет — анонс, если нет и его — начало текста. Можно оставить только SEO description или отключить описания.
Ссылка на список записейПервая строка раздела: «Статьи — все материалы» с описанием типа контента.
Выводить категорииОтдельный раздел «Тип: категории» с полным путём «Родитель / Дочерняя». Описание берётся из SEO description категории или из её описания.

llms-full.txt

ОпцияЧто делает
Записей из каждого типаСколько свежих записей типа попадает в файл.
Максимальный размер файлаПо умолчанию 2048 КБ — около миллиона символов. Лимит делится между типами поровну, поэтому каждый тип получает свою долю.
Текст одной записиДлинные тексты обрезаются по абзацу и заканчиваются ссылкой «Читать полностью на сайте». 0 — без ограничения.
Раздел, даты, тегиСтроки «Адрес», «Раздел: Тип / Категория», «Опубликовано · Обновлено», «Теги».
Описание записиКороткое описание под адресом. Если текст записи начинается с той же фразы, описание не повторяется.
ХарактеристикиЗначения коротких полей: строки, числа, списки, флажки, ссылки, города, даты. Для каталогов это цена, размеры, материал или адрес сервиса.

Обновление

ОпцияЧто делает
Обновлять после изменений контентаПубликация, правка, удаление, корзина, восстановление, отложенная публикация и сохранение опций компонента отмечают, что файлы надо пересобрать.
Когда обновлять«Планировщиком» — в течение 15 минут, рекомендуется. «Сразу» — в конце того же запроса: удобно без cron, но на больших сайтах замедляет сохранение записей.
Запуск по секретной ссылкеДля внешнего cron или мониторинга: /llms_generator/generate?key=КЛЮЧ отвечает JSON с итогом. Ключ создаётся при сохранении опций. Чтобы сменить его, очистите поле.

Файлы и проверка

Главная страница компонента в админке.

Закрывать ботов или нет — решаете вы. Компонент только показывает, кому ссылки из llms.txt недоступны.

Что попадает в файлы

Компонент берёт записи штатной выборкой InstantCMS, как в списках на сайте. Поэтому в файлы попадают только записи, которые:

Дополнительно:

Если llms.txt уже был на сайте или вы правили файл вручную, перед перезаписью компонент сохраняет копию в cache/llms_generator/.

Как выглядит llms.txt

# Название сайта

> Сайт про нейросети и искусственный интеллект: новости, статьи и каталог AI-сервисов.

## Главное

- [О проекте](https://site.ru/pages/about.html): кто мы и как с нами связаться

## Новости

- [Новости — все материалы](https://site.ru/news): новости мира ИИ
- [Заголовок новости](https://site.ru/news/zagolovok.html): короткое описание

## Каталог ИИ: категории

- [Видео](https://site.ru/products/video): нейросети для создания и обработки видео

## Optional

- [Старая запись](https://site.ru/news/staraja.html)

Если что-то не так

ПризнакЧто проверить
«Корень сайта недоступен для записи»Права на папку сайта. PHP должен создавать файлы в корне.
Файлы не обновляются самиВ «Состоянии» строка «Планировщик». Если задача не запускалась, настройте cron (Настройки → Планировщик) или включите режим «Сразу».
«Сервер не указывает кодировку»Русский текст может отображаться «кракозябрами». nginx: добавьте в блок server charset utf-8; charset_types text/plain text/markdown;. Apache: AddDefaultCharset utf-8 в .htaccess.
«Редирект на …»Адрес сайта в настройках InstantCMS (http или https, с www или без) не совпадает с адресом, на который ведёт сервер.
«Сайт не ответил на запрос с самого сервера»Сервер не видит сам себя по внешнему адресу. Это настройка хостинга. Файлы при этом работают: откройте их в браузере. Формат llms.txt проверяется по файлу на диске.
Тип контента не попал в файлыПричина указана в «Состоянии»: гостям закрыт просмотр списка или нет опубликованных записей.
В llms-full.txt не все записиДостигнут лимит размера. Увеличьте его или уменьшите «Текст одной записи».
Описания у ссылок обрезаны многоточиемТексты длиннее опции «Длина описания». Сократите SEO description или увеличьте длину.
«Файл создан не текущей версией компонента»Файл оставила прошлая версия или его правили вручную. После «Обновить файлы» предупреждение пропадёт, копия старого файла останется в cache/llms_generator/.

Удаление

Компоненты → Генератор llms.txt → Удалить. Компонент удаляет свои файлы и таблицу состояния, задачу планировщика и llms.txt с llms-full.txt. Файлы, которые вы правили вручную после последней генерации, остаются на месте.

Папку docs/_shared удалять не нужно: это общее оформление руководств других дополнений автора.