В Odoo 20 в базовом приложении Website есть общедоступный маршрут /llms.txt. Администраторы сайта могут настраивать текстовый ответ прямо в Odoo, а не реализовывать дополнительный маршрут вне приложения. Связанное изменение также переносит ограничения краулеров для выбранных технических и транзакционных маршрутов в сгенерированные директивы robots.txt. (Odoo Odoo Blob; mergebot.odoo.com)

Эти изменения создают две отдельные задачи для проверки. Администраторам нужно решить, публиковать ли содержимое llms.txt и поддерживать ли его, а затем проверить вывод robots.txt, сгенерированный для модулей, установленных в базе данных. Хотя реализация одна и та же, llms.txt и robots.txt служат разным целям и должны тестироваться отдельно. (Odoo Odoo Blob; mergebot.odoo.com)

Что публикует Odoo 20

Приложение Website предоставляет llms.txt в корне сайта через HTTP-маршрут /llms.txt. Когда настроено непустое содержимое, маршрут возвращает его как обычный текст в кодировке UTF-8. Реализация не собирает автоматически готовый документ llms.txt из существующих страниц или других записей сайта. (Odoo Odoo Blob)

Odoo также добавляет ссылку на llms.txt в HTML-код корня сайта, чтобы улучшить обнаруживаемость. Администраторы управляют содержимым файла через редактор в настройках Website SEO, включая опубликованный текст в существующий процесс настройки сайта. (mergebot.odoo.com)

Поскольку маршрут является частью базового приложения Website, сайту Odoo 20 не нужен сторонний модуль только для предоставления этой конечной точки. При этом администраторам все равно нужно подготовить и поддерживать содержимое. Odoo предоставляет маршрут, редактор настроек и ссылку в HTML-коде корня, а сохраненный текст определяет, что возвращает конечная точка. (Odoo Odoo Blob; mergebot.odoo.com)

Пустое содержимое не создает файл

Odoo определяет явное поведение для сайтов, где llms.txt не заполнен. Если заданное значение отсутствует или содержит только пробелы, запрос к /llms.txt получает ответ not-found. Odoo не публикует пустой файл, заглушку или автоматически сгенерированную сводку. (Odoo Odoo Blob)

Поэтому наличие маршрута в Odoo 20 не означает, что каждый сайт сразу начнет публиковать документ llms.txt. Ответ not-found может означать, что не сохранено непустое содержимое, а не указывать на ошибку сервера или маршрутизации. Администраторам следует проверить настройку Website SEO, прежде чем рассматривать запрос как технический сбой. (Odoo Odoo Blob; mergebot.odoo.com)

Ограничения краулеров переносятся в robots.txt

Связанное изменение для краулеров переносит ограничения для таких маршрутов, как страницы входа, оформления заказа, оплаты, подтверждения и портала, в директивы robots.txt. Odoo формирует эти директивы в соответствии с модулями, установленными в базе данных. (mergebot.odoo.com)

В результате вывод robots.txt может отличаться в разных средах Odoo. Базу данных с модулями ecommerce или portal не следует оценивать только по общему ожидаемому файлу или по файлу, скопированному из другой базы данных. Проверяющим нужно изучить вывод, сгенерированный для конкретной проверяемой базы данных, и учитывать установленные модули. (mergebot.odoo.com)

Эти два механизма остаются различными. Маршрут /llms.txt публикует заданное администратором обычное текстовое содержимое, а robots.txt содержит ограничения краулеров для указанных технических и транзакционных маршрутов. Публикация llms.txt не отменяет необходимости проверять robots.txt, а наличие директив robots.txt не заполняет llms.txt. (Odoo Odoo Blob; mergebot.odoo.com)

Последствия для управления сайтом

Организациям, которые используют эту функцию, следует назначить ответственного за настройку llms.txt. Odoo публикует сохранённое непустое содержимое, но реализация не обновляет этот текст автоматически при изменении другого материала сайта. Поэтому его актуальность зависит от процесса проверки и поддержки контента в организации. (Odoo Odoo Blob; mergebot.odoo.com)

Публичную конечную точку следует проверять там, где файл должен быть доступен. Проверки только того, что редактор отображается в административном интерфейсе, недостаточно. Прямой запрос к /llms.txt должен возвращать нужный текст с типом содержимого plain-text и кодировкой UTF-8. (Odoo Odoo Blob; mergebot.odoo.com)

Процедуры проверки поисковых роботов также должны учитывать расположение ограничений маршрутов. Приёмочное тестирование Odoo 20 должно включать сгенерированный вывод robots.txt, особенно когда установленные модули предоставляют маршруты входа, оформления заказа, оплаты, подтверждения или портала. (mergebot.odoo.com)

Для полного анализа командам следует независимо проверить настроенное содержимое llms.txt и его публичный ответ, отдельно от сгенерированных директив robots.txt. Такое разделение помогает убедиться, что текст, заданный администратором, поведение конечной точки и ограничения для поисковых роботов, зависящие от модулей, проверяются по соответствующей части реализации. (Odoo Odoo Blob; mergebot.odoo.com)

Что реализация не определяет

Реализация подтверждает, как Odoo отображает и управляет настроенным содержимым llms.txt, но не предписывает, что именно организация должна писать в файле. Она также не определяет процесс утверждения, график проверки или ответственного за контент. Эти вопросы остаются внутренними решениями по управлению. (Odoo Odoo Blob; mergebot.odoo.com)

Реализация также подтверждает, что ограничения robots.txt формируются в соответствии с установленными модулями, но не предоставляет один универсальный вывод для любой возможной комбинации модулей. Командам не следует предполагать, что файл robots.txt из одной базы данных Odoo 20 представляет вывод другой среды с другим набором приложений. (mergebot.odoo.com)

Проверки перед публикацией

Сначала убедитесь, что редактор llms.txt доступен в настройках Website SEO. Введите утверждённое содержимое, сохраните его и выполните прямой запрос к /llms.txt. Заполненная конечная точка должна возвращать сохранённый текст как обычный текст UTF-8. Отсутствующее содержимое или содержимое, состоящее только из пробелов, должно возвращать ответ not-found. (Odoo Odoo Blob; mergebot.odoo.com)

Во-вторых, проверьте HTML-код корня сайта на наличие ссылки Odoo на llms.txt. Это проверяет элемент обнаруживаемости отдельно от самой конечной точки. Ответ маршрута и ссылка в HTML являются разными частями реализации, поэтому следует проверить обе. (mergebot.odoo.com)

В-третьих, получите robots.txt из оцениваемой среды. Проверьте сгенерированные директивы для соответствующих маршрутов входа, оформления заказа, оплаты, подтверждения и портала. Повторите эту проверку для баз данных с разными установленными модулями, а не применяйте ожидаемый результат из другой среды. (mergebot.odoo.com)

Наконец, зафиксируйте, публикуется ли llms.txt намеренно или оставляется пустым. Odoo поддерживает оба состояния через поведение настроенного содержимого и not-found, но программное обеспечение не документирует причину выбора организации в том или ином случае. Фиксация решения вместе с проверкой SEO и поисковых роботов на сайте даёт более ясную основу для последующих проверок конфигурации. (Odoo Odoo Blob; mergebot.odoo.com)