LUMESEO
audit kỹ thuật AI crawlerSnapshot 10-09-2026OAI-SearchBotGPTBotrobots.txttechnical GEOThời gian đọc 26 phút

Website doanh nghiệp Việt có cho AI bot đọc được không? Audit 100 site và checklist tự kiểm

Bạn có thể tự kiểm tra theo năm cổng: phản hồi máy chủ, robots.txt, WAF/CDN, Sitemap–canonical và HTML thực tế. Audit 100 website cho thấy lỗi truy cập có tồn tại, nhưng mở bot mới chỉ là điều kiện đầu vào — không phải bằng chứng website sẽ được ChatGPT trích dẫn hoặc đề xuất.

Xuất bản · Cập nhật

Câu trả lời nhanh

Chẩn đoán theo thứ tự access → discovery → render/content → entity → evidence. Nếu bot chưa lấy được URL, sửa kỹ thuật. Nếu lấy được mà thương hiệu vẫn không được đề xuất, chuyển sang intent, entity và bằng chứng; đừng tiếp tục chỉnh robots.txt như thể đó là ranking factor.

Tác giả

Sam

LUMESEO

Sáng lập · 8 năm SEO · 3 năm AI engineering

Sam, sáng lập LUMESEO. Từ 2018 làm technical SEO và tăng trưởng xuất khẩu (index, IA, hreflang, GSC); từ 2023 làm cấu trúc trang và đo mẫu cho AI Search. Bài này do anh viết hoặc duyệt cuối. Dữ liệu từ thí nghiệm kiểm soát hoặc dự án ẩn danh — không cam kết thứ hạng hay được mô hình nêu tên.

Câu trả lời trực tiếp

Trong 100 domain của mẫu, 70 robots.txt đọc được và chỉ một website chặn rõ OAI-SearchBot toàn site; 30 domain còn lại là unknown tại thời điểm đo. Trong 71 homepage đọc được, 27 có Organization Schema và 26 có sameAs. Con số quan trọng với từng doanh nghiệp không phải tỷ lệ trung bình, mà là URL thương mại quan trọng của chính mình có trả nội dung đúng cho bot, nằm trong Sitemap canonical và để lại log request hay không.

Phù hợp cho: Đội marketing, web, IT và agency Việt Nam cần tự xác định vì sao website chưa được AI Search tìm thấy trước khi viết thêm nội dung.

Vì sao “robots.txt không chặn” vẫn chưa trả lời được website có sẵn sàng cho GEO?

Robots chỉ là một lớp chính sách. Request còn có thể bị redirect sai, WAF chặn, trả soft error, render shell hoặc dẫn đến URL không canonical. Ngay cả khi mọi lớp kỹ thuật đều ổn, hệ thống vẫn cần hiểu công ty là ai và tìm thấy claim đủ cụ thể, nhất quán, có nguồn.

  • GPTBot và OAI-SearchBot có mục đích khác nhau.
  • HTTP 200 có thể trả trang lỗi hoặc HTML rỗng.
  • Homepage mở không chứng minh service/product URL mở.
  • Sitemap không bù cho canonical sai hoặc internal link yếu.
  • Schema chỉ mô tả dữ liệu hiển thị; không tự tạo uy tín.
  • Crawler request không phải citation, recommendation hay user referral.

Cách chọn mẫu và đọc chính sách bot

Mẫu được khóa trước khi kiểm tra website. Bộ phân tích robots gom từng nhóm user-agent, áp dụng nhóm gọi tên bot nếu có, nếu không mới đọc nhóm *. “Partial” nghĩa là nhóm áp dụng có cả đường dẫn cho phép và không cho phép; không đồng nghĩa bot bị chặn toàn site.

Dữ liệu dùng trong phương pháp →

01. Chọn 100 thực thể

Truy vấn Wikidata cho doanh nghiệp tại Việt Nam có P856; sắp xếp theo QID để lần chạy có thể tái tạo.

