Як створити llms.txt
Технічно створити файл — справа десяти хвилин: це звичайний текстовий документ у корені сайту. Складне інше: вирішити, що саме в нього класти. Нижче — процес, який дає осмислений результат, а не формально валідний файл заради галочки.
Крок 1. Відберіть сторінки
Головна помилка — почати з переліку всіх розділів сайту. llms.txt не sitemap: його цінність саме
в тому, що хтось за агента вже відібрав головне.
Робочий критерій відбору — уявіть конкретне питання, яке людина ставить асистенту про ваш продукт, і спитайте себе: яка сторінка на нього відповідає. Ці сторінки й потрібні.
| Тип сайту | Що варто включити |
|---|---|
| Документація, API, SDK | Швидкий старт, довідник методів, автентифікація, обмеження, приклади коду, журнал змін |
| SaaS-продукт | Опис продукту, тарифи, інтеграції, база знань, статус сервісу |
| Освітній ресурс | Програма курсів, вимоги до вступу, розклад, контакти приймальної комісії |
| Компанія або агенція | Опис послуг, кейси, команда, контакти, публічні умови роботи |
| Особистий сайт | Резюме, публікації, проєкти, спосіб звʼязку |
Практичний орієнтир кількості — від 5 до 40 посилань. Менше — файл не дає контексту; більше — ви, найімовірніше, перестали відбирати й почали перелічувати.
Крок 2. Напишіть заголовок і резюме
Заголовок — назва проєкту, без слоганів і ключових слів. Резюме — один-два речення, які відповідають на питання «що це і для кого».
# Назва компанії
> Що ви робите, для кого і чим відрізняєтесь — двома реченнями.
> Тут має бути ключова інформація, потрібна, щоб зрозуміти решту файлу.Формально блок-цитата необовʼязкова. Практично — це найважливіший рядок файлу: саме з нього агент розуміє, чи взагалі варто читати далі. Специфікація описує її як «key information necessary for understanding the rest of the file».
Крок 3. Додайте вільний текст, якщо є що сказати
Після цитати можна дати абзаци чи списки з важливими застереженнями. Це місце для того, що агент інакше зрозуміє неправильно: обмеження продукту, несумісності, важливі відмінності від схожих рішень.
Класичний приклад із самої специфікації — файл FastHTML, де в цьому блоці попереджають, що бібліотека несумісна з синтаксисом FastAPI попри зовнішню схожість:
Important notes:
- Although parts of its API are inspired by FastAPI, it is *not* compatible with FastAPI syntax
and is not targeted at creating API services
- FastHTML is compatible with JS-native web components and any vanilla JS library,
but not with React, Vue, or Svelte.Крок 4. Згрупуйте посилання в секції H2
Назви секцій довільні. Обирайте їх за логікою користувача, а не за структурою вашої CMS.
## Документація
- [Швидкий старт](https://example.com/docs/start.md): встановлення й перший запит за 5 хвилин
- [Довідник API](https://example.com/docs/api.md): усі методи, параметри й коди помилок
- [Автентифікація](https://example.com/docs/auth.md): як отримати й використати ключ
## Приклади
- [Інтеграція з PHP](https://example.com/examples/php.md): робочий приклад із поясненнями
## Optional
- [Історія змін](https://example.com/changelog.md): журнал релізів
- [Політика приватності](https://example.com/privacy.md)Формат рядка суворий: дефіс, пробіл, [назва](URL), далі необовʼязково двокрапка й опис.
| Рядок | Чому | |
|---|---|---|
| ✓ | - [Довідник API](https://site.com/api.md): усі методи | Канонічна форма |
| ✓ | - [Довідник API](https://site.com/api.md) | Опис необовʼязковий |
| × | - https://site.com/api.md | Не Markdown-посилання — парсер його не бачить |
| × | - [Довідник API](/api.md) | Відносна адреса: поза контекстом сайту не розгортається |
| × | * [Довідник](https://site.com/a(1).md) | Дужка в URL обриває розбір адреси |
Крок 5. Дайте посиланням чисті Markdown-версії
Це те, що відрізняє робочий файл від декоративного. Специфікація радить посилатися саме на .md-варіанти
сторінок: агент отримує текст без навігації, банерів і скриптів.
На звичайному PHP-хостингу мінімальний варіант — статичні файли поруч:
/docs/api.html ← сторінка для людей
/docs/api.md ← той самий текст у Markdown
/docs/llms.txt ← покажчик, що посилається на .mdІ один рядок у .htaccess, щоб сервер віддавав правильний MIME-тип:
AddType text/markdown .mdДетальніше про це — на сторінці Markdown-версії сторінок і link relations.
Крок 6. Покладіть файл на місце
Канонічна адреса — https://ваш-домен/llms.txt. Файл має віддаватися з кодом 200 і
Content-Type: text/plain або text/markdown. Кодування — UTF-8.
Якщо файл описує лише частину сайту, версія v2 дозволяє покласти його в підкаталог:
https://example.com/llms.txt ← покриває весь сайт
https://example.com/docs/llms.txt ← покриває все під /docs/Крок 7. Перевірте
Формальна перевірка — наш валідатор: він розбирає файл за правилами v2, відтворює поведінку офіційного парсера й показує проблемні рядки.
Функціональна перевірка — та, яку радить сам автор специфікації: дайте асистенту тільки посилання на ваш
llms.txt і поставте питання про ваш продукт. Якщо агент знайшов відповідь — файл працює.
Якщо він вигадує або губиться — щось не так із відбором посилань або з описами.
Крок 8. Тримайте його живим
Застарілий llms.txt гірший за його відсутність: він упевнено веде агента на сторінки, яких уже
немає. Внесіть перевірку файлу в той самий процес, у якому ви оновлюєте sitemap.xml, і
перевіряйте посилання хоча б раз на квартал.