llms.txt и Lighthouse: почему ваш файл «не содержит ссылок», хотя они там есть

Lighthouse проверяет llms.txt как markdown-документ и падает с ошибкой, даже если ссылки есть. Разбираем, в чём причина и как починить за 5 минут.

Если вы следите за темой AI-видимости сайта, то наверняка уже слышали про файл llms.txt — специальный документ, который помогает языковым моделям понять структуру вашего сайта. Lighthouse 13.3.0 добавил проверку этого файла в новую категорию Agentic Browsing. И тут начинается интересное: файл может содержать десятки рабочих ссылок — а аудит всё равно возвращает ошибку «File does not appear to contain any links». Разберём, в чём дело и как это чинится.

Что такое Agentic Browsing в Lighthouse и зачем это вообще нужно

Lighthouse — инструмент от Google для аудита сайтов. Версия 13.3.0 добавила к привычным категориям (Performance, SEO, Accessibility, Best Practices) новую — Agentic Browsing. Это набор проверок того, насколько ваш сайт читаем для AI-агентов, а не только для людей.

В категорию входят шесть аудитов:

  • agent-accessibility-tree — корректность семантической структуры HTML и ARIA для агентов.
  • cumulative-layout-shift — привычная проверка визуальных сдвигов.
  • llms-txt — наличие и формат файла llms.txt.
  • Три проверки WebMCP: зарегистрированные инструменты, покрытие форм, валидность схемы.

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

Тут есть нюанс: три WebMCP-проверки у большинства сайтов вернут статус «не применимо» — просто потому что WebMCP-функциональность на обычном сайте не реализована. Это нормально, и это не провал.

Почему Lighthouse говорит «нет ссылок», когда они есть

Смотрите, в чём тут дело. Файл называется llms.txt, сервер отдаёт его с MIME-типом text/plain, и если открыть его в браузере — вы видите обычный текст. Логично предположить, что и парситься он будет как обычный текст.

Но Lighthouse парсит содержимое файла как markdown-документ. И это не самодеятельность разработчиков — так устроена сама спецификация llms.txt на llmstxt.org. Там прямо написано: каждая секция содержит markdown-список ссылок, каждый пункт — это ссылка в markdown-синтаксисе, за которой следуют необязательные заметки.

Таким образом, если ваш файл написан в «человекочитаемом» формате вроде:

  • — Главная: / — Описание сайта
  • — Блог: /blog — Все статьи

…Lighthouse не считает эти строки ссылками. Парсер ищет строго [текст](url) — квадратные скобки вокруг текста и круглые вокруг URL. Ничего другого он не принимает. Даже если адреса рабочие, даже если структура логичная — ноль ссылок, аудит провален.

Это и есть мисматч: расширение .txt, MIME-тип text/plain, а парсер требует markdown. Файл как будто живёт в двух мирах одновременно.

Как починить: пять символов на одну ссылку

Давайте по шагам. Исправление механическое и занимает несколько минут.

Было (не проходит аудит):

  • — Главная: / — Описание сайта и последние материалы
  • — Блог: /blog — Все статьи

Стало (проходит):

  • — [Главная](/): Описание сайта и последние материалы
  • — [Блог](/blog): Все статьи

Что изменилось: URL обёрнут в синтаксис [текст](url), разделитель «-» между описанием заменён на «:». Пять символов на ссылку — квадратная скобка открыть, квадратная закрыть, круглая открыть, круглая закрыть и двоеточие.

Содержание файла — то же самое. MIME-тип — тот же. Расширение — то же. Меняется только кодировка ссылок. После правки аудит переходит из «не соответствует рекомендациям» в «соответствует», а счёт категории из 0.67 становится 1.0.

Если у вас в файле десятки ссылок — используйте любой текстовый редактор с поддержкой регулярных выражений или попросите AI-инструмент сделать конвертацию пакетно. Это не творческая задача, это механика.

Что аудит проверяет на самом деле — и чего не проверяет

Тут важно понимать границы инструмента. Lighthouse проверяет, можно ли машинно распарсить ссылки из файла. Это реальная задача: если AI-агент пытается извлечь ссылки программно, markdown-синтаксис — единственный формат, который парсится надёжно. Так что проверка имеет смысл.

Но есть и обратная сторона. Аудит не проверяет:

  • Насколько точно файл описывает ваш сайт.
  • Написали ли вы его вручную с пониманием структуры или это автогенерация плагина.
  • Актуально ли содержимое или оно не обновлялось с момента запуска.

Это важный момент. Популярный WordPress-плагин AIOSEO (по данным его страницы на WordPress.org, активен на более чем 3 миллионах сайтов) генерирует llms.txt автоматически — и генерирует именно в markdown-синтаксисе. Такой файл пройдёт аудит Lighthouse. А тщательно написанный вручную файл с реальным пониманием структуры сайта — провалится, если в нём plain-text ссылки.