02. Kiểm tra phản hồi trực tiếp

Theo redirect, lưu status cuối và content type; không biến timeout thành 404.

03. Phân tích robots theo đối tượng

Tách allowed, partial, blocked, unspecified và unavailable cho bốn crawler cùng product token Google-Extended.

04. Kiểm tra khả năng khám phá

Tìm Sitemap được khai báo hoặc sitemap.xml hoạt động.

05. Kiểm tra nhận diện thực thể

Tìm Organization JSON-LD và số URL sameAs trong HTML trang chủ.

06. Xác thực llms.txt

Chỉ tính hợp lệ khi phản hồi 200 là text/markdown hoặc text/plain; trang soft-404 HTML không được tính.

Kết quả audit và cách áp dụng cho website của bạn

Dùng access ladder để biết phải giao việc cho ai

Nếu request không tới máy chủ, kiểm DNS/CDN/WAF. Nếu tới nhưng bị robots từ chối, kiểm nhóm user-agent và path. Nếu trả 200 nhưng nội dung sai, kiểm redirect/render/soft error. Nếu HTML đúng nhưng không được dùng, giao cho content/entity/evidence owner. Cách phân tầng này ngăn đội content bị yêu cầu viết thêm khi lỗi nằm ở hạ tầng — hoặc đội kỹ thuật bị yêu cầu sửa robots khi vấn đề là thiếu lý do để đề xuất.

1. Chặn OAI-SearchBot toàn site không phổ biến trong 70 robots đọc được

Một website bị phân loại blocked đối với OAI-SearchBot; 6 allowed, 58 partial và 5 unspecified. 30 robots.txt unavailable là unknown, không được gộp vào nhóm “không chặn”. Partial thường đến từ Disallow theo thư mục trong nhóm *, nên cũng không thể gọi 58 website này là chặn toàn site.

2. GPTBot và Google-Extended phải được gọi đúng loại

GPTBot có 14 website blocked. Google-Extended cũng có 14 robots policy blocked, nhưng đây là product token kiểm soát việc sử dụng nội dung, không có HTTP User-Agent riêng. Google cho biết token này không ảnh hưởng việc được đưa vào Google Search và không phải ranking signal.

3. 71/100 homepage có raw HTML đọc được

29 website còn lại gồm timeout, lỗi kết nối hoặc phản hồi không phải HTML tại điểm đo. Kết quả này là ảnh chụp từ hạ tầng kiểm tra, không chứng minh các site đó luôn ngoại tuyến với mọi crawler.

4. Không biến homepage không đọc được thành “không có Schema”

63 website có Sitemap được khai báo hoặc sitemap.xml khả dụng. Trong 71 homepage đọc được, 27 có Organization Schema (38,0%) và 26 có ít nhất một sameAs (36,6%). Nếu giữ toàn cohort làm mẫu số, hai tỷ lệ là 27% và 26%; 29 homepage còn lại là unknown.

5. ChatGPT-User không nằm trong bảng chính sách

OpenAI mô tả ChatGPT-User là user-agent cho một số hành động do người dùng khởi tạo, không dùng để tự động crawl web và không quyết định nội dung xuất hiện trong Search. Vì robots.txt có thể không áp dụng cho loại request này, nghiên cứu không xếp ChatGPT-User cùng bốn crawler tự động.

6. llms.txt vẫn là tín hiệu hiếm

Chỉ 7/100 URL llms.txt trả nội dung plaintext/markdown hợp lệ. Việc có hay không có file này không được dùng để kết luận website sẽ được đề xuất; nó chỉ là một tệp hỗ trợ tự mô tả.

7. Lỗi quan trọng nhất nằm sau robots.txt

Nếu OAI-SearchBot không bị chặn, ưu tiên tiếp theo nên là trang chủ sở hữu cho từng dịch vụ/sản phẩm, thực thể công ty nhất quán, nguồn bên thứ ba và bằng chứng giúp người mua ra quyết định. Mở bot mà không có các lớp này chỉ làm một website mỏng dễ truy cập hơn.

