Robots.txt Là Gì? Cách Cấu Hình Kiểm Soát Crawl Bot

Mỗi lần một con bot ghé vào website của bạn — dù là Googlebot hay ChatGPT — nó đều đọc một file nhỏ tên robots.txt trước khi làm bất cứ điều gì khác.

Robots.txt là file văn bản đặt ở thư mục gốc website, dùng để chỉ cho bot biết phần nào nên thu thập dữ liệu, phần nào nên bỏ qua. File này quyết định bot được đi đâu và nên tránh đâu. Không cần biết code, bạn vẫn có thể tự cấu hình được file này chỉ trong vài phút.Robots.txt Là Gì? Cách Cấu Hình Để Kiểm Soát Crawl Bot

Robots.txt là gì?

Robots.txt là một file văn bản đơn giản, đặt ngay tại thư mục gốc của website (dạng tenmiencuaban.com/robots.txt), dùng để “nhắn” cho các bot biết phần nào của site nên thu thập dữ liệu và phần nào nên bỏ qua.

Hãy tưởng tượng nó như tấm biển “Khu vực nhân viên — vui lòng không vào” dán trước một căn phòng trong công ty. Khách ghé thăm đàng hoàng sẽ tôn trọng tấm biển đó. Nhưng ai cố tình muốn vào vẫn có thể vào, vì bản chất tấm biển chỉ là lời đề nghị, không phải ổ khóa.

Vì vậy, đừng dùng robots.txt để “giấu” một trang khỏi Google. Nếu bạn muốn một trang không xuất hiện trên kết quả tìm kiếm, cách đúng là dùng thẻ noindex hoặc đặt mật khẩu cho trang đó — robots.txt không làm được việc này một cách chắc chắn.

Robots.txt hoạt động như thế nào?

Trước khi thu thập bất kỳ trang nào trên site của bạn, bot sẽ tìm đến robots.txt trước tiên — giống như việc đọc bảng chỉ dẫn ngay khi bước vào một tòa nhà lạ. Nếu tìm thấy file, bot đọc các chỉ dẫn bên trong rồi mới quyết định trang nào nên ghé, trang nào nên bỏ qua.

Nếu không tìm thấy file này, đa số bot sẽ mặc định hiểu rằng toàn bộ website đều công khai và có thể thu thập tự do. Nói cách khác, không có robots.txt không có nghĩa là an toàn hơn — chỉ là bạn đang để bot tự quyết định thay vì bạn quyết định.

Một điều dễ gây nhầm lẫn: robots.txt chỉ ảnh hưởng đến việc thu thập dữ liệu (crawl), không trực tiếp quyết định việc lập chỉ mục (index). Một trang bị chặn thu thập vẫn có thể xuất hiện trên kết quả tìm kiếm nếu có trang khác trỏ link đến nó — chỉ là Google sẽ không biết nội dung bên trong nói gì.

Sơ đồ quy trình bot đọc file robots.txt trước khi crawl website

Bot luôn đọc robots.txt trước khi chạm vào bất kỳ trang nào khác

Vai trò của robots.txt với website và SEO

Với một website mới có vài chục trang, robots.txt gần như không tạo khác biệt lớn — Google đủ sức thu thập hết mọi thứ. Nhưng khi site phát triển lớn hơn, vai trò của nó rõ ràng hơn nhiều, ở ba điểm:

Tiết kiệm tài nguyên máy chủ. Mỗi lượt bot ghé thăm là một yêu cầu gửi đến server. Site càng nhiều bot ghé thường xuyên, server càng phải xử lý nhiều — robots.txt giúp giảm bớt phần yêu cầu không cần thiết.

Hướng bot vào đúng nội dung quan trọng. Theo Google, mỗi site được phân bổ một “ngân sách thu thập dữ liệu” — tập hợp URL mà bot của Google có thể và muốn thu thập trong một khoảng thời gian, dựa trên mức độ phổ biến, giá trị với người dùng và khả năng phục vụ của server (Google Search Central). Điều này chủ yếu đáng lưu tâm với site có hơn 10.000 trang thay đổi thường xuyên — điển hình là các trang thương mại điện tử có bộ lọc sản phẩm sinh ra hàng nghìn URL gần giống nhau. Với site quy mô nhỏ hơn, đây không phải điều cần lo lắng nhiều, nhưng khi site đã lớn, biết chặn bớt các trang lọc/trang trùng lặp không quan trọng sẽ giúp bot dồn sự chú ý vào những trang thật sự cần lên top.

