Technical SEO

Cách Tạo File robots.txt Chuẩn SEO Và Kiểm Tra An Toàn

Cách tạo file robots.txt chuẩn SEO với User-agent, Allow, Disallow và Sitemap. Có mẫu thực tế, cách kiểm tra và phòng lỗi chặn nhầm toàn website.

Bởi · · Cập nhật:

File robots.txt là gì?

Theo tài liệu robots.txt của Google, robots.txt là file văn bản đặt tại thư mục gốc của host, dùng để chỉ dẫn crawler được phép hay không được phép truy cập nhóm URL nào. Ví dụ, file của domain example.com phải nằm ở https://example.com/robots.txt. File này kiểm soát crawl, không phải công cụ bảo mật và không bảo đảm URL không được index.

Lỗi nguy hiểm nhất là xem robots.txt như một nút ẩn trang. URL bị Disallow vẫn có thể xuất hiện trên Google khi được phát hiện qua link. File cũng công khai cho bất kỳ ai. Thư mục quản trị và dữ liệu nhạy cảm phải được bảo vệ bằng xác thực và phân quyền.

Trước khi đi vào chi tiết, nếu bạn chưa nắm phần nền, xem thêm technical SEO là gì.

Nếu bạn đang rà soát toàn bộ khả năng crawl, index, render và canonical, hãy đặt robots.txt trong bối cảnh SEO Technical thay vì xem đây là một file cấu hình độc lập.

Mẫu tối thiểu:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /auth/

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

Cú pháp robots.txt cần biết

Chỉ thịVai tròVí dụ
User-agentChọn crawler áp dụng nhóm quy tắcUser-agent: Googlebot
DisallowKhông cho crawl đường dẫn khớp quy tắcDisallow: /admin/
AllowCho phép đường dẫn con trong phạm vi bị chặnAllow: /folder/public-page
SitemapKhai báo URL sitemap tuyệt đốiSitemap: https://example.com/sitemap.xml

Tên file phải là robots.txt, phân biệt chữ hoa chữ thường trong đường dẫn và chỉ áp dụng cho protocol, host, port nơi file được phục vụ. File ở www không tự động áp dụng cho subdomain khác.

Quy trình tạo robots.txt an toàn

Bước 1: lập danh sách nhóm URL

Xuất URL từ crawl, sitemap và log. Phân loại trang công khai, tài nguyên cần render, khu vực quản trị, API và URL tham số. Không viết quy tắc tổng quát trước khi biết nó sẽ khớp URL nào.

Bước 2: chỉ chặn crawl khi có mục tiêu rõ

Trang đăng nhập hoặc endpoint nội bộ có thể không cần bot truy cập. CSS, JavaScript và ảnh cần để render trang công khai thường không nên bị chặn. Nếu mục tiêu là không index, dùng noindex trong meta robots hoặc X-Robots-Tag và cho phép Google crawl để đọc chỉ thị.

Bước 3: viết quy tắc hẹp

Ưu tiên path rõ ràng. Dấu *$ có thể hữu ích, nhưng quy tắc wildcard rộng có thể chặn nhầm. Giữ comment ngắn, mỗi dòng một chỉ thị và không dùng robots.txt để lưu thông tin nội bộ.

Bước 4: khai báo sitemap

Dùng URL tuyệt đối của sitemap canonical. Khai báo này hỗ trợ discovery, nhưng sitemap vẫn cần submit trong Search Console để xem lỗi và trạng thái xử lý. Nếu website dùng WordPress, xem cách tạo và kiểm tra sitemap XML trước khi thêm dòng này.

Bước 5: test từng URL đại diện

Kiểm tra trang chủ, bài blog, landing page, CSS, JavaScript, ảnh, trang admin và URL có tham số. Lưu bản robots.txt trước thay đổi để rollback. Sau deploy, truy cập trực tiếp file và theo dõi log bot.

Sau mỗi lần deploy, file robots.txt của staging đôi khi đi theo bản build lên production. Nhóm lỗi lặng lẽ kiểu này được soát bằng dịch vụ SEO audit định kỳ thay vì chờ traffic tụt rồi mới tìm.

