Перейти к содержимому
SEO и краулеры

llms.txt в WordPress: что это, как добавить и есть ли от него толк

Три способа опубликовать файл llms.txt на WordPress и честный разбор того, читает ли его хоть одна AI-компания на самом деле.

Опубликовано

llms.txt — это обычный markdown-файл, который кладут в корень домена — https://example.com/llms.txt — со списком лучших страниц и однострочным описанием у каждой, чтобы языковая модель нашла ваш полезный контент, не разбирая всю навигацию. Это предложение, а не стандарт, и ни один крупный AI-провайдер публично не подтвердил, что читает этот файл или как-то на него реагирует.

Важны обе половины. Формат реален, хорошо описан, и на публикацию уходит минут двадцать. Польза не доказана, и многое из того, что вокруг этого сейчас продают, об этом честно не говорит.

Как выглядит сам файл

Предложенный формат — markdown с заданной структурой: H1 с названием сайта, необязательная цитата-описание, затем разделы H2 со списками ссылок, у каждой короткое описание после двоеточия. Раздел с именем «Optional» помечает контент, который можно пропустить, когда контекста мало.

# Odie Themes

> Free WordPress tools and technically honest guides for theme
> and image configuration problems.

## Guides

- [Why WordPress images look blurry after upload](https://example.com/guides/wordpress-image-blurry-after-upload): Why the 2560px cap creates a -scaled file and how to raise or disable it.
- [WordPress llms.txt](https://example.com/guides/wordpress-llms-txt): What the file is, how to add one, and what it does not do.

## Tools

- [Robots.txt generator](https://example.com/tools/wordpress-robots-txt-generator): Build a robots.txt with correct AI crawler rules.

## Optional

- [About](https://example.com/about): Who runs the site.

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

Вам ещё попадётся llms-full.txt — сопутствующая договорённость, где в одном файле лежит полный markdown-текст всего контента. Он гораздо тяжелее и обоснован ещё слабее, чем llms.txt. Пропустите его, если нет конкретной причины.

Честная часть

Ни в одной публичной документации OpenAI, Anthropic, Google или Perplexity не сказано, что их краулеры или поисковые системы используют llms.txt. Google публично дал понять, что для поиска его не применяет. Владельцы сайтов действительно видят запросы к файлу в логах, но обращение не доказывает, что содержимое повлияло хоть на один ответ: множество ботов проверяют наличие файлов наугад.

Поэтому осторожнее с утверждениями, которые вам попадутся:

Утверждение, которое вы встретитеСтатус
«llms.txt — это новый robots.txt для AI»Неверно. robots.txt документирован и соблюдается; llms.txt — предложение.
«Добавление llms.txt улучшает позиции в Google»Подтверждений нет. Google не заявлял, что использует файл.
«ChatGPT читает ваш llms.txt»OpenAI это не подтверждала.
«Файл дешёво опубликовать»Правда, и это единственный весомый аргумент за.

Разумная позиция — дешёвая опция на будущее. Статический текстовый файл стоит вам одной загрузки, нуля миллисекунд к скорости страницы и никакого риска. Приживётся практика — он у вас уже есть. Не приживётся — вы потеряли двадцать минут. Сделка нормальная, просто не позволяйте выставлять её счётом за «стратегию AI-видимости».

Как добавить его в WordPress

Вариант 1: статический файл в корне (рекомендуемый)

Напишите файл локально, затем загрузите по SFTP в ту же папку, где лежат wp-config.php и index.php.

WordPress его не перехватит, потому что стандартный блок перезаписи в .htaccess направляет в обработку только те запросы, которые не совпадают с реальным файлом или папкой:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Реальный llms.txt на диске не проходит условие !-f, поэтому Apache отдаёт его напрямую, а PHP вообще не запускается. Конфигурации на Nginx с try_files $uri $uri/ /index.php ведут себя так же.

Одна оговорка: часть управляемых хостингов запрещает запись по SFTP в корень сайта или запускает сайт из образа контейнера только для чтения. Если у вас так — ваш путь это варианты 2 и 3.

Вариант 2: плагин

Поищите в каталоге плагинов WordPress «llms.txt» — уже несколько плагинов собирают файл из ваших опубликованных записей и страниц, а часть SEO-плагинов добавила это как отдельную функцию. Если вы публикуете часто, это правда полезно, потому что список, написанный руками, быстро устаревает.

Но и цена настоящая. Вы получаете плагин, страницу настроек и ещё одну поверхность для обновлений в обмен на автоматизацию файла, чтение которого никто не подтвердил. Автоматические списки к тому же обычно вываливают все записи подряд с цитатой вместо описания, и получается длинный однородный файл — прямая противоположность выверенной карте, ради которой формат придумывали. Если ставите плагин, подчищайте то, что он выдаёт.

Вариант 3: отдавать файл из темы через фильтр

Если писать в корень сайта нельзя, но код править можно, положите небольшой mu-plugin в wp-content/mu-plugins/llms-txt.php: он перехватит запрос и отдаст файл, лежащий внутри темы.

<?php
// wp-content/mu-plugins/llms-txt.php

add_action( 'init', function () {
	$path = parse_url( $_SERVER['REQUEST_URI'] ?? '', PHP_URL_PATH );

	if ( '/llms.txt' !== $path ) {
		return;
	}

	$file = get_stylesheet_directory() . '/llms.txt';

	if ( ! is_readable( $file ) ) {
		return;
	}

	header( 'Content-Type: text/plain; charset=utf-8' );
	readfile( $file );
	exit;
} );

Здесь используется mu-plugin, а не functions.php, чтобы код пережил смену темы и её обновление. Если всё-таки кладёте в functions.php, работайте в дочерней теме.

Проверьте, что файл реально отдаётся

Не полагайтесь на догадки. Посмотрите код ответа и тип содержимого:

curl -sI https://example.com/llms.txt

Вам нужны 200 и Content-Type: text/plain. Два сбоя встречаются чаще всего:

  • Приходит 200, но в теле ответа ваша страница 404. Запрос перехватил WordPress. Файл лежит не там, где вы думаете, либо маршрут перехватывает плагин.
  • Приходит Content-Type: text/html. Что-то отрисовывает файл через тему. Сначала почините заголовок, потом занимайтесь содержимым.

Затем откройте адрес в браузере и прочитайте файл глазами. Если какая-то ссылка отдаёт 404 или ведёт на http://, тогда как сайт на HTTPS, — исправьте: сломанная карта хуже, чем никакой.

Что реально управляет AI-краулерами сегодня

Если ваша настоящая цель — повлиять на то, как AI-системы обходятся с сайтом, то robots.txt и есть тот файл, который документирован, соблюдается и действует прямо сейчас. GPTBot, ClaudeBot, PerplexityBot, CCBot и Google-Extended — это названные user-agent’ы с опубликованным поведением, и именно robots.txt решает, можно ли им вообще забирать ваши страницы.

Вот рычаг, за которым стоит настоящий механизм. Соберите свой файл в генераторе robots.txt: он позволяет явно разрешить или запретить каждого AI-краулера, вместо того чтобы угадывать синтаксис. Сначала сделайте это правильно, а потом добавляйте llms.txt как дешёвое умозрительное дополнение.

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

Не блокируйте AI-краулеров в robots.txt и не публикуйте одновременно llms.txt. Так делают по недосмотру: один файл приглашает модель внутрь, другой захлопывает дверь. Побеждает дверь.

Не кладите llms.txt в подпапку. Договорённость только про корень. Файл по адресу /blog/llms.txt никто искать не будет.

Не вставляйте туда всю карту сайта. Четыреста ссылок с шаблонными цитатами — это свалка для обхода, а не выверенная карта, и это убивает единственную заявленную задачу формата. Двадцать-пятьдесят действительно полезных страниц — нормальный размер для большинства сайтов.

Не откладывайте ради него настоящую работу. Скорость загрузки, чистый HTML, корректная микроразметка и контент, на который реально ссылаются, — про них известно, что они влияют. Про llms.txt не известно. Распределяйте усилия соответственно.

FAQ

Вопросы

Что такое llms.txt в WordPress?

Это обычный markdown-файл в корне сайта, доступный по адресу yoursite.com/llms.txt, в котором перечислены самые полезные страницы с однострочным описанием у каждой. Идея в том, что языковая модель, прочитав его, получает чистую карту вашего контента вместо того, чтобы продираться через меню, рекламу и баннеры о cookie.

AI-компании действительно читают llms.txt?

Публичных подтверждений от OpenAI, Anthropic, Google или Perplexity, что они запрашивают или используют llms.txt, нет. В логах серверов иногда видны обращения к файлу, но обращение и влияние содержимого на ответ — не одно и то же. Любые заявления о доказанной пользе для позиций считайте необоснованным маркетингом.

Куда класть llms.txt на сайте WordPress?

В корень домена, туда же, где лежит robots.txt, то есть адрес будет yoursite.com/llms.txt без подпапок. Загрузите файл по SFTP рядом с index.php вашего WordPress. Реальные файлы WordPress отдаёт напрямую, потому что его правила перезаписи пропускают через себя только запросы, не совпадающие с существующим файлом.

llms.txt — это то же самое, что robots.txt?

Нет. robots.txt — сложившаяся практика, которую AI-краулеры вроде GPTBot, ClaudeBot и PerplexityBot документируют и соблюдают, и она определяет, можно ли им вообще забирать ваши страницы. llms.txt — неутверждённое предложение, которое лишь подсказывает, что читать. Первое работает уже сегодня, второе пока умозрительно.

Помогает ли llms.txt для SEO и позиций?

Данных о влиянии на позиции в Google нет, и сам Google не заявлял, что использует этот файл. Публикация почти ничего не стоит, поэтому разумный аргумент за — дешёвая опция на будущее, а не измеримая польза. Не откладывайте ради него скорость загрузки, микроразметку или качество текстов.

Что выбрать для llms.txt — плагин или статический файл?

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