Robots.txt
Tệp văn bản ở thư mục gốc website hướng dẫn bot tìm kiếm những phần nào được phép hoặc bị cấm thu thập dữ liệu.
Robots.txt là gì?
Tệp 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 (ví dụ: https://example.com/robots.txt). Nó dùng để giao tiếp với các bot tìm kiếm — như Googlebot, Bingbot — và thông báo 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). Đây là tiêu chuẩn mở do nhóm Robot Exclusion Protocol đề xuất từ năm 1994, được hỗ trợ rộng rãi bởi tất cả công cụ tìm kiếm lớn.
Tại sao quan trọng trong SEO?
Robots.txt không ảnh hưởng trực tiếp đến thứ hạng, nhưng lại là công cụ kiểm soát tài nguyên crawl budget — tức là số lượng và tần suất bot có thể truy cập vào trang web. Nếu bot dành quá nhiều thời gian cho các trang không quan trọng (như trang đăng nhập, kết quả tìm kiếm nội bộ, phiên bản in), chúng sẽ ít thời gian hơn để thu thập các trang chính như bài viết, sản phẩm hay trang chủ. Điều này dẫn đến:
- Chậm lập chỉ mục (indexing) các trang giá trị
- Tăng tải máy chủ không cần thiết
- Rò rỉ quyền riêng tư nếu vô tình chặn nhầm trang nhạy cảm (nhưng vẫn bị liên kết từ bên ngoài)
- Mất kiểm soát đối với nội dung trùng lặp hoặc nội dung tạm thời
Ngược lại, cấu hình đúng giúp tối ưu hóa hiệu quả thu thập, bảo vệ nội dung không muốn hiển thị trên tìm kiếm và hỗ trợ chiến lược SEO tổng thể.
Cách hoạt động
Khi một bot tìm kiếm truy cập website lần đầu, nó tự động gửi yêu cầu GET đến /robots.txt. Nếu file tồn tại và trả về mã trạng thái 200 OK, bot sẽ đọc và tuân theo các quy tắc bên trong. Nếu file không tồn tại, trả về 404 hoặc bị chặn bởi tường lửa, bot thường mặc định được phép thu thập toàn bộ trang — trừ khi có chỉ thị khác (như thẻ noindex hoặc header X-Robots-Tag).
Lưu ý quan trọng: robots.txt không phải là công cụ bảo mật. Nó chỉ mang tính hướng dẫn — bất kỳ ai cũng có thể đọc file này, và bot xấu (spam, scraper) hoàn toàn có thể phớt lờ nó.
Hướng dẫn thực hiện
Để tạo và triển khai robots.txt đúng cách, làm theo các bước sau:
- Tạo file bằng trình soạn thảo văn bản thuần (Notepad, VS Code…), không dùng Word hay Excel — vì có thể chèn ký tự ẩn gây lỗi.
- Đặt đúng tên và định dạng: tên file phải là
robots.txt, viết thường, không dấu, không đuôi (không phảirobots.txt.txthayRobots.TXT). - Đặt tại thư mục gốc: ví dụ
https://example.com/robots.txt— không ở thư mục con như/admin/robots.txt. - Sử dụng cú pháp chuẩn gồm các dòng lệnh:
User-agent,Disallow,Allow,Sitemap. Mỗi chỉ thị bắt đầu ở đầu dòng, phân biệt hoa/thường ở phần giá trị đường dẫn (không phân biệt ởUser-agent). - Kiểm tra trước khi đưa lên: dùng Công cụ Kiểm tra robots.txt trong Google Search Console.
- Theo dõi định kỳ: cập nhật khi thêm hệ thống quản lý nội dung mới, thay đổi cấu trúc URL hoặc triển khai trang thử nghiệm.
Lỗi thường gặp
| Lỗi | Hệ quả | Cách khắc phục |
|---|---|---|
Viết sai tên file (ví dụ: robot.txt) |
Bot không nhận diện được → coi như không có file | Đổi tên thành robots.txt, kiểm tra qua trình duyệt: truy cập trực tiếp URL để xác nhận mã 200 |
Dùng Disallow: / cho tất cả bot |
Website biến mất khỏi kết quả tìm kiếm | Loại bỏ dòng đó; nếu muốn chặn toàn bộ, chỉ áp dụng cho bot cụ thể (ví dụ User-agent: BadBot) |
Chặn CSS/JS bằng Disallow |
Google không render được trang → hiểu sai nội dung, ảnh hưởng xếp hạng | Không chặn tài nguyên phục vụ hiển thị (CSS, JS, hình ảnh); dùng allow hoặc điều chỉnh trong Search Console nếu cần |
Quên khai báo Sitemap |
Bot chậm phát hiện bản đồ trang, đặc biệt với site lớn | Thêm dòng Sitemap: https://example.com/sitemap.xml (có thể nhiều dòng nếu có nhiều sitemap) |
Ví dụ thực tế
Dưới đây là một tệp robots.txt mẫu cho website bán hàng WordPress, đã tối ưu:
User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /wp-content/plugins/ Disallow: /wp-content/themes/ Disallow: /search/ Disallow: /?s= Disallow: /cgi-bin/ Disallow: /trackback/ Disallow: /feed/ # Cho phép Googlebot truy cập thư mục hình ảnh User-agent: Googlebot Allow: /wp-content/uploads/ # Khai báo sitemap Sitemap: https://example.com/sitemap.xml Sitemap: https://example.com/sitemap-news.xml
Giải thích:
User-agent: *áp dụng cho mọi bot, chặn các thư mục hệ thống và trang tìm kiếm nội bộ — tránh nội dung trùng lặp và bảo mật.User-agent: Googlebotghi riêng để cho phép thu thập ảnh (quan trọng với trải nghiệm người dùng và rich result).- Hai dòng
Sitemapgiúp bot nhanh chóng khám phá nội dung chính và tin tức.
Lưu ý: Các đường dẫn trong Disallow và Allow luôn bắt đầu bằng dấu gạch chéo (/) và được hiểu theo kiểu prefix match — ví dụ Disallow: /private sẽ chặn cả /private/, /private-page.html, /private-data/.
Câu hỏi thường gặp
Robots.txt có ngăn trang xuất hiện trên Google không?
Không. Disallow chỉ ngăn bot thu thập trang, không ngăn việc lập chỉ mục. Nếu trang bị liên kết từ nơi khác, Google vẫn có thể hiển thị nó trong kết quả tìm kiếm (dạng “đã xóa mô tả” hoặc chỉ URL). Để loại hoàn toàn, dùng thẻ noindex hoặc header X-Robots-Tag: noindex.
Có thể dùng robots.txt để chặn toàn bộ website với người dùng nhất định?
Không. Robots.txt chỉ dành cho bot tuân thủ chuẩn. Không thể phân biệt người dùng, địa chỉ IP hay quốc gia. Việc chặn theo điều kiện như vậy phải dùng tường lửa, .htaccess (Apache), hoặc cấu hình server (Nginx) — và không liên quan đến SEO.
Một website có thể có nhiều robots.txt không?
Không. Chỉ được đặt duy nhất một file tại thư mục gốc. Một số hệ thống đa ngôn ngữ hoặc subdomain (ví dụ vi.example.com) cần file riêng cho từng subdomain — vì mỗi subdomain được coi là một website độc lập trong mắt bot.