Ví dụ thật từ robots.txt của Mạnh Digital

Tại thời điểm kiểm tra ngày 06/08/2026, robots.txt của Mạnh Digital trả HTTP 200. File cho phép crawl website công khai, chặn các path /admin/, /auth, /api/ và file JSON, đồng thời khai báo https://manhdigital.com/sitemap.xml.

Đây là bằng chứng vận hành, không phải mẫu để sao chép cho mọi website. Một website cung cấp JSON công khai cho nội dung có thể không nên chặn *.json. Quy tắc phải phản ánh kiến trúc và mục tiêu crawl của chính dự án.

8 sai lầm nguy hiểm

  1. Disallow: / trên production.
  2. Chặn CSS hoặc JavaScript cần để render.
  3. Dùng robots.txt thay cho noindex.
  4. Ghi URL nhạy cảm và tin rằng file sẽ bảo mật.
  5. Sao chép file của website khác.
  6. Quên tách quy tắc cho subdomain.
  7. Dùng wildcard rộng mà không test mẫu URL.
  8. Deploy từ staging sang production và giữ nguyên lệnh chặn toàn bộ.

Có nên tách quy tắc cho AI crawler?

Chỉ tách khi doanh nghiệp có chính sách rõ về search access và training access. Đừng thêm danh sách crawler dài chỉ vì một template khuyến nghị. Mỗi crawler có user-agent và mục đích khác nhau, còn hành vi tuân thủ phụ thuộc nhà cung cấp. Ghi lại quyết định và kiểm tra log thay vì cho rằng thêm rule tự động tăng AI visibility.

Google nói tối ưu cho AI Search vẫn dựa trên nền tảng SEO. URL cần được index và đủ điều kiện hiển thị snippet. Chặn crawler tìm kiếm mà bạn muốn xuất hiện sẽ mâu thuẫn với mục tiêu. Xem thêm GEO là gì và hướng dẫn Google Search Console.

Crawl budget, sitemap và cách phân tầng danh mục ảnh hưởng lẫn nhau, nên một file robots.txt tốt chỉ phát huy khi nằm trong bản đồ kỹ thuật chung của chương trình SEO tổng thể.

Google chọn quy tắc robots.txt nào khi nhiều dòng cùng khớp?

Google chọn quy tắc cụ thể nhất dựa trên độ dài path khớp; nếu hai quy tắc xung đột có cùng độ dài, Google dùng quy tắc ít hạn chế hơn. Cách xử lý này được mô tả trong tài liệu về thứ tự ưu tiên robots.txt. Tuy nhiên, không nên xây file thành mùng quy tắc khó review. Nếu cần nhiều Allow để sửa một Disallow rộng, hãy xem lại phạm vi ban đầu.

User-agent: *
Disallow: /private/
Allow: /private/public-guide.html

Quy tắc dựa trên path, không phải nội dung trang. Bot không biết /private/public-guide.html là công khai cho đến khi được cho phép. Hãy test cả URL có query, encoded character và chữ hoa nếu hệ thống có thể sinh chúng.

Không chắc file robots.txt hiện tại đang chặn nhầm gì, hãy dán nội dung file vào brief SEO miễn phí; chúng tôi đọc từng nhóm quy tắc và chỉ ra dòng nào nên sửa trước.

Điều gì xảy ra khi robots.txt trả 3xx, 4xx hoặc 5xx?

Không chỉ nội dung file, status code cũng quan trọng. Theo bảng xử lý lỗi robots.txt của Google, Google theo tối thiểu 5 redirect hop; hầu hết 4xx, trừ 429, được xem như không có giới hạn crawl. Với 5xx, Google dừng crawl trong 12 giờ đầu và tiếp tục thử fetch file; sau đó có thể dùng bản tốt gần nhất trong khi lỗi còn tiếp diễn.

Vì vậy, monitor /robots.txt như một endpoint SEO quan trọng. Kiểm tra status, content type, nội dung và thay đổi hash. Cảnh báo ngay khi file chứa Disallow: / trên production hoặc trả 5xx.