Tránh thu thập nội dung trùng lặp hoặc chưa sẵn sàng công khai. Các trang như kết quả tìm kiếm nội bộ, trang giỏ hàng, hay bản nháp đang thử nghiệm thường không cần — và không nên — xuất hiện trên Google.

Các lệnh thường dùng và ví dụ thực tế

Thay vì học thuộc cú pháp, cách dễ nhớ nhất là nghĩ theo nhu cầu: bạn đang muốn làm gì, rồi tra đúng dòng lệnh cho việc đó.

Bạn muốn làm gìDòng lệnh dùng
Chặn toàn bộ website (site đang xây dựng)Disallow: /
Chặn một thư mục riêng tư (trang quản trị, giỏ hàng)Disallow: /wp-admin/
Chặn một trang cụ thểDisallow: /ten-trang.html
Mở ngoại lệ trong khu vực đã chặnAllow: /wp-admin/admin-ajax.php
Cho phép crawl toàn bộ siteAllow: /
Chỉ đường tới sitemapSitemap: https://tenmiencuaban.com/sitemap.xml

Chi tiết từng trường hợp:

Muốn chặn toàn bộ website (ví dụ site đang xây dựng, chưa muốn lên Google):

User-agent: *
Disallow: /

Muốn chặn một thư mục riêng tư, như trang quản trị hoặc giỏ hàng:

User-agent: *
Disallow: /wp-admin/
Disallow: /gio-hang/

Muốn chặn một trang cụ thể, không phải cả thư mục:

User-agent: *
Disallow: /trang-nhap-thu-nghiệm.html

Muốn cho phép một ngoại lệ nằm trong khu vực đã chặn — ví dụ chặn cả thư mục /wp-admin/ nhưng vẫn cần mở 1 file bên trong để website hoạt động bình thường:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Muốn cho phép bot thu thập toàn bộ site (không chặn gì):

User-agent: *
Allow: /

Muốn chỉ đường cho bot đến sơ đồ website (sitemap) để thu thập hiệu quả hơn:

Sitemap: https://tenmiencuaban.com/sitemap.xml

Ghép các dòng này lại theo đúng nhu cầu của site là bạn đã có một file robots.txt dùng được ngay, không cần thêm gì phức tạp hơn.

Robots.txt có chặn được bot AI (ChatGPT, Claude…) không?

Có, và đây là phần nhiều người mới bỏ qua nhất khi cấu hình robots.txt gần đây.

Bot AI không chỉ có một loại. Chúng chia làm hai nhóm với mục đích khác hẳn nhau:

  • Nhóm “thu thập để huấn luyện mô hình” — như GPTBot (OpenAI), Google-Extended (Google), CCBot (Common Crawl). Nhóm này quét nội dung của bạn để đưa vào dữ liệu huấn luyện AI, không phục vụ việc trả lời câu hỏi ngay lúc đó.
  • Nhóm “tra cứu để trả lời người dùng” — như PerplexityBot, ChatGPT-User. Nhóm này hoạt động khi có người thật đang hỏi AI một câu hỏi, và AI cần tra cứu nội dung của bạn để trả lời ngay.

Sự khác biệt này quan trọng vì nó dẫn đến 2 câu hỏi để bạn tự quyết định nên chặn nhóm nào:

  1. Bot này có giúp mình được nhắc đến khi người dùng hỏi AI không? Nếu có (như PerplexityBot), chặn nó đồng nghĩa với việc bạn tự loại mình khỏi cơ hội xuất hiện trong câu trả lời AI — tương tự việc biến mất khỏi trang kết quả tìm kiếm.
  2. Bot này có trả lại lợi ích gì cho website không, hay chỉ lấy đi mà không trả về? Đây là chỗ đáng cân nhắc nhất.

Các báo cáo phân tích robots.txt trên diện rộng trong năm 2026 đều cho thấy cùng một xu hướng: bot chỉ thu thập để huấn luyện mô hình (như ClaudeBot của Anthropic, GPTBot của OpenAI) đọc nhiều trang gấp hàng nghìn lần so với lượt truy cập họ gửi lại cho website nguồn — trong khi Meta gần như không gửi lại lượt truy cập nào. Con số cụ thể (ví dụ “crawl X trang mới gửi lại 1 lượt truy cập”) thay đổi theo từng tháng và khác nhau tùy đơn vị đo, nên thay vì trích một con số cố định dễ lỗi thời, bạn nên tự kiểm tra số liệu mới nhất từ Cloudflare Radar hoặc các báo cáo crawl-to-refer ratio trước khi quyết định. Nói cách khác, những bot chỉ “lấy” để huấn luyện gần như luôn không mang lại traffic tương xứng — điểm này ổn định qua thời gian, dù con số chính xác thì không.

