international robots.txt
Tập tin robots.txt được cấu hình riêng cho từng phiên bản quốc tế để kiểm soát việc thu thập dữ liệu theo khu vực/ngôn ngữ.
international robots.txt là gì?
International robots.txt là tập tin robots.txt được cấu hình riêng cho từng phiên bản quốc tế của website — ví dụ: phiên bản tiếng Đức tại de.example.com, phiên bản tiếng Tây Ban Nha tại es.example.com, hoặc phiên bản tiếng Việt tại vi.example.com. Khác với tập tin robots.txt chung toàn cục, international robots.txt cho phép kiểm soát việc thu thập dữ liệu (crawling) của công cụ tìm kiếm theo khu vực địa lý, ngôn ngữ và cấu trúc phân vùng cụ thể.
Tập tin này nằm ở thư mục gốc của mỗi phiên bản quốc tế (ví dụ: https://de.example.com/robots.txt) và chỉ ảnh hưởng đến các URL thuộc cùng tên miền hoặc subdomain đó — không áp dụng cho các phiên bản khác.
Tại sao quan trọng trong SEO?
Khi triển khai International SEO, việc điều hướng bot tìm kiếm một cách chính xác là yếu tố then chốt để tránh:
- Thu thập trùng lặp nội dung giữa các phiên bản ngôn ngữ/khu vực;
- Bot lãng phí băng thông vào các trang không cần lập chỉ mục (ví dụ: trang chuyển hướng, phiên bản thử nghiệm, trang quản trị);
- Mất kiểm soát thứ tự ưu tiên lập chỉ mục giữa các phiên bản quốc tế (ảnh hưởng đến hreflang và hiển thị kết quả đúng người dùng).
Robots.txt quốc tế giúp Googlebot và các bot khác hiểu rõ: đâu là nội dung nên thu thập, đâu là phần không cần thiết — từ đó hỗ trợ hiệu quả hơn cho chiến lược phân vùng và định hướng người dùng toàn cầu.
Cách hoạt động
International robots.txt hoạt động dựa trên nguyên tắc scope-based: mỗi tập tin chỉ có hiệu lực trên tên miền hoặc subdomain nơi nó được đặt. Khi Googlebot truy cập https://fr.example.com/robots.txt, nó sẽ đọc tập tin đó trước khi thu thập bất kỳ URL nào bắt đầu bằng https://fr.example.com/.
Không có cơ chế “tự động nhận diện ngôn ngữ” hay “áp dụng chéo” — nếu bạn quên cấu hình robots.txt cho jp.example.com, bot sẽ dùng quy tắc mặc định (thường là cho phép toàn bộ), trừ khi có tập tin tồn tại và hợp lệ.
Lưu ý: robots.txt không phải là công cụ chặn lập chỉ mục — nó chỉ kiểm soát việc thu thập. Để ngăn index, phải dùng thẻ noindex, X-Robots-Tag hoặc mật khẩu bảo vệ.
Hướng dẫn thực hiện
- Xác định cấu trúc quốc tế: Phân biệt rõ bạn dùng subdomain (
de.example.com), subdirectory (example.com/de/) hay ccTLD (example.de). Với subdirectory và ccTLD,robots.txtchung cho toàn bộ tên miền — không có international robots.txt riêng. Chỉ subdomain mới có thể có tập tin riêng. - Tạo tập tin riêng cho từng subdomain: Đặt file
robots.txttại thư mục gốc của từng subdomain (ví dụ:https://es.example.com/robots.txt). - Viết quy tắc phù hợp: Dùng
User-agent,Disallow,Allow,Sitemap— đảm bảo đường dẫn trongDisallowchỉ áp dụng cho nội dung thuộc subdomain đó. Không dùng đường dẫn tuyệt đối ngoài phạm vi. - Khởi tạo Sitemap riêng: Mỗi phiên bản nên có
Sitemapriêng (ví dụ:https://es.example.com/sitemap-es.xml) và khai báo trongrobots.txttương ứng. - Kiểm tra và xác minh: Dùng công cụ Robots Testing Tool trong Google Search Console cho từng property (mỗi subdomain là một property riêng).
Lỗi thường gặp
- Sử dụng chung một tập tin robots.txt cho nhiều subdomain: Ví dụ đặt
robots.txtchỉ ởexample.comrồi kỳ vọng nó ảnh hưởng tớide.example.com. → Khắc phục: Tạo và upload riêng cho từng subdomain. - Quy tắc Disallow sai đường dẫn: Ghi
Disallow: /admin/trongde.example.com/robots.txtnhưng quên rằng/admin/có thể tồn tại ở mọi phiên bản — dẫn đến chặn nhầm. → Khắc phục: Dùng đường dẫn đầy đủ nếu cần (tùy trường hợp), hoặc kiểm tra kỹ cấu trúc thư mục thực tế. - Thiếu khai báo Sitemap quốc tế: Không thêm dòng
Sitemap: https://es.example.com/sitemap-es.xml→ Googlebot khó phát hiện nội dung mới. → Khắc phục: Luôn khai báo Sitemap riêng trong mỗirobots.txtquốc tế. - Bỏ qua kiểm tra trên môi trường staging: Tập tin hoạt động tốt trên
staging.de.example.comnhưng bị ghi đè khi deploy. → Khắc phục: Tích hợp kiểm trarobots.txtvào quy trình CI/CD hoặc checklist deploy.
Ví dụ thực tế
Dưới đây là mẫu robots.txt cho phiên bản tiếng Pháp tại fr.example.com:
User-agent: * Disallow: /wp-admin/ Disallow: /cgi-bin/ Disallow: /search/ Allow: /wp-admin/admin-ajax.php Sitemap: https://fr.example.com/sitemap-fr.xml
Và phiên bản tiếng Nhật tại jp.example.com:
User-agent: * Disallow: /wp-admin/ Disallow: /cgi-bin/ Disallow: /test/ Allow: /wp-admin/admin-ajax.php Sitemap: https://jp.example.com/sitemap-jp.xml
→ Cả hai đều chặn thư mục quản trị, nhưng fr.example.com chặn /search/ (trang tìm kiếm nội bộ), còn jp.example.com chặn /test/ (phiên bản thử nghiệm riêng). Mỗi phiên bản có Sitemap riêng, đảm bảo Googlebot chỉ thu thập nội dung phù hợp.
Câu hỏi thường gặp
international robots.txt có ảnh hưởng đến hreflang không?
Không trực tiếp. hreflang được xử lý qua thẻ HTML, HTTP header hoặc Sitemap — không phụ thuộc vào robots.txt. Tuy nhiên, nếu robots.txt chặn toàn bộ phiên bản (ví dụ: Disallow: /), Googlebot sẽ không thu thập trang để đọc thẻ hreflang → dẫn đến mất liên kết giữa các phiên bản. Vì vậy, ảnh hưởng là gián tiếp nhưng rất nghiêm trọng.
Có thể dùng wildcard hoặc regex trong international robots.txt không?
Không. Chuẩn robots.txt không hỗ trợ biểu thức chính quy (regex) hay ký tự đại diện như * trong phần Disallow (ngoại trừ User-agent: *). Một số bot như Googlebot hỗ trợ $ (kết thúc chuỗi) và * (bất kỳ chuỗi nào) trong Disallow, nhưng đây là tính năng mở rộng — không chuẩn và không được đảm bảo trên mọi bot. Cách an toàn nhất là dùng đường dẫn tĩnh.
Cần bao nhiêu international robots.txt cho một website có 12 ngôn ngữ?
Tùy trường hợp. Nếu bạn dùng subdomain cho từng ngôn ngữ (ví dụ: en.example.com, fr.example.com…), bạn cần 12 tập tin riêng. Nếu dùng subdirectory (example.com/en/, example.com/fr/), thì chỉ cần 1 tập tin robots.txt chung tại example.com/robots.txt, và không có international robots.txt riêng. Với ccTLD (example.fr, example.jp), mỗi tên miền phải có robots.txt riêng — nghĩa là cũng cần 12 tập tin.
| Cấu trúc quốc tế | Có international robots.txt không? | Ghi chú |
|---|---|---|
| Subdomain (de.example.com) | Có — 1 file / subdomain | Mỗi subdomain là một property độc lập trong Search Console |
| Subdirectory (example.com/de/) | Không — dùng chung 1 file | Không thể phân biệt phiên bản qua robots.txt |
| ccTLD (example.de, example.es) | Có — 1 file / tên miền | Mỗi ccTLD là một website riêng về mặt kỹ thuật |