Ngăn robots.txt của staging đi theo bản build lên production

Không nên chỉ dựa vào robots.txt để chặn staging. Dùng authentication hoặc network restriction. Trong pipeline, tách file theo environment và viết smoke test production. Test nên fail build nếu domain production có rule chặn toàn site.

Trước deploy, lưu snapshot file cũ. Sau deploy, request endpoint từ bên ngoài, không chỉ curl localhost. CDN hoặc Nginx có thể phục vụ file khác với source code. Kiểm tra các host HTTP, HTTPS, www, non-www và subdomain quan trọng.

Khi nào cần dùng robots.txt để quản lý crawl budget?

Website nhỏ với vài trăm URL hiếm khi cần tối ưu crawl budget phức tạp. Vấn đề lớn hơn thường là internal link yếu, sitemap sai, duplicate hoặc nội dung mỏng. Website thương mại điện tử với vô số filter, sort và session URL mới cần quản lý không gian crawl chặt chẽ.

Trước khi Disallow tham số, xác định URL nào đang index, có traffic hoặc search demand. Kiểm soát link sinh URL, canonical và navigation. Chặn crawl chỉ là một lớp trong chiến lược, không xóa duplicate đã tồn tại.

Đọc thêm: redirect 301 vs 302 · kiểm tra mobile friendly

Checklist review pull request robots.txt

  • Quy tắc có ticket và owner rõ.
  • Có danh sách URL sẽ bị chặn và URL không được chặn.
  • Không chặn CSS, JavaScript, image hoặc API cần cho render nội dung công khai.
  • Không dùng robots.txt thay cho noindex hoặc bảo mật.
  • Sitemap URL trả 200 và đúng host canonical.
  • Có snapshot, rollback và smoke test sau deploy.
  • Có ngày review lại rule tạm thời.

Khi nào cần audit robots.txt trên toàn website?

Nên audit trước và sau migration, đổi CMS, chuyển domain, thay cấu trúc URL, cài plugin SEO hoặc mở một khu vực mới. Đây là những thời điểm rule cũ dễ chặn nhầm route mới. Ngoài ra, hãy audit ngay khi Search Console báo số trang được crawl giảm bất thường, Google không render đủ tài nguyên hoặc nhiều URL quan trọng chuyển sang trạng thái bị robots.txt chặn.

Một SEO Audit đầy đủ không chỉ đọc vài dòng chỉ thị. Cần đối chiếu robots.txt với sitemap, canonical, meta robots, internal link và server log để biết bot thực sự đi đâu. Cách làm này giúp phân biệt lỗi crawl với vấn đề index hoặc chất lượng nội dung, tránh sửa robots.txt theo cảm tính.

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

robots.txt có chặn index không?

Không bảo đảm. URL bị chặn crawl vẫn có thể được index từ link. Muốn ngăn index, cho phép crawler truy cập và dùng meta robots noindex hoặc X-Robots-Tag. Xem bảng quyết định trong bài Noindex vs Disallow để tránh gắn hai chỉ thị mâu thuẫn.

Có nên chặn trang admin bằng robots.txt?

Có thể giảm crawl, nhưng robots.txt không bảo vệ trang admin. Trang vẫn cần authentication, authorization, chống brute force và không để lộ dữ liệu.

robots.txt sai bao lâu mới ảnh hưởng?

Không có mốc chung. Khi Google fetch file mới, quy tắc có thể ảnh hưởng các lần crawl tiếp theo. Lỗi chặn toàn site nên được xử lý P0, rollback ngay và theo dõi URL Inspection cùng log.

Kết luận

Cách tạo robots.txt chuẩn SEO là viết ít quy tắc nhưng đúng mục tiêu, test URL đại diện và không nhầm crawl control với index control hay bảo mật. Mỗi thay đổi cần backup và review. Nếu chưa chắc rule ảnh hưởng bao nhiêu URL, hãy crawl và lập test trước khi deploy.

Nguồn tham khảo

  1. Google Search Central: Introduction to robots.txt.
  2. Google: Create and submit a robots.txt file.
  3. Google: Block indexing with noindex.