Từ 2 câu hỏi này, một cách cấu hình cân bằng — cho phép nhóm giúp bạn xuất hiện, chặn nhóm chỉ lấy dữ liệu — trông như sau:

# Cho phép bot AI tra cứu trả lời người dùng
User-agent: PerplexityBot
Allow: /

User-agent: ChatGPT-User
Allow: /

# Chặn bot AI chỉ thu thập để huấn luyện mô hình
User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

Không có câu trả lời đúng tuyệt đối cho mọi website — nếu bạn muốn nội dung được AI trích dẫn nhiều nhất có thể, cứ để mở hết; nếu bạn coi nội dung là tài sản không muốn bị dùng miễn phí để huấn luyện mô hình, chặn nhóm training là lựa chọn hợp lý.

Cách tạo file robots.txt (không cần biết code)

Tạo thủ công

Nếu website của bạn không dùng WordPress, hoặc bạn muốn kiểm soát hoàn toàn nội dung file, làm theo 3 bước sau:

  1. Soạn nội dung file bằng bất kỳ trình soạn thảo văn bản đơn giản nào (Notepad, TextEdit…), theo các dòng lệnh đã nêu ở phần trên. Nhớ lưu file dưới định dạng mã hóa UTF-8 và đặt tên chính xác là robots.txt — viết hoa hay thêm đuôi khác (.text, .doc…) đều khiến file bị bỏ qua.
  2. Đặt file đúng vị trí — bắt buộc phải nằm ngay tại thư mục gốc của website, để khi gõ tenmiencuaban.com/robots.txt là truy cập được. Đặt trong thư mục con sẽ khiến bot không tìm thấy, coi như site không có file này.
  3. Kiểm tra lại bằng cách gõ đường dẫn đó lên trình duyệt, xem nội dung có hiển thị đúng như bạn đã viết không.

Cấu hình trên WordPress qua plugin SEO

Nếu site chạy WordPress, bạn không cần đụng đến FTP hay code. Các plugin SEO phổ biến hiện nay như Rank Math hay Yoast SEO đều có sẵn công cụ chỉnh sửa robots.txt ngay trong trang quản trị.

Với Rank Math, vào Rank Math → General Settings → Edit robots.txt, chỉnh nội dung trực tiếp trên giao diện rồi lưu lại — không cần tải file lên qua FTP.

cách tạo và sửa file robots.txt trong plugin Rank Math

Sửa robots.txt trực tiếp trong trang quản trị WordPress, không cần FTP.

Dưới đây là một file mẫu phù hợp cho phần lớn website WordPress, kèm giải thích lý do từng dòng tồn tại — bạn có thể copy và chỉnh lại cho đúng site của mình:

User-agent: *
Allow: /

Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://tenmiencuaban.com/sitemap.xml
  • Allow: / — mở quyền thu thập cho toàn bộ nội dung công khai (bài viết, trang, hình ảnh), vì đây là phần bạn muốn Google nhìn thấy.
  • Disallow: /wp-admin/ — chặn khu vực quản trị, vì đây là nơi chỉ dành cho bạn, không có giá trị gì để lên kết quả tìm kiếm.
  • Allow: /wp-admin/admin-ajax.php — dù đã chặn cả thư mục /wp-admin/, riêng file này cần mở lại vì nhiều plugin và theme WordPress dùng nó để chạy các tính năng phía trước website — chặn nhầm file này có thể khiến một số chức năng hiển thị sai.
  • Sitemap: — chỉ đường cho bot đến sơ đồ toàn bộ trang trên site, giúp việc thu thập dữ liệu đầy đủ và nhanh hơn. (Xem thêm: bài về sitemap.xml là gì và cách tạo.)

Dưới đây là một file mẫu phù hợp cho phần lớn website WordPress, kèm giải thích lý do từng dòng tồn tại — bạn có thể copy và chỉnh lại cho đúng site của mình:

User-agent: *
Allow: /

Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://tenmiencuaban.com/sitemap.xml
  • Allow: / — mở quyền thu thập cho toàn bộ nội dung công khai (bài viết, trang, hình ảnh), vì đây là phần bạn muốn Google nhìn thấy.
  • Disallow: /wp-admin/ — chặn khu vực quản trị, vì đây là nơi chỉ dành cho bạn, không có giá trị gì để lên kết quả tìm kiếm.
  • Allow: /wp-admin/admin-ajax.php — dù đã chặn cả thư mục /wp-admin/, riêng file này cần mở lại vì nhiều plugin và theme WordPress dùng nó để chạy các tính năng phía trước website — chặn nhầm file này có thể khiến một số chức năng hiển thị sai.
  • Sitemap: — chỉ đường cho bot đến sơ đồ toàn bộ trang trên site, giúp việc thu thập dữ liệu đầy đủ và nhanh hơn. (Xem thêm: [BỔ SUNG — internal link gợi ý] bài về sitemap.xml là gì và cách tạo.)

