fix: устранить проблемы доступности llms.txt для AI-агентов
- Caddyfile: text/plain применяется только к существующим .txt/.md - Caddyfile: несуществующие .txt/.md отдают 404 вместо HTML-фолбэка - Caddyfile: добавлены редиректы /docs/llms*.txt → /llms*.txt - Caddyfile: добавлен HTTP-заголовок Link с rel="llms" (RFC 8288) - лендинг: относительные ссылки на llms.txt заменены на абсолютные - лендинг: добавлено явное упоминание путей в тексте карточки - config: добавлены <link rel="alternate"> на llms.txt в <head> - generate-llms: добавлена генерация robots.txt и sitemap.xml
This commit is contained in:
32
Caddyfile
32
Caddyfile
@@ -1,10 +1,34 @@
|
||||
:8080 {
|
||||
root * /srv
|
||||
|
||||
# Кириллица в .txt и .md ломается без явного charset
|
||||
@text path *.txt *.md
|
||||
header @text Content-Type "text/plain; charset=utf-8"
|
||||
# Устаревшие пути llms.txt в подпапках → корень.
|
||||
# Без этого опечатка `/docs/llms.txt` уходит в SPA-фолбэк и
|
||||
# отдаёт HTML под видом text/plain — агент верит, что получил llms.txt.
|
||||
redir /docs/llms.txt /llms.txt 301
|
||||
redir /docs/llms-full.txt /llms-full.txt 301
|
||||
|
||||
# Подсказка агентам, где лежит карта документации (RFC 8288).
|
||||
# Позволяет найти llms.txt без парсинга DOM — по HTTP-заголовку.
|
||||
header Link "</llms.txt>; rel=\"llms\""
|
||||
|
||||
# Кириллица в .txt/.md ломается без явного charset.
|
||||
# Применяем заголовок только к РЕАЛЬНО существующим файлам,
|
||||
# иначе SPA-фолбэк (HTML) уезжает с Content-Type: text/plain.
|
||||
@existingText {
|
||||
path *.txt *.md
|
||||
file
|
||||
}
|
||||
header @existingText Content-Type "text/plain; charset=utf-8"
|
||||
|
||||
# Несуществующие .txt/.md → 404, не HTML-фолбэк.
|
||||
# Это критично для llms.txt: агент должен получить честный 404,
|
||||
# а не валидный «как бы текст» с лендингом внутри.
|
||||
@missingText {
|
||||
path *.txt *.md
|
||||
not file
|
||||
}
|
||||
respond @missingText 404
|
||||
|
||||
file_server
|
||||
try_files {path} /index.html
|
||||
try_files {path} {path}/ /index.html
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user