Sẽ mở trong thẻ mới
PDL AIAI Worker — trợ lý AI trực 24/7: trả lời khách, xử lý yêu cầu, báo cáo tự động
AI & Tự động hoá

Viết llms.txt và JSON-LD từng bước: hướng dẫn cho website doanh nghiệp nhỏ

Phú DigitalĐăng 11.10.2026Cập nhật 11.10.2026≈ … phút đọc
Bàn tay gõ phím laptop với mã nguồn hiển thị trên màn hình

Phần 2 của chuỗi “Website thời AI Agent”

Ở Phần 1, chúng tôi giới thiệu ba tầng để website sẵn sàng cho AI Agent: đọc hiểu, dữ liệu và hành động. Phần này đi vào hai việc rẻ nhất và có ích nhất: viết tệp llms.txt và gắn dữ liệu có cấu trúc JSON-LD. Bạn sẽ có mẫu để sao chép, cách kiểm tra từng bước, một bảng kiểm soát crawler AI trong robots.txt, và danh sách lỗi hay gặp. Tất cả làm được với website WordPress thông thường, không cần đội kỹ thuật riêng.

Bàn tay gõ phím laptop với mã nguồn hiển thị trên màn hình
llms.txt và JSON-LD đều là văn bản thuần: viết được trong một buổi chiều.

1. Vì sao hai việc này đáng làm trước

Trợ lý AI đọc website theo cách khác con người. Chúng không “nhìn” bố cục mà đọc chữ và mã. Nếu trang chỉ có hình ảnh đẹp mà thiếu chữ rõ ràng, AI phải suy đoán. llms.txt giúp chỉ ra trang nào quan trọng, còn JSON-LD nói rõ trang đó là gì: doanh nghiệp, dịch vụ, bài viết hay câu hỏi thường gặp.

Cả hai đều có chi phí thấp, không phá giao diện, và nếu làm sai cũng dễ gỡ. Đây là lý do chúng tôi xếp chúng vào tầng 1 và tầng 2 trong bài trước. Nếu bạn muốn hiểu bức tranh lớn hơn về việc được AI trích dẫn, hãy đọc thêm SEO thời AI: 7 việc để website được Google AI và ChatGPT trích dẫn và hướng dẫn SEO cho SearchGPT.

Cần nói thẳng: chưa có công cụ tìm kiếm lớn nào cam kết llms.txt hoặc JSON-LD sẽ giúp tăng thứ hạng hay chắc chắn được AI trích dẫn. Hãy coi đây là bước chuẩn bị chi phí thấp để máy hiểu đúng bạn, không phải mẹo tăng hạng.

2. Thuật ngữ mới cần biết

llms.txt

Tệp Markdown ở thư mục gốc website (địa chỉ /llms.txt), theo đề xuất công bố tại llmstxt.org. Bắt buộc chỉ có một tiêu đề cấp 1 là tên website; phần còn lại gồm đoạn tóm tắt dạng trích dẫn và các danh sách liên kết.

JSON-LD

Cách viết dữ liệu có cấu trúc dưới dạng một khối JSON trong thẻ script, dùng từ vựng của schema.org. Google khuyến nghị JSON-LD hơn các định dạng cũ như Microdata hay RDFa.

OAI-SearchBot và GPTBot

Hai crawler của OpenAI với hai mục đích khác nhau. Theo tài liệu của OpenAI, OAI-SearchBot phục vụ tìm kiếm trong ChatGPT, còn GPTBot liên quan đến việc huấn luyện mô hình. Chặn cái này không tự động chặn cái kia.

Google-Extended

Một “mã thông báo” trong robots.txt để bạn cho phép hoặc từ chối việc nội dung được dùng cho Gemini. Nó không tự gửi yêu cầu đến website và không quyết định việc bạn có xuất hiện trong Tìm kiếm Google hay không.

3. Viết llms.txt trong 5 bước

1

Chọn 8–15 trang quan trọng nhất

Trang dịch vụ, bảng giá, liên hệ, câu hỏi thường gặp, vài bài hướng dẫn chủ lực. Đừng liệt kê hết sitemap: mục tiêu là “mục lục chọn lọc”, không phải bản sao sitemap.

2

Viết một đoạn tóm tắt 2–3 câu

Bạn là ai, phục vụ ai, ở đâu, làm gì. Viết như đang giới thiệu với người lạ, không dùng khẩu hiệu quảng cáo.

