Ngày 19/10/2026, bốn probe public trên nghiane.com cho ra một tổ hợp khá rõ: /llms.txt và /llms-full.txt trả 404 với body rỗng, còn /robots.txt và /sitemap.xml đều trả 200. Kết quả này xác nhận endpoint LLM chưa được phục vụ, nhưng chưa đủ để nói site đang dùng Botble phiên bản nào, setting nào đang tắt hay route nào bị lỗi.

Botble đã bổ sung llms.txt động trong năm 2026. Tuy vậy, 404 đôi khi là trạng thái chủ động và hợp lý, nhất là với llms-full.txt. Cách xử lý an toàn là ghi bằng chứng HTTP trước, kiểm phiên bản và cấu hình trên staging, rồi mới quyết định bật hay giữ tắt. Đừng biến một file discovery thành lời hứa “AI SEO” mà không có dữ liệu.

404 đang nói điều gì?

Probe được chạy lúc 10:12 UTC+7, không đăng nhập và không thay đổi production. Hai endpoint LLM đều trả 404, Content-Type: text/plain; charset=utf-8, Cache-Control: no-cache, private và body 0 byte. robots.txt trả 200 với một dòng Sitemap; sitemap.xml trả 200, kiểu text/xml và có 14 URL tuyệt đối trong response.

Như vậy, site vẫn có hai bề mặt discovery quen thuộc. Riêng 404 của llms.txt chỉ thu hẹp phạm vi điều tra: feature có thể chưa tồn tại ở core cũ, bị tắt trong setting, chưa tới đúng document root, hoặc một cache/proxy đang giữ response cũ. Không nên suy phiên bản production từ status code; bài này cũng không đọc file server, không mở admin và không bật setting thật.

for path in llms.txt llms-full.txt robots.txt sitemap.xml; do
  curl -L -sS -o /dev/null \
    -w "$path  %{http_code}  %{content_type}  %{url_effective}\n" \
    "https://example.com/$path"
done

Đoạn lệnh chỉ đọc này giúp lưu status, content type và final URL. Nếu site đa ngôn ngữ, final URL đặc biệt quan trọng: changelog 7.6.11 có một bản sửa cho các file ở root bị đẩy sang language prefix. Nếu probe tự chuyển từ /llms.txt sang /vi/llms.txt, hãy ghi redirect chain trước khi xoá cache.

Ba mốc Botble cần đối chiếu

Changelog Botble core cho thấy tính năng không xuất hiện nguyên khối trong một phiên bản. Bản 7.6.9 ngày 27/06/2026 thêm dynamic llms.txt fallback. Bản 7.6.10 ngày 28/07 thêm setting bật/tắt, đưa Core Version vào System Information và sửa HTML entity trong output. Bản 7.6.11 ngày 30/08 thêm AI crawler policy, đồng thời sửa shortcode còn lộ trong llms-full.txt và lỗi redirect root file ở site đa ngôn ngữ.

Ma trận ba mốc Botble 7.6.9, 7.6.10 và 7.6.11 liên quan đến llms.txt
Ba mốc không thay thế nhau: kiểm core version trước, rồi mới kiểm setting và policy/output.
CoreĐiểm liên quanViệc cần kiểm
Trước 7.6.9Chưa có dynamic fallback theo changelogLập kế hoạch nâng cấp; đừng tìm một setting chưa tồn tại
7.6.9Có đường phục vụ độngKiểm route, document root và static file
7.6.10Có công tắc enable/disableĐọc System Information và Settings → Sitemap trên staging
7.6.11 trở lênCó crawler policy và các fix output/root routeAudit policy, shortcode, redirect và cache

Trang changelog hiện liệt kê 7.6.12 ngày 01/10/2026, nhưng mục release đó không nêu thay đổi mới cho llms.txt. Điều này không đồng nghĩa mọi site chạy 7.6.12 sẽ tự động trả 200: cấu hình, static file, cache và chính sách nội dung vẫn quyết định đầu ra.

Kiểm theo cây quyết định, không clear all ngay

Bắt đầu ở System Information hoặc nguồn version đã được phép đọc. Nếu core cũ hơn 7.6.9, dừng ở kế hoạch nâng cấp có backup và staging. Nếu core đủ mới, mở Settings → Sitemap trên staging để kiểm master switch và tùy chọn llms.txt. Theo tài liệu Sitemap của Botble, dynamic endpoint chỉ được dùng khi không có file tĩnh public/llms.txt; file tĩnh có quyền ưu tiên.

Chỗ này dễ gây nhầm theo cả hai hướng. Có file tĩnh đúng document root thì response có thể không phản ánh setting động. Ngược lại, đặt file vào sai thư mục release hoặc symlink hiện hành thì tưởng đã override nhưng web server không thấy. Hãy ghi absolute deployment path trong runbook nội bộ, nhưng đừng đưa đường dẫn máy chủ hay secret vào bài public hoặc ảnh chụp.

Cây quyết định sáu bước từ bằng chứng HTTP đến quyết định bật, sửa staging hoặc giữ tắt llms.txt
404 chỉ là điểm bắt đầu; nhánh cuối còn phụ thuộc privacy audit, không chỉ việc route có trả 200 hay không.

