Trình Tạo Robots.txt
Nhanh chóng xây dựng tệp robots.txt cho trang web của bạn.
Mẫu sẵn khởi đầu nhanh
Cách sử dụng
- Chọn một mẫu sẵn hoặc xây dựng các quy tắc thủ công.
- Thêm các nhóm user-agent với các đường dẫn Allow/Disallow.
- Thêm URL sitemap của bạn.
- Sao chép hoặc tải xuống tệp và đặt nó vào thư mục gốc của trang web của bạn.
Câu hỏi thường gặp
Đặt tệp robots.txt ở đâu?
Nó phải ở gốc của tên miền: https://miencuaban.com/robots.txt. Nó sẽ không hoạt động trong các thư mục con.
robots.txt có ngăn Google lập chỉ mục các trang không?
robots.txt ngăn các bot khám phá các trang, nhưng không xóa chúng khỏi kết quả tìm kiếm. Để làm điều đó, hãy sử dụng thẻ meta noindex.
Bot AI là gì?
Bot AI như GPTBot, CCBot và Google-Extended thu thập nội dung để huấn luyện mô hình AI. Bạn có thể chặn chúng cụ thể trong robots.txt của mình.
Một Chuẩn Ra Đời Năm 1994, Được Chuẩn Hóa Năm 2022
Robots Exclusion Protocol được thiết kế bởi Martijn Koster vào tháng 2 năm 1994, gần ba thập kỷ sau đó mới được chính thức hóa thành RFC 9309 vào tháng 9 năm 2022. Trong 28 năm, nó là chuẩn de facto mà mọi người đồng ý tuân theo mà không ai đồng ý về các chi tiết. RFC đã quy định rõ cú pháp (các dòng User-agent / Disallow / Allow), các quy tắc ưu tiên, giới hạn kích thước tệp (parser phải chấp nhận ít nhất 500 KiB), và cách xử lý lỗi (4xx → crawler có thể truy cập bất cứ thứ gì; 5xx → crawler phải giả định cấm hoàn toàn). Hầu hết các crawler của công cụ tìm kiếm lớn tuân theo hành vi gần giống nhau trước RFC, nhưng sự khác biệt nhỏ cũng quan trọng.
Vị Trí Đặt Tệp
Tệp robots.txt phải được phục vụ tại URL chính xác /robots.txt từ gốc của origin (một tệp mỗi scheme + host + port). Thư mục con không hoạt động; /blog/robots.txt chỉ là 404 với crawler. Mỗi subdomain cần tệp riêng (www.example.com/robots.txt và blog.example.com/robots.txt là các tệp độc lập). Tệp là plain text, được phục vụ dưới dạng text/plain, mã hóa UTF-8 (BOM được cho phép nhưng không khuyến khích).
Cú Pháp Tóm Gọn Trong Một Trang
# Comments start with #
User-agent: * # Apply to all crawlers
Disallow: /admin/ # Block this directory
Disallow: /search # Block search results
Allow: /admin/login # Allow this path even within /admin/
User-agent: Googlebot # Specific Googlebot rules
Disallow: /test/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/news-sitemap.xml
Các hành vi chính:
- Cấu trúc nhóm. Một «nhóm» bắt đầu với một hoặc nhiều dòng
User-agent:và tiếp tục với các quy tắcAllow:/Disallow:cho đến khiUser-agent:tiếp theo bắt đầu nhóm mới. - Cụ thể hơn thắng. Nhóm user-agent cụ thể nhất áp dụng cho crawler đã cho. Googlebot đọc các quy tắc của
User-agent: Googlebotvà bỏ qua hoàn toàn các quy tắc củaUser-agent: *. Disallow:rỗng nghĩa là «cho phép tất cả.»Disallow: /nghĩa là «chặn tất cả.» Sự có hay không có dấu gạch chéo là cực kỳ quan trọng.- Ký tự đại diện.
*khớp với bất kỳ chuỗi ký tự nào;$khớp với cuối URL.Disallow: /*.pdf$chặn tất cả PDF. Chính thức đây là phần mở rộng của Google, nhưng hầu hết các crawler lớn đều chấp nhận. - Phân biệt chữ hoa/thường. Tên user-agent không phân biệt hoa/thường (Googlebot = googlebot). Đường dẫn URL trong quy tắc phân biệt hoa/thường (
/Page≠/page) trên filesystem phân biệt hoa/thường.
Robots.txt KHÔNG Làm Được Gì
Hiểu lầm phổ biến nhất, và điều Google chỉ ra trực tiếp trong tài liệu của mình: robots.txt ngăn thu thập, không phải lập chỉ mục. Nếu một trang được liên kết từ nơi khác trên web, Google có thể lập chỉ mục URL (và hiển thị trong kết quả tìm kiếm với đoạn stub như «Không có thông tin cho trang này») dù không bao giờ thu thập trang đó. Để thực sự giữ trang ngoài kết quả tìm kiếm, hãy dùng thẻ <meta name="robots" content="noindex"> trên trang đó, hoặc header HTTP X-Robots-Tag: noindex. Crawler phải được phép truy cập trang để thấy chỉ thị noindex, nghĩa là bạn không nên Disallow một trang trong robots.txt nếu bạn cũng đã thêm noindex vào trang đó, vì crawler sẽ không bao giờ thấy noindex.
Những điều robots.txt không làm được:
- Ẩn URL nhạy cảm. Tệp có thể đọc công khai; bất kỳ ai cũng có thể tải
yoursite.com/robots.txt. Liệt kê các đường dẫn như/admin/hay/internal-tools/cho cả thế giới biết những URL đó tồn tại. Để giữ bí mật thực sự, hãy dùng authentication; để «đừng lập chỉ mục nó,» hãy dùng noindex. - Ngăn crawler độc hại. Kẻ xấu bỏ qua robots.txt hoàn toàn. Đây là yêu cầu với crawler hoạt động tốt, không phải biện pháp thực thi.
- Chặn crawler embed-card theo cách đáng tin cậy.
facebookexternalhitcủa Facebook,Twitterbotcủa Twitter,LinkedInBotcủa LinkedIn, Slack và Discord bots đều đọc robots.txt, nhưng nếu bạn chặn họ, các link chia sẻ của bạn sẽ không hiển thị preview trên những nền tảng đó. Cho phép họ rõ ràng nếu bạn muốn share card.
Các User Agent Đáng Chú Ý
| User-agent | Chủ sở hữu | Dùng để thu thập |
|---|---|---|
Googlebot | Lập chỉ mục Web Search | |
Bingbot | Microsoft | Lập chỉ mục Bing Search |
DuckDuckBot | DuckDuckGo | Tìm kiếm DuckDuckGo |
Slurp | Yahoo | Tìm kiếm Yahoo |
YandexBot | Yandex | Tìm kiếm Nga |
Baiduspider | Baidu | Tìm kiếm Trung Quốc |
facebookexternalhit | Meta | Metadata thẻ chia sẻ Facebook |
LinkedInBot | Xem trước chia sẻ LinkedIn | |
Twitterbot | X / Twitter | Metadata thẻ tweet |
Slackbot | Slack | Mở rộng link Slack |
Discordbot | Discord | Xem trước link Discord |
Câu Hỏi Về Crawler AI
Từ năm 2023, một làn sóng crawler huấn luyện AI đã xuất hiện, và nhiều trang web đã thêm quy tắc robots.txt để từ chối huấn luyện AI. Các crawler chính cần biết:
- GPTBot: Crawler huấn luyện của OpenAI.
- ChatGPT-User: Crawler theo yêu cầu của OpenAI khi người dùng ChatGPT yêu cầu nó tải một URL.
- OAI-SearchBot: Crawler sản phẩm tìm kiếm của OpenAI.
- Google-Extended: Token riêng của Google cho huấn luyện AI (Bard / Gemini), độc lập với Googlebot. Cho phép bạn cho phép Search nhưng chặn huấn luyện AI.
- ClaudeBot / Claude-User / Claude-SearchBot: Các crawler khác nhau của Anthropic.
- PerplexityBot: Perplexity AI.
- CCBot: Common Crawl, tập dữ liệu mở mà hầu hết các LLM huấn luyện trên đó.
- Bytespider: ByteDance / TikTok.
- Applebot-Extended: Token riêng của Apple Intelligence, tương tự Google-Extended.
Hai điều quan trọng cần biết: (1) việc từ chối là tự nguyện, vì chỉ các crawler tôn trọng robots.txt mới bị ảnh hưởng, và (2) ranh giới giữa «tìm kiếm» và «huấn luyện AI» đang mờ dần nhanh chóng, vì vậy chặn tất cả crawler AI cũng có thể ảnh hưởng đến cách nội dung của bạn xuất hiện trong kết quả tìm kiếm tóm tắt bởi AI. Hãy dùng preset «Block AI Crawlers» bên trên làm điểm khởi đầu, sau đó quyết định những đánh đổi nào phù hợp với trang của bạn.
Crawl-Delay và Tại Sao Google Bỏ Qua Nó
Chỉ thị không chuẩn Crawl-delay: yêu cầu crawler chờ N giây giữa các yêu cầu tới máy chủ của bạn. Bing, Yandex và nhiều crawler nhỏ hơn tuân thủ. Google thì không. Tài liệu của Google nêu rõ rằng Googlebot bỏ qua Crawl-delay. Search Console từng hiển thị cài đặt tốc độ thu thập thủ công, nhưng Google đã deprecate nó cho hầu hết các trang vào đầu năm 2024 và hiện điều chỉnh tốc độ thu thập tự động dựa trên phản hồi của máy chủ. Nếu mục tiêu của bạn là làm chậm Googlebot cụ thể, robots.txt là công cụ sai.
Chỉ Thị Sitemap
Liệt kê sitemap trong robots.txt là gợi ý cho crawler về vị trí tìm danh sách URL của bạn. Dùng URL tuyệt đối (đầy đủ https://), mỗi dòng một URL. Bạn có thể liệt kê nhiều sitemap cho các trang web tách nội dung thành sitemap riêng (sitemap chính, sitemap tin tức, sitemap video, sitemap hình ảnh). Chỉ thị Sitemap không chính thức là một phần của giao thức robots.txt gốc, nhưng mọi công cụ tìm kiếm lớn đều đọc nó.
Những Sai Lầm Phổ Biến
- Chặn tệp CSS / JavaScript. Google dùng nội dung được render để xếp hạng. Nếu Googlebot không thể tải
/css/hoặc/js/của bạn, nó không thể render trang đúng cách, điều này gây hại cho SEO. Đừng chặn các thư mục tài nguyên. - Nhầm lẫn Disallow với noindex. Disallow ngừng thu thập; trang vẫn có thể xuất hiện trong tìm kiếm thông qua liên kết inbound. Dùng thẻ meta noindex để kiểm soát lập chỉ mục thực sự.
- Liệt kê URL riêng tư. Bất cứ thứ gì trong robots.txt đều có thể đọc công khai. Đừng quảng cáo
/admin/hay/wp-admin/nếu bạn không muốn kẻ tấn công biết chúng tồn tại; thay vào đó, hãy dùng authentication hợp lệ và dựa vào noindex. Disallow:rỗng khi bạn muốn nóiDisallow: /. Rỗng cho phép tất cả;Disallow: /chặn tất cả. Chúng đối lập nhau.- Cố chặn crawler embed và sau đó thắc mắc tại sao preview chia sẻ không hoạt động. Nếu bạn Disallow facebookexternalhit, các link chia sẻ của bạn sẽ không hiển thị Facebook card. Cho phép rõ ràng các bot mạng xã hội nếu bạn muốn preview.
- Quên thêm dòng Sitemap. Miễn phí, hữu ích, và hầu hết các generator đều bỏ sót.
- Tin tưởng Crawl-delay để giảm tốc Google. Không hiệu quả. Hãy dùng Search Console.
- Dùng robots.txt để chặn theo IP / khu vực / thiết bị. Giao thức không có khái niệm về những điều này. Hãy dùng quy tắc phía máy chủ thay thế.
- Không kiểm tra tệp. Google đã retire robots.txt Tester độc lập vào tháng 11 năm 2023 và thay thế bằng robots.txt Report bên trong Search Console; báo cáo đó đánh dấu lỗi cú pháp và hiển thị lần thu thập gần nhất. Luôn kiểm tra nó (hoặc trình xác thực robots.txt mã nguồn mở khác) trước khi triển khai.
Câu Hỏi Thường Gặp Thêm
Tôi đặt tệp ở đâu chính xác?
Gốc của domain của bạn, có thể truy cập tại chính xác https://yoursite.com/robots.txt. Trên hầu hết các host, điều đó có nghĩa là đặt robots.txt vào thư mục gốc public / htdocs / www của bạn. WordPress và nhiều CMS tạo một tệp động; kiểm tra xem của bạn có tạo không trước khi thêm tệp tĩnh (tệp tĩnh thắng nếu cả hai tồn tại).
Tôi có cần robots.txt không?
Về kỹ thuật là không. Không có tệp, crawler mặc định là «cho phép tất cả,» điều này ổn với hầu hết các trang công khai. Nhưng bạn hầu như luôn muốn có một tệp để trỏ đến sitemap, để chặn các crawl trap rõ ràng (trang kết quả tìm kiếm, kho lưu trữ phân trang, URL tham số), và ngày càng để từ chối huấn luyện AI. Robots.txt rỗng hoặc cho phép mặc định vẫn hữu ích như một nơi để đặt dòng Sitemap.
Robots.txt có thể lớn đến mức nào?
RFC 9309 yêu cầu parser phải chấp nhận ít nhất 500 KiB (~500.000 byte). Google thực thi giới hạn 500 KiB và bỏ qua bất kỳ thứ gì vượt quá. Đại đa số tệp robots.txt nhỏ hơn 1 KiB. Nếu tệp của bạn đang tiến gần đến giới hạn, bạn có lẽ đang liệt kê quá nhiều URL cụ thể và nên dùng mẫu ký tự đại diện thay thế.
Điều gì xảy ra nếu robots.txt của tôi trả về lỗi 500?
Theo RFC 9309, khi crawler không thể tải robots.txt do lỗi máy chủ (5xx), crawler phải giả định cấm hoàn toàn, nghĩa là Google và các crawler tuân thủ khác sẽ ngừng thu thập trang của bạn hoàn toàn cho đến khi tệp có thể truy cập lại. Nếu endpoint robots.txt của bạn bị sập, khả năng hiển thị tìm kiếm của bạn cũng bị sập theo. Hãy đảm bảo nó luôn khả dụng.
Còn Crawl-delay với Google thì sao?
Google bỏ qua Crawl-delay hoàn toàn. Chỉ thị này hoạt động với Bing, Yandex và hầu hết các crawler khác. Cài đặt tốc độ thu thập thủ công mà Search Console từng hiển thị đã bị deprecate cho hầu hết các trang vào đầu năm 2024; Google hiện điều chỉnh tốc độ thu thập tự động dựa trên cách máy chủ của bạn phản hồi. Đặt Crawl-delay trong robots.txt sẽ không gây hại gì; chỉ là không thay đổi hành vi của Googlebot.
Tôi có nên chặn crawler AI không?
Đánh đổi. Chặn GPTBot, Google-Extended, ClaudeBot, v.v. từ chối nội dung của bạn khỏi dữ liệu huấn luyện cho các mô hình đó, điều này đúng đắn nếu bạn muốn hạn chế việc tái sử dụng nội dung. Chi phí: khi kết quả tìm kiếm tóm tắt bởi AI ngày càng phổ biến, nội dung bị chặn cũng ít có khả năng được trích dẫn hoặc xuất hiện hơn. Nhiều nhà xuất bản chặn crawler huấn luyện AI nhưng cho phép crawler tìm kiếm AI (OAI-SearchBot, v.v.) để tiếp tục được trích dẫn. Preset «Block AI Crawlers» thực hiện cách tiếp cận tối đa; hãy điều chỉnh để phù hợp với ưu tiên của bạn.