Это не значит, что аудит плохой. Это значит, что галочка «прошёл» не равна «файл полезен для AI». Это разные вещи.

Подробнее о том, какие форматы контента реально читают AI-поисковики, и как выстроить машиночитаемую структуру — отдельная большая тема.

Как запустить аудит и что делать с результатом

Запустить проверку можно двумя способами.

Через DevTools в Chrome: откройте сайт, нажмите F12, перейдите на вкладку Lighthouse, убедитесь, что в списке категорий отмечена «Agentic Browsing», и нажмите «Analyze page load». Результат придёт меньше чем за минуту.

Через CLI: если хочется автоматизации или проверки стороннего сайта, команда выглядит так:

npx lighthouse@latest https://ваш-сайт.ru —only-categories=agentic-browsing

Смотрите на результат аудита llms-txt. Если он «not applicable» — файла нет или Lighthouse его не нашёл. Если «failed» с ошибкой про отсутствие ссылок — это наш случай, правка за 5 минут. Если «passed» — проверьте вручную, что файл написан по делу, а не сгенерирован по умолчанию.

Три WebMCP-аудита, скорее всего, вернут «not applicable» — не переживайте об этом, пока WebMCP не станет реальным стандартом.

Что стоит за этим: машиночитаемость как отдельный слой сайта

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

Если контент на вашем сайте существует только в виде JavaScript, который рендерится в браузере, или зашит в дизайн-блоки без семантической разметки — AI-агент его просто не увидит. llms.txt — один из способов дать агенту «карту» сайта в читаемом формате.

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

Смотрите на это в связке с тем, как попасть в индекс ChatGPT и появляться в его ответах — там та же логика: машиночитаемость и структура важнее объёма.

Если вы занимаетесь AI-видимостью бренда — llms.txt стоит воспринимать как один из сигналов, которые помогают нейросетям правильно понять, чем занимается ваш сайт.

Итого: что сделать прямо сейчас

Если у вас есть llms.txt — запустите аудит Lighthouse (DevTools → Lighthouse → Agentic Browsing) и посмотрите на результат llms-txt. Если файла нет — подумайте, нужен ли он вашему проекту: для информационных сайтов и блогов это имеет смысл, для лендинга одного продукта — скорее нет.

Если аудит провалился с ошибкой про ссылки — откройте файл, конвертируйте ссылки в markdown-синтаксис [текст](url) и перепроверьте. Пять минут работы.

Если аудит прошёл — задайте себе вопрос честно: этот файл написан с пониманием структуры сайта, или просто сгенерирован плагином? Если второе — уделите 20 минут и напишите его руками. Это и есть реальная работа с машиночитаемостью.

Если хотите разобрать свой сайт или блог в контексте AI-видимости и того, как контент работает на привлечение клиентов — заходите в мой Telegram-канал. Там разборы, наблюдения и практика без воды.

По мотивам материала Search Engine Journal «Lighthouse Fails Your Llms.txt Without Markdown Links».

Частые вопросы

Что такое llms.txt и зачем он нужен сайту?
llms.txt — это текстовый файл в корне сайта, который описывает его структуру для языковых моделей и AI-агентов. По спецификации llmstxt.org, он должен быть отформатирован как markdown-документ со ссылками в синтаксисе [текст](url).
Почему Lighthouse пишет «File does not appear to contain any links» в аудите llms.txt?
Lighthouse парсит llms.txt как markdown и ищет ссылки строго в формате [текст](url). Если ссылки записаны в виде обычного текста — парсер их не видит и аудит падает с этой ошибкой, даже если ссылки рабочие.
Как исправить ошибку llms.txt в Lighthouse быстро?
Откройте файл llms.txt и конвертируйте каждую ссылку в markdown-синтаксис: вместо «Блог: /blog» напишите «[Блог](/blog):». После этого перезапустите аудит — ошибка уйдёт.
Как запустить аудит Agentic Browsing в Lighthouse?
Откройте Chrome DevTools (F12), перейдите на вкладку Lighthouse, отметьте категорию Agentic Browsing и нажмите «Analyze page load». Или используйте CLI: npx lighthouse@latest https://ваш-сайт.ru --only-categories=agentic-browsing.
100 нейросетей для экспертов

100 нейросетей
для экспертов

Подборка, которой реально пользуются — пришлю на почту. Без спама, отписка в один клик.

Для решения
любых задач
Для роста
и эффективности
Для бизнеса
и карьеры

🎁 Заберите 100 нейросетей для экспертов

Комментарии

Будьте первым — поделитесь мыслями или задайте вопрос.

Чтобы оставить комментарий — войдите

Это пара кликов. Чтобы избежать спама — только зарегистрированные пользователи. Никакой рассылки, только если вы сами захотите.