Sau khi xác nhận version, setting và precedence, chỉ xoá đúng cache liên quan trên staging rồi probe lại. Botble nói llms.txt động được cache một giờ. CDN hoặc reverse proxy còn có thể giữ 404 theo chính sách riêng. Việc “clear all” toàn production có thể làm triệu chứng biến mất mà không cho biết layer nào sai, giống tình huống giao diện cũ sau deploy; checklist Botble hiện giao diện cũ sau deploy tách cache ứng dụng, asset và quyền file theo thứ tự rõ hơn.

Response 200 vẫn chưa phải pass

Khi staging trả 200, hãy đọc body như một artifact có thể phát tán. Repository Answer.AI llms.txt mô tả đây là một proposal dùng Markdown: H1 đặt tên site, blockquote tóm tắt và các nhóm H2 chứa danh sách link. Đây là convention cộng đồng, không phải tiêu chuẩn W3C hay IETF, và file tồn tại không bảo đảm chatbot sẽ đọc, trích dẫn hoặc tăng traffic.

Một output đạt mức vận hành nên qua ít nhất năm kiểm tra:

  • UTF-8 hợp lệ, không có ký tự thay thế, HTML entity hỏng hoặc shortcode thô.
  • URL tuyệt đối dùng đúng canonical host, không trỏ vòng qua hostname cũ hay language prefix sai.
  • Mẫu link trả 200 và chỉ dẫn tới nội dung public mong muốn; loại admin, login, preview, draft và query token.
  • Link không trùng canonical; số lượng và nhóm nội dung khớp phạm vi đã định, không nhất thiết sao chép toàn sitemap.
  • Response headers và cache TTL được ghi lại để lần kiểm sau phân biệt content cũ với route hỏng.

Tài liệu Botble đặt giới hạn mặc định 100 page và 50 blog post trong file index; khi nhiều hơn, file trỏ về XML sitemap để bao phủ đầy đủ thay vì cắt im lặng. Vì vậy, thấy llms.txt ngắn hơn sitemap chưa chắc là bug. Với shortcode động trong full text, có thể đối chiếu thêm quy trình test cache và escape cho Botble shortcode để tránh đưa marker hoặc HTML ngoài dự kiến ra public.

Có nên bật llms-full.txt?

llms-full.txt khác hẳn file index. Theo docs, nó mặc định tắt, có thể phát toàn văn page và post đã publish, dùng ngân sách output tối đa 5 MB, và trả 404 khi bị tắt hoặc không có nội dung. Nói cách khác, 404 ở endpoint này có thể là kết quả đúng chứ không phải lỗi cần “sửa”.

Trước khi bật, cần xem quyền tái xuất bản, dữ liệu cá nhân, nội dung thành viên, paywall, shortcode và cách plugin bổ sung content type. “Đã public trên trang” không tự động trả lời câu hỏi có nên gom toàn văn vào một response dễ tải hay không. Nếu chưa có chủ sở hữu nội dung và policy rõ ràng, giữ endpoint full-text ở 404 là lựa chọn thận trọng.

Positive control phù hợp là một staging snapshot đã loại dữ liệu nhạy cảm: bật index động, giữ full-text tắt và chứng minh lần lượt 200/404. Negative control tắt index phải trả 404. Precedence control thêm một file tĩnh vô hại rồi xác nhận nội dung tĩnh thắng route động, sau đó gỡ file trên chính fixture. Lượt kiểm tra này không có Botble fixture hợp lệ nên không tuyên bố ba control đã chạy; bằng chứng chỉ gồm public probe và tài liệu/changelog chính thức.

robots.txt, sitemap và llms.txt không thay nhau

sitemap.xml liệt kê URL để công cụ khám phá nội dung. llms.txt cung cấp bản đồ Markdown có chọn lọc và mô tả ngắn. robots.txt thể hiện chính sách crawl tự nguyện. Botble 7.6.11 nối AI crawler policy vào robots và llms, nhưng robots vẫn không phải access control; crawler có thể không tuân theo.

Nếu một URL thật sự không được phép lộ, hãy bảo vệ bằng authentication, authorization và rule ở web server/CDN phù hợp. Đừng trông chờ một dòng Disallow để che draft hoặc secret. Ở chiều ngược lại, cho phép crawler trong robots cũng không đồng nghĩa cần bật llms-full.txt; discovery, crawl policy và tái xuất bản toàn văn là ba quyết định riêng.

Sau khi chỉnh sitemap hoặc policy trên staging, kiểm lại canonical và các link public bằng checklist SEO kỹ thuật cho blog Botble. Việc này giúp bắt hostname cũ, redirect và URL không index được mà một response 200 đơn lẻ không nói hết.

Chốt theo ba nhánh

Nếu core cũ, lên kế hoạch nâng cấp thay vì vá route đoán mò. Nếu core đủ mới nhưng setting, static precedence hoặc cache sai, sửa trên staging rồi chạy lại ma trận HTTP. Nếu endpoint hoạt động mà privacy audit không đạt, giữ tắt vẫn là quyết định đúng.

Với nghiane.com tại thời điểm kiểm tra, kết luận dừng ở mức: hai endpoint LLM đang 404, còn robots và sitemap hoạt động. Chưa có bằng chứng để gọi đó là lỗi core hay lỗi cấu hình. Một checklist có version, headers, sample link và privacy gate hữu ích hơn nhiều so với bật file cho có rồi chờ một lợi ích xếp hạng chưa được chứng minh.