Technical SEO

Robots.txt là gì?

Định nghĩa nhanh

Robots.txt là file văn bản đặt ở thư mục gốc website, hướng dẫn bot công cụ tìm kiếm những phần nào được phép hoặc không được phép crawl. Lưu ý quan trọng: chặn crawl bằng robots.txt không đồng nghĩa với việc loại trang khỏi index.

Robots.txt là gì?

Robots.txt là một file văn bản thuần (plain text) đặt tại thư mục gốc của website (VD: example.com/robots.txt), dùng để hướng dẫn bot của công cụ tìm kiếm những phần nào của website được phép hoặc không được phép crawl.

Cú pháp cơ bản

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

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

Trong đó: User-agent chỉ định bot áp dụng quy tắc (dấu * nghĩa là áp dụng cho mọi bot), Disallow chặn crawl thư mục/đường dẫn cụ thể, Allow cho phép ngoại lệ trong một thư mục đã bị chặn, và dòng Sitemap khai báo vị trí XML Sitemap để bot dễ tìm thấy.

Điều quan trọng cần hiểu: robots.txt KHÔNG đồng nghĩa với noindex

Đây là hiểu lầm phổ biến nhất về robots.txt. Chặn crawl một URL bằng Disallow không đảm bảo URL đó sẽ không xuất hiện trên Google – nếu URL đó có backlink từ nơi khác trỏ tới, Google vẫn có thể hiển thị URL đó trong kết quả tìm kiếm (thường không kèm mô tả, vì Google không crawl được nội dung bên trong). Nếu mục tiêu thực sự là loại một trang khỏi index, cách đúng là dùng thẻ noindex (và không chặn crawl trang đó, để Google có thể đọc được thẻ noindex).

Khi nào nên dùng robots.txt

  • Chặn crawl các khu vực quản trị, trang đăng nhập không cần thiết cho SEO
  • Chặn crawl các trang kết quả tìm kiếm nội bộ, trang lọc sinh URL không giới hạn
  • Tiết kiệm crawl budget cho website rất lớn bằng cách chặn các khu vực ít giá trị SEO
  • Khai báo vị trí sitemap để hỗ trợ bot khám phá URL nhanh hơn

Cách kiểm tra robots.txt

Truy cập trực tiếp tenmien.com/robots.txt trên trình duyệt để xem nội dung hiện tại. Google Search Console cũng có công cụ kiểm tra robots.txt (robots.txt Tester) để xác nhận một URL cụ thể có bị chặn crawl hay không trước khi áp dụng thay đổi.

Ví dụ Robots.txt cho website WordPress phổ biến

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /?s=
Allow: /wp-admin/admin-ajax.php

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

Dòng Disallow: /?s= chặn crawl trang kết quả tìm kiếm nội bộ (search nội bộ WordPress thường sinh URL dạng ?s=tukhoa) – đây là dạng URL kém giá trị SEO và không nên để Googlebot tốn tài nguyên crawl.

Những sai lầm thường gặp

  • Chặn crawl toàn bộ website bằng nhầm Disallow: / – lỗi nghiêm trọng có thể khiến toàn bộ site biến mất khỏi kết quả tìm kiếm theo thời gian
  • Dùng robots.txt thay vì noindex để cố loại trang khỏi index, dẫn đến kết quả không như mong muốn (xem phần giải thích ở trên)
  • Chặn crawl file CSS/JS quan trọng – khiến Google không render đúng được giao diện trang để đánh giá trải nghiệm người dùng
  • Quên khai báo sitemap trong file robots.txt dù đây là vị trí quy ước phổ biến để bot tìm thấy

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

Không có file robots.txt thì sao?

Nếu không có file robots.txt, Google mặc định hiểu là được phép crawl toàn bộ website – không có robots.txt không phải lỗi nghiêm trọng, chỉ là bỏ lỡ khả năng kiểm soát chi tiết.

Robots.txt có bắt buộc các bot phải tuân theo không?

Không bắt buộc về mặt kỹ thuật – đây là quy ước tự nguyện. Các bot uy tín như Googlebot, Bingbot tuân thủ, nhưng bot độc hại/spam có thể bỏ qua hoàn toàn.

Nguồn tham khảo

Nguồn tham khảo