llms.txt cho WordPress: nó là gì, thêm thế nào, và có tác dụng thật không
Ba cách đưa file llms.txt lên website WordPress, kèm những gì bằng chứng thực tế nói về việc có công ty AI nào thật sự đọc nó hay không.
Đã đăng
llms.txt là một file markdown thuần bạn đặt ở thư mục gốc tên miền — https://example.com/llms.txt — liệt kê những trang tốt nhất kèm một dòng mô tả cho mỗi trang, để mô hình ngôn ngữ tìm được nội dung hữu ích mà không phải bò qua toàn bộ hệ thống điều hướng. Đây là một đề xuất, không phải chuẩn, và chưa nhà cung cấp AI lớn nào công khai xác nhận rằng họ đọc hay hành động dựa trên file này.
Cả hai vế đều quan trọng. Định dạng thì có thật, được mô tả rõ ràng, và chỉ mất khoảng hai mươi phút để đăng lên. Còn lợi ích thì chưa được chứng minh, và phần lớn những gì đang được rao bán quanh chuyện này không nói thật điều đó.
File này trông thế nào
Định dạng được đề xuất là markdown với cấu trúc xác định: một thẻ H1 chứa tên website, một đoạn blockquote tóm tắt không bắt buộc, rồi các mục H2 chứa danh sách link dạng gạch đầu dòng, mỗi link kèm mô tả ngắn sau dấu hai chấm. Một mục đặt tên “Optional” báo hiệu phần nội dung có thể bỏ qua khi ngữ cảnh eo hẹp.
# 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.
Đó là toàn bộ phần đặc tả đáng để biết. Link nên ở dạng tuyệt đối. Mô tả nên gói trong một câu và mang tính sự kiện, không phải lời quảng cáo — tiền đề của cả định dạng này là có một cỗ máy đang đọc nó, và những tính từ nhồi nhét chỉ tiêu tốn đúng lượng token mà bạn đang cố tiết kiệm.
Bạn cũng sẽ gặp llms-full.txt, một quy ước đi kèm chứa toàn bộ nội dung dạng markdown của website gộp trong một file. Nó nặng hơn nhiều và còn ít bằng chứng hơn cả llms.txt. Hãy bỏ qua trừ khi bạn có lý do cụ thể.
Phần nói thật
Không có tài liệu công khai nào từ OpenAI, Anthropic, Google hay Perplexity nói rằng crawler hoặc hệ thống truy xuất của họ sử dụng llms.txt. Google đã công khai cho biết họ không dùng nó cho tìm kiếm. Chủ website đúng là có thấy request tới file này trong log máy chủ, nhưng một lượt tải không phải bằng chứng cho thấy nội dung đó định hình bất kỳ câu trả lời nào — rất nhiều bot dò tìm file theo kiểu thử vận may.
Vậy nên hãy thận trọng với những lời khẳng định bạn tin theo:
| Lời khẳng định bạn sẽ gặp | Thực tế |
|---|---|
| ”llms.txt là robots.txt phiên bản AI” | Sai. robots.txt có tài liệu và được tuân thủ; llms.txt mới chỉ là đề xuất. |
| ”Thêm llms.txt giúp cải thiện thứ hạng Google” | Không có bằng chứng. Google chưa nói rằng họ dùng file này. |
| ”ChatGPT đọc llms.txt của bạn” | OpenAI chưa xác nhận. |
| ”Đây là file rẻ tiền, đăng lên chẳng mất gì” | Đúng, và đây là lập luận vững chắc duy nhất cho nó. |
Quan điểm hợp lý là xem đây như một lựa chọn rẻ tiền để ngỏ. Một file văn bản tĩnh chỉ tốn của bạn một lần tải lên, không tốn chút thời gian tải trang nào, và không rủi ro. Nếu quy ước này được chấp nhận rộng rãi, bạn đã có sẵn. Nếu không bao giờ, bạn mất hai mươi phút. Đó là một cuộc đổi chác ổn — chỉ đừng để ai đó tính tiền nó như một chiến lược hiện diện trên AI.
Thêm nó vào WordPress
Cách 1: file tĩnh ở thư mục gốc (khuyến nghị)
Soạn file ở máy, rồi tải lên qua SFTP vào đúng thư mục chứa wp-config.php và index.php.
WordPress không chặn nó lại, vì khối rewrite mặc định trong .htaccess chỉ định tuyến những request không khớp sẵn với một file hoặc thư mục có thật:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Một file llms.txt có thật trên ổ đĩa sẽ không thoả điều kiện !-f, nên Apache phục vụ nó trực tiếp và PHP không hề chạy. Cấu hình Nginx dùng try_files $uri $uri/ /index.php cũng hành xử y hệt.
Một lưu ý: một số nhà cung cấp hosting WordPress dạng quản lý chặn ghi qua SFTP vào thư mục gốc web, hoặc chạy website từ một container image chỉ đọc. Nếu bạn rơi vào trường hợp đó, cách 2 và cách 3 là lối đi của bạn.
Cách 2: dùng plugin
Tìm “llms.txt” trong kho plugin WordPress — hiện đã có vài plugin tạo file này từ bài viết và trang đã đăng của bạn, và một số plugin SEO cũng đã bổ sung nó như một tính năng. Cách này thực sự hữu ích nếu bạn đăng bài thường xuyên, vì một danh sách viết tay sẽ nhanh chóng lỗi thời.
Tuy nhiên cái giá là có thật. Bạn đang thêm một plugin, một trang cài đặt và một bề mặt cần cập nhật, đổi lại việc tự động hoá một file chưa ai xác nhận là có đọc. Các danh sách sinh tự động cũng hay có xu hướng đổ hết mọi bài viết ra kèm phần trích dẫn làm mô tả, tạo ra một file dài lê thê và không phân biệt được gì — đúng ngược lại với tấm bản đồ được chọn lọc mà định dạng này hướng tới. Nếu dùng plugin, hãy tỉa bớt những gì nó xuất ra.
Cách 3: phục vụ từ theme bằng một filter
Nếu bạn không ghi được vào thư mục gốc web nhưng sửa code được, hãy đặt một mu-plugin nhỏ tại wp-content/mu-plugins/llms-txt.php để bắt request và phục vụ file lưu bên trong theme:
<?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;
} );
Dùng mu-plugin thay vì functions.php để đoạn code này sống sót qua việc đổi theme và cập nhật theme. Nếu vẫn muốn đặt trong functions.php, hãy dùng theme con.
Kiểm tra xem nó có thật sự được phục vụ không
Đừng đoán. Hãy kiểm tra mã trạng thái và kiểu nội dung:
curl -sI https://example.com/llms.txt
Bạn cần thấy 200 và Content-Type: text/plain. Có hai kiểu hỏng phổ biến:
- Bạn nhận được 200 nhưng phần thân là trang 404 của bạn. WordPress đã nuốt mất request. File không nằm ở nơi bạn tưởng, hoặc một plugin đang cướp tuyến đường đó.
- Bạn nhận được
Content-Type: text/html. Có thứ gì đó đang render nó qua theme. Sửa header trước rồi hãy lo tới nội dung.
Sau đó mở URL trong trình duyệt và đọc thử. Nếu có link nào trả về 404 hoặc trỏ tới http:// trong khi website chạy HTTPS, hãy sửa — một tấm bản đồ sai còn tệ hơn không có bản đồ.
Thứ thật sự đang kiểm soát crawler AI hôm nay
Nếu mục tiêu thực sự của bạn là tác động tới cách các hệ thống AI đối xử với website, thì robots.txt mới là file có tài liệu, được tuân thủ và đang có hiệu lực ngay lúc này. GPTBot, ClaudeBot, PerplexityBot, CCBot và Google-Extended đều là những user agent có tên tuổi với hành vi được công bố, và robots.txt quyết định chúng có được phép tải trang của bạn hay không.
Đó mới là cái cần gạt có cơ chế thật đứng sau. Hãy dựng file của bạn bằng trình tạo robots.txt, công cụ cho phép bạn cho phép hoặc chặn từng crawler AI một cách rõ ràng thay vì mò mẫm cú pháp. Làm đúng phần đó trước, rồi hãy thêm llms.txt như một món phụ rẻ tiền mang tính đặt cược.
Những điều không nên làm
Đừng vừa chặn crawler AI trong robots.txt vừa đăng llms.txt. Người ta hay làm chuyện này một cách vô tình — một file mời mô hình vào, file kia đóng sầm cửa lại. Cánh cửa thắng.
Đừng đặt llms.txt trong thư mục con. Quy ước chỉ chấp nhận cấp gốc. Một file tại /blog/llms.txt là một file không ai đi tìm.
Đừng dán nguyên sitemap vào đó. Bốn trăm link kèm những đoạn trích chung chung là một bãi đổ dữ liệu, không phải bản đồ được chọn lọc, và nó phá hỏng đúng mục đích duy nhất mà định dạng này tuyên bố. Hai mươi tới năm mươi trang thật sự hữu ích là kích thước phù hợp với đa số website.
Đừng vì nó mà trì hoãn việc thật. Tốc độ trang, HTML sạch, dữ liệu có cấu trúc chính xác và nội dung mà người ta thật sự trích dẫn đều đã được biết là có tác dụng. llms.txt thì chưa. Hãy sắp xếp công sức theo thứ tự đó.
FAQ
Câu hỏi
llms.txt trong WordPress là gì?
Đó là một file markdown thuần đặt ở thư mục gốc website, truy cập được tại yoursite.com/llms.txt, liệt kê những trang hữu ích nhất của bạn kèm một dòng mô tả cho mỗi trang. Ý tưởng là để mô hình ngôn ngữ khi đọc file này có ngay bản đồ nội dung gọn gàng, thay vì phải bò qua menu điều hướng, quảng cáo và banner cookie của bạn.
Các công ty AI có thật sự đọc llms.txt không?
Chưa có xác nhận công khai nào từ OpenAI, Anthropic, Google hay Perplexity rằng họ tải hoặc sử dụng llms.txt. Một số log máy chủ có ghi nhận request tới file này, nhưng một request không đồng nghĩa với việc nội dung đó ảnh hưởng tới câu trả lời. Hãy xem mọi lời khẳng định về lợi ích thứ hạng đã được chứng minh là quảng cáo thiếu căn cứ.
llms.txt đặt ở đâu trên website WordPress?
Ở thư mục gốc của tên miền, đúng chỗ robots.txt nằm, nên URL là yoursite.com/llms.txt và không có thư mục con nào. Hãy tải nó lên qua SFTP, đặt cạnh file index.php của WordPress. WordPress phục vụ file thật một cách trực tiếp vì các quy tắc rewrite của nó chỉ chuyển tiếp những request không khớp với file có sẵn.
llms.txt có giống robots.txt không?
Không. robots.txt là một quy ước đã được thiết lập, được các crawler AI như GPTBot, ClaudeBot và PerplexityBot ghi rõ trong tài liệu và tuân thủ, và nó quyết định chúng có được phép tải trang của bạn hay không. llms.txt là một đề xuất chưa được phê duyệt, chỉ gợi ý nên đọc cái gì. Một bên đang có hiệu lực thật, bên kia còn nằm trên giấy.
Thêm llms.txt có giúp SEO hay thứ hạng không?
Không có bằng chứng nào cho thấy nó ảnh hưởng tới thứ hạng Google, và Google chưa nói rằng họ dùng file này. Chi phí đăng nó gần như bằng không, nên lý do hợp lý để thêm là giữ một lựa chọn rẻ tiền cho tương lai chứ không phải một lợi ích đo đếm được. Đừng vì nó mà hạ ưu tiên tốc độ trang, dữ liệu có cấu trúc hay chất lượng nội dung.
Nên dùng plugin hay file tĩnh cho llms.txt?
Dùng file tĩnh nếu những trang tốt nhất của bạn ít thay đổi, vì cách này không tốn thêm chút PHP nào và không thể hỏng. Dùng plugin nếu bạn đăng bài liên tục và muốn danh sách được dựng lại tự động. Plugin thêm một phụ thuộc và một chút gánh nặng cho một file chưa ai xác nhận là có đọc, nên hãy bắt đầu bằng file tĩnh.