3

Nhóm liên kết theo mục H2

Mỗi mục là một danh sách, mỗi dòng gồm tên liên kết và một câu mô tả ngắn sau dấu hai chấm. Mục tên “Optional” dành cho nội dung thứ yếu mà agent có thể bỏ qua khi cần ngữ cảnh ngắn.

4

Đặt tệp ở thư mục gốc

Trên WordPress, bạn tải tệp lên thư mục gốc qua trình quản lý tệp hoặc FTP, hoặc nhờ đơn vị làm website thêm một quy tắc để /llms.txt trả về nội dung. Kiểm tra bằng cách mở trực tiếp địa chỉ trong trình duyệt.

5

Kiểm tra liên kết và đặt lịch cập nhật

Mọi liên kết phải trả về trạng thái 200. Mỗi khi thêm trang lớn hoặc đổi giá, cập nhật tệp. Một tệp lỗi thời có hại hơn không có tệp.

Dưới đây là mẫu cho một doanh nghiệp nhỏ giả định (hãy thay bằng thông tin thật của bạn):

# Phòng khám Nha khoa Ánh Dương
> Phòng khám nha khoa gia đình tại Quận 7, TP.HCM. Nhận khám, trám răng, niềng răng và cấy ghép; có trả góp 0% cho một số gói điều trị.
Thông tin giá đã bao gồm công khám. Giờ mở cửa: 8:00–19:30, thứ Hai đến thứ Bảy.
## Dịch vụ
- [Niềng răng](https://example.vn/nieng-rang): các gói niềng, thời gian và khoảng giá
- [Trám răng thẩm mỹ](https://example.vn/tram-rang): quy trình và chi phí
## Thông tin
- [Bảng giá](https://example.vn/bang-gia): giá niêm yết từng dịch vụ
- [Liên hệ và đặt lịch](https://example.vn/lien-he): địa chỉ, bản đồ, số điện thoại
## Optional
- [Blog chăm sóc răng](https://example.vn/blog): bài hướng dẫn cho người bệnh
Trình soạn thảo mã với cấu trúc tệp và đoạn mã được tô màu
Cả llms.txt lẫn JSON-LD đều có thể soạn trong trình soạn thảo văn bản thông thường.

4. Gắn JSON-LD đúng cách

JSON-LD là một khối văn bản đặt trong thẻ script có kiểu application/ld+json. Với doanh nghiệp nhỏ, ba loại sau là đủ để bắt đầu.

Organization hoặc LocalBusiness

Đặt ở trang chủ hoặc trang giới thiệu. Theo hướng dẫn của Google, không có thuộc tính bắt buộc, hãy điền những gì đúng với bạn. Doanh nghiệp có địa điểm thật nên dùng loại con cụ thể của LocalBusiness.

Service hoặc Product

Đặt ở từng trang dịch vụ hoặc sản phẩm: tên, mô tả, khu vực phục vụ, khoảng giá nếu có. Nội dung phải khớp chữ hiển thị trên trang.

Article

Đặt ở bài viết: tiêu đề, ngày đăng, ngày sửa, tác giả, ảnh đại diện. Nhiều plugin SEO đã tự làm việc này.

FAQPage

Vẫn hợp lệ về mặt từ vựng, nhưng Google cho biết kết quả FAQ chỉ dành cho một số website uy tín về chính phủ hoặc y tế. Đừng kỳ vọng hiển thị đặc biệt trên Google; giá trị chính là câu trả lời rõ ràng trong chữ của trang.

Mẫu LocalBusiness rút gọn:

<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Phòng khám Nha khoa Ánh Dương",
"url": "https://example.vn/",
"telephone": "+84-900-000-000",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Đường số 1",
"addressLocality": "Quận 7",
"addressRegion": "TP.HCM",
"addressCountry": "VN"
},
"openingHours": "Mo-Sa 08:00-19:30",
"sameAs": ["https://www.facebook.com/example"]
}
</script>

Trên WordPress, bạn có thể dán khối này vào phần mã tuỳ chỉnh của trang chủ, hoặc dùng plugin SEO sẵn có nếu nó hỗ trợ. Với website dựng bằng trình xây dựng trang, hãy nhờ người làm kỹ thuật thêm đúng vị trí để không bị hỏng khi chỉnh sửa giao diện. Sau khi gắn, mở công cụ Rich Results Test của Google, dán địa chỉ trang và xem có cảnh báo hay lỗi không.

5. Kiểm soát crawler AI trong robots.txt

Nhiều doanh nghiệp chặn toàn bộ crawler AI chỉ vì sợ bị “lấy nội dung”, rồi thắc mắc vì sao không bao giờ được nhắc tên. Bảng dưới đây giúp bạn quyết định có chủ đích:

Muốn xuất hiện trong ChatGPT Search

Cho phép OAI-SearchBot. Theo OpenAI, thay đổi robots.txt có thể mất khoảng 24 giờ để có hiệu lực.

Không muốn nội dung dùng để huấn luyện

Chặn GPTBot, và tuỳ chọn chặn Google-Extended. Hai việc này độc lập với việc bạn có xuất hiện trong tìm kiếm hay không.

Người dùng nhờ AI mở trang của bạn

Đây là truy cập do người dùng khởi tạo (ChatGPT-User). OpenAI mô tả nó không dùng để thu thập tự động; một dòng Disallow không phải cách kiểm soát đáng tin cậy ở đây.

Muốn tránh hiện trong AI Overviews

Google-Extended không làm được việc này. Cần dùng các chỉ thị về đoạn trích như nosnippet, và phải cân nhắc vì sẽ ảnh hưởng cả kết quả tìm kiếm thường.

Ví dụ: robots.txt hiện tại của pdl.vn chỉ chặn trang quản trị và trang tìm kiếm nội bộ, nên không cản crawler AI nào. Đây là điểm xuất phát tốt: chỉ thêm quy tắc khi bạn có lý do rõ ràng.

Lập trình viên làm việc trước nhiều màn hình hiển thị mã nguồn
Kiểm tra lại robots.txt sau mỗi lần cài plugin bảo mật hoặc đổi hosting.

6. Ví dụ thực tế cho doanh nghiệp nhỏ Việt Nam

Cửa hàng nội thất: llms.txt liệt kê các nhóm sản phẩm, chính sách bảo hành, thời gian giao hàng và trang báo giá. JSON-LD Product ở từng trang sản phẩm có giá và tình trạng còn hàng. Khi khách nhờ AI so sánh các cửa hàng nội thất trong khu vực, thông tin của bạn có cấu trúc rõ ràng để đối chiếu.

Trung tâm đào tạo kỹ năng: mỗi khoá một trang với lịch khai giảng, học phí, đối tượng. JSON-LD cho Organization ở trang chủ; llms.txt dẫn thẳng tới lịch khai giảng hiện hành. Bạn có thể tham khảo cách chúng tôi trình bày thông tin khoá học trong khối đào tạo của PDL Digital.

Đơn vị dịch vụ B2B: trang dịch vụ mô tả quy trình, thời gian, phạm vi; Service trong JSON-LD nêu khu vực phục vụ. Tham khảo cách một trang dịch vụ được viết để máy và người cùng hiểu tại giải pháp Phòng MKT thuê ngoài.

7. Lỗi thường gặp

Dữ liệu không khớp nội dung hiển thị. Giá trong JSON-LD khác giá trên trang là lỗi nặng nhất, vì gây hiểu sai ở cả tìm kiếm lẫn AI. Bê nguyên mẫu mạng. Đừng để lại số điện thoại hoặc địa chỉ giả của mẫu. Dùng nhiều plugin cùng tạo JSON-LD. Hai nguồn tạo ra hai bản trùng và mâu thuẫn; chỉ để một nguồn chịu trách nhiệm. llms.txt dài như sitemap. Hãy chọn lọc. Quên cập nhật sau khi đổi giá hoặc địa chỉ. Chặn crawler bằng plugin bảo mật mà không biết. Kiểm tra robots.txt thực tế trên trình duyệt thay vì tin vào cài đặt. Kỳ vọng thần kỳ. Hai việc này không đảm bảo lượt trích dẫn; hãy đo bằng cách hỏi thử AI định kỳ, như đã hướng dẫn ở Phần 1.

8. Quy trình làm trong một buổi chiều

Phút 0–30: chọn trang và viết đoạn tóm tắt. Phút 30–60: soạn llms.txt, tải lên và kiểm tra liên kết. Phút 60–120: gắn Organization hoặc LocalBusiness ở trang chủ, kiểm tra bằng Rich Results Test. Phút 120–180: thêm Service cho 2–3 trang dịch vụ chính. Phút 180–210: rà robots.txt. Phút 210–240: hỏi thử 5 câu khách hay hỏi trên vài trợ lý AI và ghi lại kết quả làm mốc so sánh.

9. Câu hỏi thường gặp

llms.txt có thay thế được sitemap không?

Không. Sitemap dành cho công cụ tìm kiếm và liệt kê đầy đủ; llms.txt là bản chọn lọc, dễ đọc, dành cho mô hình ngôn ngữ.

Có cần cả llms.txt lẫn JSON-LD không?

Nên có cả hai nhưng ưu tiên JSON-LD trước vì nó có ích cho tìm kiếm thông thường. llms.txt là phần bổ sung rẻ.

Tôi dùng plugin SEO thì có cần tự viết JSON-LD không?

Thường plugin đã tạo sẵn Organization, Article và breadcrumb. Hãy xem mã nguồn trang để biết nó đã tạo gì, rồi chỉ bổ sung phần còn thiếu như Service.

Có nên chặn GPTBot không?

Tuỳ chính sách nội dung của bạn. Chặn GPTBot liên quan đến việc huấn luyện, không phải việc xuất hiện trong ChatGPT Search; muốn xuất hiện ở đó, hãy cho phép OAI-SearchBot.

Đọc tiếp trong chuỗi “Website thời AI Agent”

Muốn có người làm giúp? PDL Digital rà soát website, soạn llms.txt, bổ sung JSON-LD đúng và kiểm tra lại với các trợ lý AI. Bắt đầu từ trang thiết kế website hoặc liên hệ để nhận tư vấn miễn phí.

Tác giả
Phú Digital
Đội ngũ PDL Digital — triển khai website, giải pháp AI và digital marketing cho doanh nghiệp.
Cùng tần số

Bài cùng chủ đề

Tư vấn 1:1

Bạn đang có bài toán số cần gỡ?

Website · AI · Quảng cáo · 360VR — chuyên gia PDL phản hồi trong giờ làm việc (T2–T7, 8h–18h).
Xem giải pháp
<script src="https://cdn.jsdelivr.net/npm/page-flip/dist/js/page-flip.browser.js"></script>

<div id="container-flipbook" style="display:flex; justify-content:center;">
    <div id="my-flipbook">
       <div class="page"> <img src="https://pdl.vn/wp-content/uploads/2025/05/AI-Google-Search.jpg" /> </div>
       <div class="page"> <img src="https://pdl.vn/wp-content/uploads/2025/05/wearable-tech-advertising.jpg" /> </div>
       <div class="page"> <img src="https://pdl.vn/wp-content/uploads/2025/05/multimodal-embeddings-digital-marketing.jpg" /> </div>
    </div>
</div>
#my-flipbook {
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
    margin: 20px auto;
    background-color: #f0f0f0;
}

.page {
    background-color: white;
    overflow: hidden;
}

.page img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Giúp ảnh vừa vặn trang sách */
}
// Đảm bảo thư viện đã sẵn sàng
function initFlipbook() {
    const el = document.getElementById("my-flipbook");
    if (!el || !window.St) return; // Nếu chưa thấy thư viện St thì thoát

    const pageFlip = new St.PageFlip(el, {
        width: 550,
        height: 733,
        size: "stretch",
        minWidth: 315,
        maxWidth: 1000,
        minHeight: 420,
        maxHeight: 1350,
        showCover: true,
        maxShadowOpacity: 0.5,
    });

    pageFlip.loadFromHTML(document.querySelectorAll(".page"));
}

// Chạy khởi tạo
if (document.readyState === 'complete') {
    initFlipbook();
} else {
    window.addEventListener('load', initFlipbook);
}
PDL · Tư vấn 1:1

Nhận tư vấn
miễn phí

Để lại thông tin, chuyên viên PDL sẽ liên hệ để hiểu nhu cầu và đề xuất giải pháp phù hợp ngân sách của bạn.

  • Phân tích nhanh hiện trạng website, quảng cáo, kênh bán hàng
  • Đề xuất lộ trình & báo giá minh bạch, rõ từng hạng mục
  • Không ràng buộc: nghe tư vấn xong mới quyết định
Giờ làm việc T2–T7 · 08:00–18:00

Chỉ mất khoảng 30 giây

Bạn cần tư vấn về

🔒 Thông tin được bảo mật, chỉ dùng để PDL liên hệ tư vấn.