Robots.txt File Generator — Tìm Hiểu và Cách Tạo File Robots.txt
Tìm hiểu file robots.txt có tác dụng gì, cách thức hoạt động của các quy tắc thu thập dữ liệu, và cách tạo robots.txt chuẩn xác cho website mà không cần viết code.
Mọi website trên internet đều được các bot ghé thăm — Googlebot, Bingbot, AI crawlers và hàng chục bot khác. File robots.txt là cách bạn cho chúng biết chúng được phép và không được phép lập chỉ mục gì. Làm đúng, bạn kiểm soát được những gì xuất hiện trong kết quả tìm kiếm. Làm sai, bạn có thể vô tình chặn toàn bộ website của mình khỏi Google.
File robots.txt là gì?
File robots.txt là một file văn bản thuần túy được đặt tại thư mục gốc của website, có nhiệm vụ hướng dẫn các web crawler nên thu thập dữ liệu trang nào hay phần nào, và bỏ qua phần nào. File này tuân theo Robots Exclusion Protocol — một tiêu chuẩn không chính thức được hầu hết các crawler lớn tuân thủ.
Khi Googlebot truy cập website của bạn, URL đầu tiên nó yêu cầu là:
https://yourdomain.com/robots.txt
Nếu file tồn tại, bot sẽ đọc các quy tắc và điều chỉnh việc thu thập dữ liệu theo đó. Nếu file không tồn tại, bot sẽ mặc định cho rằng mọi thứ đều được phép thu thập.
Lưu ý quan trọng: robots.txt là một chỉ thị, không phải biện pháp bảo mật. Nó chỉ nói với các bot có tâm những gì không nên thu thập — chứ không ngăn chặn việc truy cập. Các bot độc hại và scraper có thể hoàn toàn bỏ qua nó. Đừng bao giờ dựa vào robots.txt để ẩn nội dung nhạy cảm.
Cấu trúc file robots.txt
Một file robots.txt được cấu thành từ một hoặc nhiều bản ghi (record). Mỗi bản ghi bao gồm:
- Một dòng
User-agent— bot nào sẽ áp dụng các quy tắc này - Một hoặc nhiều dòng
DisallowhoặcAllow— các quy tắc thu thập dữ liệu - Một chỉ thị
Crawl-delaytùy chọn - Một chỉ thị
Sitemaptùy chọn (ở cấp độ file)
User-agent: Googlebot
Disallow: /admin/
Allow: /admin/public/
User-agent: *
Disallow: /private/
Crawl-delay: 10
Sitemap: https://yourdomain.com/sitemap.xml
Giải thích các chỉ thị chính
| Chỉ thị | Tác dụng |
|---|---|
User-agent |
Chỉ định crawler nào sẽ áp dụng các quy tắc bên dưới. * nghĩa là tất cả các bot. |
Disallow |
Chặn đường dẫn được chỉ định không cho thu thập dữ liệu. |
Allow |
Cho phép rõ ràng một đường dẫn, kể cả khi nằm trong thư mục cha bị chặn. |
Crawl-delay |
Yêu cầu bot chờ N giây giữa các lần yêu cầu (Google không hỗ trợ). |
Sitemap |
Trỏ các crawler đến XML sitemap của bạn. |
Giá trị User-agent — bạn đang nói chuyện với ai?
Mỗi crawler có một chuỗi user-agent riêng biệt. Những cái quan trọng nhất:
| User-agent | Crawler | Công cụ tìm kiếm |
|---|---|---|
* |
Tất cả crawler | — |
Googlebot |
Crawler web của Google | Google Search |
Googlebot-Image |
Crawler ảnh của Google | Google Images |
Googlebot-Video |
Crawler video của Google | Google Video |
Bingbot |
Crawler của Microsoft Bing | Bing Search |
Slurp |
Crawler của Yahoo! | Yahoo Search |
DuckDuckBot |
Crawler của DuckDuckGo | DuckDuckGo |
Baiduspider |
Crawler của Baidu | Baidu Search |
YandexBot |
Crawler của Yandex | Yandex Search |
GPTBot |
Crawler huấn luyện của OpenAI | ChatGPT |
ClaudeBot |
Crawler huấn luyện của Anthropic | Claude |
CCBot |
Bot của Common Crawl | Nhiều bộ dữ liệu AI |
Các quy tắc được áp dụng theo từng user-agent. Nếu một bot khớp với bản ghi user-agent cụ thể, các quy tắc đó sẽ được áp dụng. Nếu không có bản ghi cụ thể nào, các quy tắc * (wildcard) sẽ được áp dụng.
Disallow và Allow — cách khớp đường dẫn hoạt động
Disallow
Disallow: /path/ chặn đường dẫn đó và tất cả mọi thứ bên dưới nó.
Disallow: /admin/ # chặn /admin/, /admin/users, /admin/login, v.v.
Disallow: /private.html # chặn chính xác file đó
Disallow: / # chặn toàn bộ website
Disallow: # giá trị rỗng = cho phép tất cả (không hạn chế)
Allow
Allow ghi đè Disallow cho một đường dẫn cụ thể hơn. Quy tắc cụ thể hơn sẽ được ưu tiên.
User-agent: Googlebot
Disallow: /products/
Allow: /products/featured/ # Googlebot CÓ THỂ thu thập /products/featured/ dù có Disallow ở trên
Ký tự đại diện (Wildcards)
Hầu hết các crawler (bao gồm cả Google) hỗ trợ hai ký tự đại diện:
| Mẫu | Ý nghĩa | Ví dụ |
|---|---|---|
* |
Khớp với bất kỳ chuỗi ký tự nào | Disallow: /*.pdf$ |
$ |
Khớp với cuối URL | Disallow: /*.pdf$ — chặn các URL kết thúc bằng .pdf |
Disallow: /*? # chặn tất cả URL có query string
Disallow: /*.pdf$ # chặn tất cả file PDF
Disallow: /tag/*/page/ # chặn các trang phân trang trong tag archive
Các mẫu robots.txt phổ biến
Cho phép tất cả (hành vi mặc định)
User-agent: *
Disallow:
Disallow rỗng nghĩa là không có hạn chế. Điều này tương đương với việc không có file robots.txt — nhưng nên có file để sau này có thể thêm quy tắc.
Chặn toàn bộ website (ví dụ: môi trường staging)
User-agent: *
Disallow: /
Dùng cái này trên môi trường development, staging hoặc preview để ngăn chúng bị lập chỉ mục.
Chặn các thư mục cụ thể
User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /checkout/
Disallow: /cart/
Disallow: /account/
Chặn các crawler huấn luyện AI
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Google-Extended
Disallow: /
Website thương mại điện tử — chặn các trang không cần lập chỉ mục
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /wishlist/
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*?ref=
Allow: /products/
Allow: /collections/
Sitemap: https://yourdomain.com/sitemap.xml
Website WordPress
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /search/
Disallow: /trackback/
Sitemap: https://yourdomain.com/sitemap.xml
Cách tạo file robots.txt mà không cần viết code
Viết robots.txt bằng tay dễ gây lỗi — chỉ một lỗi đánh máy nhỏ có thể chặn những trang bạn muốn cho phép. Robots.txt Generator của chúng tôi cho phép bạn:
- Chọn các bot muốn nhắm đến
- Thêm quy tắc allow và disallow qua biểu mẫu đơn giản
- Đặt crawl delay nếu cần
- Thêm URL sitemap của bạn
- Sao chép hoặc tải xuống file hoàn chỉnh ngay lập tức
Sau khi tạo, hãy dùng Robots.txt Tester để xác minh các quy tắc hoạt động đúng như mong muốn trước khi triển khai.
Nơi đặt file robots.txt
File phải nằm ở thư mục gốc của domain:
https://yourdomain.com/robots.txt ✓ đúng
https://yourdomain.com/robots/robots.txt ✗ sai
https://subdomain.yourdomain.com/robots.txt ✓ đúng (cho subdomain)
Mỗi subdomain cần có robots.txt riêng. File tại www.yourdomain.com/robots.txt không áp dụng cho blog.yourdomain.com.
Triển khai robots.txt
Website tĩnh (HTML): Tải robots.txt lên thư mục public gốc của web server (/public_html/, /dist/, /public/, v.v.).
WordPress: Đặt file ở thư mục gốc của cài đặt WordPress. Nhiều plugin SEO (Yoast, RankMath) quản lý tự động thông qua bảng quản trị.
Next.js: Đặt robots.txt trong thư mục /public, hoặc dùng file robots.js trong /app để tạo theo cách lập trình (Next.js 13+).
Vercel / Netlify: Đặt trong /public — file sẽ được phục vụ từ thư mục gốc tự động khi triển khai.
robots.txt và SEO — những điều cần làm đúng
Không chặn CSS và JavaScript
Một thói quen cũ phổ biến là chặn /wp-content/ hoặc /assets/ để tiết kiệm crawl budget. Điều này phản tác dụng: Google cần render trang của bạn để hiểu nội dung, và việc chặn CSS/JS sẽ cản trở điều đó. Chỉ chặn những gì bạn thực sự không muốn lập chỉ mục.
robots.txt không ngăn lập chỉ mục — noindex mới làm được
Disallow ngăn Google thu thập dữ liệu một URL. Nó không ngăn Google lập chỉ mục URL đó nếu có website khác liên kết đến. Để ngăn lập chỉ mục, hãy dùng thẻ meta noindex hoặc HTTP header X-Robots-Tag trực tiếp trên trang.
Khai báo Sitemap
Luôn đưa URL sitemap vào robots.txt — đây là cách đáng tin cậy nhất để đảm bảo các crawler tìm thấy nó:
Sitemap: https://yourdomain.com/sitemap.xml
Sitemap: https://yourdomain.com/sitemap-images.xml
Bạn có thể liệt kê nhiều sitemap.
Crawl budget
Các website lớn (hàng nghìn trang) được hưởng lợi nhiều nhất từ việc tối ưu robots.txt. Chặn các trang ít giá trị (URL với filter, kết quả tìm kiếm nội bộ, nội dung trùng lặp mỏng) giúp Google dành crawl budget cho những trang thực sự quan trọng.
Kiểm tra file robots.txt của bạn
Sau khi tạo file, hãy xác minh trước khi triển khai:
- Robots.txt Tester — dán file của bạn và kiểm tra các URL cụ thể để xác nhận hành vi allow/disallow
- Google Search Console — báo cáo Crawl Stats cho thấy Google đang thu thập dữ liệu website của bạn như thế nào; công cụ URL Inspection cho biết các trang cụ thể có bị chặn không
- Kiểm tra thủ công — truy cập
https://yourdomain.com/robots.txtsau khi triển khai để xác nhận file đang hoạt động và được phục vụ đúng cách
Câu hỏi thường gặp
Google có luôn tuân theo robots.txt không?
Google tôn trọng các chỉ thị Disallow khi thu thập dữ liệu. Tuy nhiên, Google vẫn có thể lập chỉ mục một URL bị disallow nếu tìm thấy liên kết đến nó — Disallow chặn việc thu thập, không chặn mục chỉ mục. Dùng noindex trực tiếp trên trang để ngăn lập chỉ mục.
Tôi có thể có nhiều khối User-agent cho cùng một bot không? Không. Mỗi user-agent chỉ nên xuất hiện trong một khối duy nhất. Nếu bạn có các quy tắc xung đột cho cùng một bot trong nhiều khối, hành vi sẽ không xác định. Hãy gộp tất cả quy tắc cho một user-agent vào một bản ghi duy nhất.
Điều gì xảy ra nếu robots.txt của tôi có lỗi cú pháp? Hầu hết các crawler sẽ bỏ qua quy tắc bị lỗi hoặc dừng phân tích tại điểm lỗi. Google thường tiếp tục với các quy tắc đã phân tích thành công trước khi gặp lỗi. Hãy kiểm tra file trước khi triển khai.
Tôi có nên chặn Googlebot-Image không? Chỉ khi bạn thực sự không muốn hình ảnh của mình xuất hiện trong kết quả Google Images. Nếu bạn bán ảnh hoặc vận hành website nhiều hình ảnh, việc chặn Googlebot-Image có thể làm giảm lưu lượng truy cập đáng kể.
Các crawler đọc lại robots.txt bao lâu một lần? Google thường cache robots.txt trong tối đa 24 giờ. Sau khi bạn cập nhật file, các thay đổi có thể mất đến một ngày để được phản ánh trong hành vi thu thập dữ liệu của Google.
robots.txt có ảnh hưởng đến tốc độ trang hay Core Web Vitals không? Không. robots.txt chỉ ảnh hưởng đến hành vi thu thập dữ liệu, không ảnh hưởng đến cách trang tải hay hiệu suất đối với người dùng thực.
Kích thước và giới hạn file robots.txt
- Google hỗ trợ file robots.txt có kích thước tối đa 500 KB
- File lớn hơn 500 KB sẽ bị cắt bớt — các quy tắc vượt quá kích thước đó sẽ bị bỏ qua
- Không có giới hạn chính thức về số lượng quy tắc, nhưng hãy giữ file có tổ chức và ngắn gọn
- Khuyến nghị dùng mã hóa UTF-8; ASCII cũng hoạt động được
Công cụ liên quan
- Robots.txt Generator — tạo file robots.txt thông qua giao diện biểu mẫu
- Robots.txt Tester — kiểm tra các quy tắc và xác minh các URL cụ thể
- Sitemap Generator — tạo XML sitemap để kết hợp với robots.txt
- Meta Tag Generator — tạo các thẻ meta SEO cho trang của bạn