Cách kiểm tra file robots.txt đã hoạt động đúng chưa

Cách nhanh nhất: mở trình duyệt, gõ tenmiencuaban.com/robots.txt. Nếu thấy nội dung hiển thị đúng như bạn đã cấu hình, file đang hoạt động. Nếu gặp lỗi 404, nghĩa là file chưa tồn tại hoặc bạn đã đặt sai vị trí.

Để chắc chắn hơn — đặc biệt là biết được Google có đọc đúng file này hay không — vào Google Search Console, tìm công cụ kiểm tra robots.txt (robots.txt Tester). Công cụ này cho bạn xem nội dung Google đang thấy, đồng thời có thể nhập thử một URL cụ thể để kiểm tra xem URL đó có đang bị chặn hay không trước khi thắc mắc tại sao một trang mãi không lên top.

Công cụ kiểm tra robots.txt trong Google Search Console

Kiểm tra trạng thái hoạt động của file robots.txt trên Google Search Console

Những lưu ý để tránh chặn nhầm nội dung quan trọng

Đừng nhầm robots.txt với công cụ ẩn trang. Đây là hiểu lầm phổ biến nhất. Chặn một trang trong robots.txt không đảm bảo trang đó biến mất khỏi kết quả tìm kiếm — nếu có site khác trỏ link đến, URL đó vẫn có thể xuất hiện, chỉ là không có mô tả nội dung đi kèm. Muốn ẩn thật sự, dùng thẻ noindex.

Đừng dùng dòng lệnh noindex bên trong robots.txt. Google đã chính thức ngừng hỗ trợ chỉ thị noindex trong robots.txt từ ngày 1/9/2019 (Google Search Central Blog) — dùng cách này chỉ khiến bạn tưởng mình đã ẩn trang trong khi thực tế thì không.

Nhớ gỡ lệnh chặn toàn site sau khi website chính thức lên online. Rất nhiều site trong giai đoạn xây dựng dùng Disallow: / để chặn Google thấy nội dung chưa hoàn thiện — nhưng quên gỡ lệnh này khi ra mắt, khiến toàn bộ site biến mất khỏi khả năng thu thập dữ liệu mà không ai để ý trong một thời gian dài.

Cẩn thận khi chặn hình ảnh, CSS hay JavaScript. Những tệp này giúp Google hiểu website của bạn trông như thế nào đối với người dùng thật. Chặn nhầm các tệp này có thể khiến Google hiểu sai giao diện trang, ảnh hưởng đến cách trang được đánh giá.

Nhìn chung, cấu hình robots.txt không khó — cái khó là nhớ kiểm tra lại sau mỗi lần chỉnh sửa, để chắc chắn bạn đang chặn đúng thứ mình muốn chặn, không hơn không kém.

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

Website không có robots.txt thì có sao không? Không sao cả về mặt kỹ thuật — đa số bot sẽ hiểu là toàn bộ site công khai và crawl tự do. Nhưng như vậy nghĩa là bạn để bot tự quyết định thay vì bạn chủ động kiểm soát, đặc biệt bất lợi khi site đã lớn và có nhiều trang không muốn Google thu thập.

Robots.txt có bắt buộc phải có không? Không bắt buộc, nhưng nên có ngay từ đầu, kể cả file rất đơn giản chỉ với Allow: / và dòng Sitemap:, để bạn kiểm soát chủ động thay vì để mặc định.

Chặn một trang trong robots.txt thì trang đó có biến mất khỏi Google không? Không chắc chắn. Nếu có site khác trỏ link đến trang đó, URL vẫn có thể xuất hiện trên kết quả tìm kiếm, chỉ là không kèm mô tả nội dung. Muốn ẩn thật sự, dùng thẻ noindex thay vì robots.txt.

Có nên chặn hết bot AI để bảo vệ nội dung không? Tùy mục tiêu của bạn. Chặn hết đồng nghĩa với việc bạn cũng mất cơ hội được các AI dạng tra cứu (như PerplexityBot) trích dẫn khi người dùng hỏi. Cách cân bằng phổ biến là chặn nhóm chỉ thu thập để huấn luyện, giữ mở nhóm tra cứu trả lời trực tiếp.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Lên đầu trang