Chính sách bốn crawler AI và một product token trong robots.txt

Chính sách bốn crawler AI và một product token trong robots.txt
Crawler / product tokenAllowedPartialBlockedUnspecifiedUnavailable
OAI-SearchBot6581530
GPTBot64514530
Google-Extended64514530
ClaudeBot64811530
PerplexityBot6581530

Partial = có quy tắc theo đường dẫn trong nhóm áp dụng; không đồng nghĩa blocked toàn site.

Kiểm tra trong 15 phút

Bài kiểm tra AI access trong 15 phút

Cổng 1 · URL và phản hồi

  • Chọn homepage, service page và một research/case page.
  • Ghi status cuối, redirect, content type và canonical.
  • Kiểm tra nội dung thật, không chỉ mã 200.

Cổng 2 · Chính sách bot

  • Đọc riêng OAI-SearchBot và GPTBot.
  • Kiểm tra rule áp dụng cho đúng path.
  • Ghi unknown nếu robots hoặc request không đọc được.

Cổng 3 · Discovery

  • Xác nhận URL canonical nằm trong Sitemap.
  • Kiểm internal link từ hub phù hợp.
  • Không để tham số hoặc bản dịch sai locale cạnh tranh.

Cổng 4 · Log xác nhận

  • Tìm request thật theo user-agent và URL.
  • Tách crawler khỏi browser referral.
  • Lưu timestamp, status và path để so sau release.

Cổng 5 · Chuyển sang GEO

  • Kiểm quick answer, claim, nguồn, entity và owner intent.
  • Chạy prompt baseline riêng.
  • Đo citation/recommendation/referral, không báo crawl như kết quả kinh doanh.

Ví dụ tình huống

Ba cách đọc robots không bị sai

Nhóm * chặn /admin

Tình huống: OAI-SearchBot kế thừa nhóm * có một đường dẫn Disallow.

Cách làm: Ghi “partial” và kiểm tra URL nội dung cụ thể.

Kết quả: Không tuyên bố bot bị chặn toàn site.

GPTBot bị chặn, OAI-SearchBot được mở

Tình huống: Doanh nghiệp không muốn dữ liệu phục vụ huấn luyện nhưng muốn xuất hiện trong tìm kiếm.

Cách làm: Giữ chính sách theo đúng user-agent và mục tiêu kinh doanh.

Kết quả: Báo cáo hai trạng thái riêng thay vì một nhãn ChatGPT.

llms.txt trả HTML 200

Tình huống: Server điều hướng đường dẫn không tồn tại về trang chủ.

Cách làm: Kiểm tra content type và nội dung, không chỉ status.

Kết quả: Soft-404 không được tính là llms.txt hợp lệ.

Checklist thực hiện

Checklist audit trong 30 phút

  • 01Trang chủ có phản hồi ổn định?
  • 02robots.txt có nhóm bot riêng?
  • 03OAI-SearchBot có bị Disallow /?
  • 04Sitemap có URL canonical?
  • 05Organization Schema có khớp nội dung hiển thị?
  • 06sameAs có dẫn tới hồ sơ độc lập thật?
  • 07WAF có chặn user-agent hợp pháp?
  • 08Có dữ liệu sau crawl để đo citation hoặc referral?

Snapshot kỹ thuật 10-09-2026

Website trong mẫu

100

Wikidata + website chính thức

Robots đọc được

70

30 unavailable = unknown

OAI-SearchBot blocked

1/70

Không dùng 1/100 làm tỷ lệ xác định

Sitemap khả dụng

63

Organization Schema

27/71

27/100 toàn cohort

Có sameAs

26/71

26/100 toàn cohort

llms.txt hợp lệ

7

Các phép kiểm tra live có thể thay đổi theo WAF và thời điểm. Dataset lưu từng URL, status và cách phân loại để người đọc kiểm tra lại.

