Nhiều người làm SEO biết đến tệp robots.txt, nhưng không phải ai cũng hiểu đúng vai trò và bản chất thực sự của nó. Có người nghĩ đây là công cụ để “chặn Google index”, người khác thì chỉ copy từ site khác mà không biết hệ lụy. Để tối ưu SEO bền vững, bạn cần nắm chắc robots.txt trong kỹ thuật SEO là gì, nó làm gì và không làm gì.
Khái niệm robots.txt
robots.txt trong kỹ thuật SEO là một tệp văn bản được đặt tại thư mục gốc của website, dùng để hướng dẫn các công cụ tìm kiếm (search engine bots) biết những phần nào của trang web được phép hoặc không được phép thu thập dữ liệu (crawl).
Tệp này hoạt động dựa trên giao thức Robots Exclusion Protocol (REP), cho phép bạn kiểm soát hành vi của các bot bằng cách khai báo cụ thể qua các chỉ thị như User-agent, Disallow, Allow, v.v.
Ví dụ:
User-agent: *
Disallow: /admin/
Lệnh trên nghĩa là: tất cả các bot không được phép crawl thư mục /admin/.
Ý nghĩa mở rộng của robots.txt trong kỹ thuật SEO
Tóm lại, robots.txt trong kỹ thuật SEO là công cụ kiểm soát crawl, không phải công cụ kiểm soát index. Hiểu sai khái niệm có thể gây hại nghiêm trọng cho thứ hạng trang web.
Rất nhiều người viết robots.txt bằng cách sao chép từ website khác hoặc plugin, dẫn đến lỗi crawl nghiêm trọng. Hiểu đúng cấu tạo và cú pháp của robots.txt giúp bạn tránh sai lầm và kiểm soát chính xác hành vi của bots tìm kiếm.
Dưới đây là các directive phổ biến được hỗ trợ bởi Googlebot và nhiều công cụ tìm kiếm khác:
Ví dụ cơ bản:
User-agent: *
Disallow: /private/
Allow: /private/public-info.html
Sitemap: https://yourdomain.com/sitemap.xml
Ví dụ:
Disallow: /*.pdf$
→ Cấm tất cả các file PDF.
Googlebot áp dụng nguyên tắc:
Nhiều người nghĩ robots.txt chỉ dùng để “khóa thư mục admin”. Nhưng thực tế, cách sử dụng của nó đa dạng hơn nhiều, tùy theo quy mô và mục tiêu SEO của từng website. Dưới đây là những trường hợp phổ biến bạn nên biết để vận dụng hiệu quả.
Với các website thương mại điện tử, rất thường xảy ra hiện tượng trùng lặp do bộ lọc, phân trang hoặc URL động (?sort=, ?filter=…). Robots.txt có thể được dùng để ngăn Googlebot crawl các biến thể không cần thiết:
User-agent: *
Disallow: /*?sort=
Disallow: /*?filter=
Cách này giúp tập trung crawl budget vào các trang chính, cải thiện tốc độ index các URL quan trọng.
Một trường hợp cổ điển nhưng rất cần thiết:
Disallow: /wp-admin/
Disallow: /cgi-bin/
Disallow: /checkout/
Lệnh này thường dùng để ngăn bot truy cập những phần không có giá trị SEO, bảo mật tốt hơn cho hệ thống.
Nếu bạn có subdomain như blog.domain.com, bạn phải có một robots.txt riêng cho từng subdomain. Mỗi subdomain được xem như một site độc lập.
Ví dụ:
Đây là hiểu lầm phổ biến khiến nhiều người “chặn nhầm” cả hệ thống mà không biết.
Ngoài URL lọc, còn nên cấm bot crawl các bước trong quy trình thanh toán, giỏ hàng:
Disallow: /cart/
Disallow: /checkout/
Disallow: /order-confirmation/
Đây là các trang không có giá trị SEO, lại dễ gây lỗi crawl.
Bạn đã từng nghe về meta robots, noindex, x-robots-tag? Đây là những phương pháp khác nhau để kiểm soát cách Google xử lý nội dung. Dưới đây là so sánh chi tiết giữa robots.txt và các cách còn lại, để bạn hiểu đâu là lựa chọn phù hợp cho từng mục tiêu.
Tính năng / Công cụ |
robots.txt |
meta robots |
x-robots-tag |
---|---|---|---|
Chặn crawl |
✅ Có |
❌ Không |
✅ Có |
Chặn index |
❌ Không |
✅ Có |
✅ Có |
Áp dụng cho |
Toàn site / thư mục / URL cụ thể |
Chỉ áp dụng khi trang được crawl |
Áp dụng cả cho file (PDF, ảnh) |
Mức độ ưu tiên |
Thấp nếu so với noindex |
Cao |
Cao |
Hỗ trợ Googlebot |
✅ Có |
✅ Có |
✅ Có |
Kết luận: Nếu bạn muốn ngăn index, dùng noindex (meta robots hoặc x-robots-tag). Nếu chỉ muốn ngăn crawl, hãy dùng robots.txt.
Sai lầm phổ biến nhất: Dùng Disallow trong robots.txt để chặn index.
Sai:
Disallow: /private/
→ Google không crawl, nhưng nếu trang đó được liên kết từ nơi khác, nó vẫn có thể xuất hiện trong kết quả tìm kiếm.
Đúng (dùng kết hợp):
Disallow: /private/
Và trong trang /private/index.html, chèn thêm:
Sitemap: https://example.com/sitemap.xml
Theo dữ liệu từ Ahrefs, có đến 27% website lớn trên toàn cầu mắc lỗi nghiêm trọng trong file robots.txt dẫn đến mất index hoặc lỗi crawl không đáng có. Điều này cho thấy tầm quan trọng của việc hiểu đúng vai trò và ứng dụng của robots.txt trong chiến lược SEO bền vững.
Disallow: /*?page=
Disallow: /filter/
⮕ Hiệu quả: tăng tốc độ cập nhật nội dung quan trọng, giảm tải server.
User-agent: *
Disallow: /beta-page/
Tránh bị Google đánh giá thấp chất lượng tổng thể site vì nội dung chưa hoàn thiện.
Loại website |
Mục tiêu dùng robots.txt |
---|---|
Thương mại điện tử |
Chặn bước thanh toán, bộ lọc, sắp xếp không có giá trị SEO |
Tin tức / Tạp chí |
Tối ưu crawl cho bài viết mới nhất, hạn chế truy cập bài cũ |
Trang landing page |
Chỉ crawl trang chuyển đổi chính, chặn phiên bản test |
Trang đa ngôn ngữ |
Chặn URL không chuẩn (ví dụ: bản dịch máy, bản duplicate) |
→ Truy cập: Cài đặt > Tệp robots.txt hoặc dùng công cụ robots.txt Tester.
Không ít website bị rớt hàng loạt từ khóa chỉ vì một dòng sai trong robots.txt. Đáng tiếc hơn, rất nhiều SEOer không biết mình đang làm sai. Dưới đây là những hiểu lầm phổ biến cần cảnh báo, cùng cách hiểu đúng để tránh hậu quả nghiêm trọng.
Hiểu lầm: Nhiều người cho rằng thêm Disallow sẽ ngăn Google index URL.
Thực tế: Disallow chỉ ngăn crawl, không ngăn index nếu trang đó vẫn được liên kết từ nơi khác. Trang vẫn có thể hiển thị trên kết quả tìm kiếm mà không có mô tả (no snippet).
Giải pháp đúng: Kết hợp robots.txt và noindex (qua meta hoặc x-robots-tag) nếu muốn chặn hoàn toàn.
Hiểu lầm: Chặn bằng robots.txt là cách bảo vệ các thư mục riêng tư.
Thực tế: Vì robots.txt là file công khai, bất cứ ai cũng có thể thấy bạn “giấu” gì, từ /private/ đến /admin/.
Giải pháp đúng: Dùng xác thực HTTP, quyền truy cập server hoặc các biện pháp bảo mật thực sự.
X-Robots-Tag: noindex
→ Thêm vào header HTTP của file đó.
Khi bạn đã hiểu và áp dụng robots.txt cơ bản, bước tiếp theo là tinh chỉnh những yếu tố kỹ thuật nâng cao. Đây là phần nhiều SEOer bỏ qua, nhưng lại ảnh hưởng trực tiếp đến hiệu quả crawl và tối ưu hóa toàn bộ hệ thống.
Googlebot không phải bot duy nhất. Một số bot khác như Bingbot, YandexBot, AhrefsBot,… cũng có thể crawl site bạn.
Nguyên tắc quan trọng:
Ví dụ:
User-agent: Googlebot
Disallow: /secret/
User-agent: *
Disallow: /admin/
Googlebot bị chặn /secret/ nhưng vẫn được phép truy cập /admin/.
Một lỗi nghiêm trọng khác là chặn thư mục chứa tài nguyên quan trọng như CSS, JS.
Ví dụ lỗi:
Disallow: /wp-includes/
→ Điều này khiến Google không thể hiển thị website đúng cách khi crawl, ảnh hưởng đến đánh giá trải nghiệm người dùng (UX) trong ranking.
Giải pháp: Đảm bảo không chặn thư mục chứa file CSS, JS, ảnh cần thiết cho việc render trang.
Ký tự * và $ rất mạnh, nhưng nếu dùng sai sẽ gây lỗi lớn.
Ví dụ lỗi:
Disallow: /*.php
→ Điều này có thể chặn toàn bộ website nếu hầu hết trang có đuôi .php.
Cần test kỹ từng directive trong công cụ kiểm tra của Google Search Console trước khi public.
Để biết file robots.txt của bạn có hoạt động hiệu quả hay không, log file là nguồn dữ liệu quan trọng.
Hiểu rõ robots.txt trong kỹ thuật SEO giúp bạn chủ động kiểm soát quá trình crawl và index từ gốc, thay vì phụ thuộc vào công cụ bên ngoài. Nó không phải công cụ chặn index, mà là lớp điều hướng thông minh cho bot tìm kiếm. Khi được thiết lập đúng cách, robots.txt góp phần lớn vào hiệu quả crawl, trải nghiệm người dùng và thứ hạng bền vững trên SERP. Đừng chỉ sao chép mẫu từ web khác — hãy dùng nó như một công cụ chiến lược.
Không trực tiếp. Nhưng nếu dùng sai, nó có thể chặn Google crawl các trang quan trọng, khiến trang không được index và mất thứ hạng.
Có. Đây là các trang không mang lại giá trị SEO, nên chặn để tập trung crawl vào nội dung chính.
robots.txt chặn crawl, còn meta robots chặn index. Nếu muốn không xuất hiện trên Google, bạn phải dùng noindex, không chỉ Disallow.
Cần. Sitemap giúp Google khám phá nhanh hơn các trang quan trọng. Bạn nên khai báo sitemap trong file robots.txt để tối ưu hiệu quả.
Bạn có thể kiểm tra trong Google Search Console > Robots.txt Tester hoặc dùng log server để theo dõi hành vi crawl thực tế.
Khi muốn kiểm soát index/crawl của các file không phải HTML (PDF, hình ảnh…), bạn nên dùng x-robots-tag trong header HTTP.