Ledger 100 website, bốn crawler và một product token

Phiên bản dữ liệu: 2026-09-10-r2

Có URL, unknown state, robots policy, Sitemap, Schema/sameAs theo homepage đọc được, llms.txt và ghi chú loại trừ ChatGPT-User.

Mở dataset JSON

Khi nào nên dừng sửa kỹ thuật và chuyển sang bằng chứng?

Khi URL mục tiêu trả nội dung đầy đủ, không bị rule chặn, có canonical đúng, nằm trong Sitemap/internal link và đã thấy request hợp lệ trong log, vòng technical triage cơ bản đã hoàn tất. Bước tiếp theo là làm rõ buyer task, entity và nguồn hỗ trợ claim.

  • Lưu bằng chứng pass/fail theo URL thay vì chấm một điểm toàn domain.
  • Gắn người chịu trách nhiệm cho WAF, robots, CMS và content riêng.
  • Kiểm lại sau mỗi release hạ tầng.
  • Không dùng llms.txt thay cho owner page.
  • Báo crawler, citation và referral thành ba funnel khác nhau.

Giới hạn phải đọc trước khi áp dụng

  • Mẫu chỉ gồm doanh nghiệp đã có thực thể Wikidata và website; không đại diện mọi doanh nghiệp Việt Nam.
  • Kiểm tra được chạy từ một hạ tầng tại một thời điểm; WAF và lỗi mạng có thể làm status thay đổi.
  • Trình phân tích robots đơn giản hóa ưu tiên đường dẫn; tranh chấp edge case cần kiểm tra bằng log.
  • Không có dữ liệu recommendation trong nghiên cứu này; mọi liên hệ với việc được đề xuất đều là giả thuyết cần đo tiếp.

Quyết định sau audit

URL bị chặn: sửa access.
URL trả sai nội dung: sửa delivery/render.
URL không được khám phá: sửa Sitemap/internal link/canonical.
URL kỹ thuật đạt nhưng không được dùng: sửa intent, entity và evidence.
Có citation nhưng không có lead: sửa landing và CTA.

Nguồn tham khảo

  1. 01OpenAI — thông tin về bot và mục đích truy cập
  2. 02Wikidata — cách truy cập và tái sử dụng dữ liệu
  3. 03Google — crawler và product token Google-Extended
  4. 04Dataset — audit khả năng truy cập AI của 100 website

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

Làm sao biết website của tôi thực sự được OAI-SearchBot đọc?

Kiểm rule cho đúng URL, thực hiện fetch tương ứng và xác nhận request/status trong server log. Chỉ nhìn robots.txt chưa đủ.

Nếu mọi kiểm tra kỹ thuật đều đạt mà vẫn không được đề xuất thì sao?

Chuyển sang audit prompt fit, owner page, claim, entity và nguồn độc lập; technical access không tạo ra lý do để hệ thống chọn thương hiệu.

Có cần mở GPTBot để xuất hiện trong ChatGPT Search không?

Không nên coi GPTBot và OAI-SearchBot là một. OpenAI mô tả OAI-SearchBot cho tìm kiếm, còn GPTBot liên quan tới huấn luyện. Hãy đặt chính sách theo mục đích của doanh nghiệp.

Có llms.txt thì website có dễ được đề xuất hơn không?

Nghiên cứu này không có dữ liệu chứng minh quan hệ đó. llms.txt có thể hỗ trợ tự mô tả, nhưng không thay thế indexability, nội dung, thực thể và nguồn độc lập.

Partial có đáng lo không?

Chỉ khi URL quan trọng nằm trong đường dẫn bị chặn. Partial tự nó không nói bot bị khóa toàn site.

Muốn biết website của bạn đang thiếu điều kiện nào để được AI đề xuất?

Gửi website và thị trường mục tiêu; LUMESEO sẽ tách riêng khả năng truy cập, nhận diện thực thể, bằng chứng độc lập và nội dung hỗ trợ quyết định.