Robots txt là một tập hợp các hướng dẫn dành cho bot. File này được bao gồm trong các file nguồn của hầu hết các website. Các file robots txt chủ yếu nhằm mục đích quản lý hoạt động của các bot tốt như trình thu thập dữ liệu web, vì các bot xấu không có khả năng làm theo hướng dẫn.
Hãy nghĩ về file robots txt giống như một biển báo “Quy tắc ứng xử” được dán trên tường tại phòng tập thể dục, quán bar hoặc trung tâm cộng đồng: Bản thân biển báo này không có quyền thực thi các quy tắc được liệt kê, nhưng những người bảo trợ “tốt” sẽ tuân theo các quy tắc, trong khi những người “xấu” có khả năng phá vỡ chúng và bị cấm.
Bot là một chương trình máy tính tự động tương tác với các website và ứng dụng. Có bot tốt và bot xấu, và một loại bot tốt được gọi là bot trình thu thập thông tin web. Các bot này “thu thập thông tin” các website và lập chỉ mục nội dung để nó có thể hiển thị trong kết quả của công cụ tìm kiếm (search engine). File robots txt giúp quản lý hoạt động của những trình thu thập thông tin web này để chúng không đánh lừa web server lưu trữ website hoặc lập chỉ mục các trang không dành cho chế độ xem công khai.
Mục lục
Cách hoạt động của Robots txt

File robots.txt chỉ là một file văn bản không có mã đánh dấu HTML (do đó có phần mở rộng .txt). File robots.txt được lưu trữ trên web server giống như bất kỳ file nào khác trên website.
Trên thực tế, file robots txt cho bất kỳ website cụ thể nào thường có thể được xem bằng cách nhập URL đầy đủ cho trang chủ và sau đó thêm /robots.txt, như https://www.seopoly.net/robots.txt. File không được liên kết với bất kỳ nơi nào khác trên website, vì vậy người dùng không có khả năng tình cờ tìm thấy nó, nhưng hầu hết các bot trình thu thập thông tin web sẽ tìm kiếm file này trước khi thu thập thông tin phần còn lại của website.
Mặc dù file robots.txt cung cấp hướng dẫn cho bot, nhưng thực tế nó không thể thực thi các hướng dẫn. Một bot tốt, chẳng hạn như web crawler hoặc bot nguồn cấp tin tức, sẽ cố gắng truy cập file robots txt trước khi xem bất kỳ trang nào khác trên một miền và sẽ làm theo hướng dẫn. Một bot xấu sẽ bỏ qua file robots txt hoặc sẽ xử lý nó để tìm các website bị cấm.
Một bot web crawler sẽ làm theo bộ hướng dẫn cụ thể nhất trong file robots txt. Nếu có các lệnh mâu thuẫn trong file, bot sẽ thực hiện theo lệnh chi tiết hơn.
Một điều quan trọng cần lưu ý là tất cả các subdomain cần robots txt của riêng chúng. Ví dụ: trong khi www.seopoly.net có file riêng, tất cả các subdomain của Cloudflare (blog.seopoly.net, community.seopoly.net, v.v.) cũng cần có file riêng.
Những giao thức nào được sử dụng trong file robots.txt?
Trong mạng, giao thức là một định dạng để cung cấp hướng dẫn hoặc lệnh. File Robots txt sử dụng một số giao thức khác nhau. Giao thức chính được gọi là Robot Exclusion Protocol. Đây là một cách để cho bot biết những website và tài nguyên nào cần tránh. Các hướng dẫn được định dạng cho giao thức này được bao gồm trong file robots txt.
Giao thức khác được sử dụng cho file robots txt là giao thức sitemap (Sitemaps protocol). Đây có thể được coi là một giao thức đưa vào robot. Sitemap hiển thị cho trình thu thập thông tin web những trang mà họ có thể thu thập thông tin. Điều này giúp đảm bảo rằng một bot trình thu thập thông tin sẽ không bỏ lỡ bất kỳ trang quan trọng nào.
User agent là gì? ‘User agent: *’ có nghĩa là gì?

Bất kỳ người hoặc chương trình nào hoạt động trên Internet sẽ có “user agent” hoặc tên được chỉ định. Đối với người dùng là con người, điều này bao gồm thông tin như loại trình duyệt và phiên bản hệ điều hành nhưng không có thông tin cá nhân; nó giúp các website hiển thị nội dung tương thích với hệ thống của người dùng. Đối với bot, tác nhân người dùng (về mặt lý thuyết) giúp quản trị viên website biết loại bot nào đang thu thập dữ liệu website.
Trong file robots txt, quản trị viên website có thể cung cấp hướng dẫn cụ thể cho các bot cụ thể bằng cách viết các hướng dẫn khác nhau cho tác nhân người dùng bot. Ví dụ: nếu quản trị viên muốn một trang nhất định hiển thị trong kết quả tìm kiếm của Google chứ không phải tìm kiếm trên Bing, họ có thể bao gồm hai bộ lệnh trong file robots txt: một bộ đứng trước “User-agent: Bingbot” và một bộ đứng trước “User-agent: Googlebot”.
Tên user agent bot của công cụ tìm kiếm (search engine) phổ biến bao gồm:
Google:
- Googlebot
- Googlebot-Image (dành cho hình ảnh)
- Googlebot-News (dành cho tin tức)
- Googlebot-Video (dành cho video)
Bing
- Bingbot
- MSNBot-Media (cho hình ảnh và video)
Baidu
- Baiduspider
Các lệnh ‘Disallow’ hoạt động như thế nào trong file robots txt?
Lệnh Disallow là lệnh phổ biến nhất trong giao thức loại trừ robot. Nó yêu cầu các bot không được truy cập vào website hoặc tập hợp các website xuất hiện sau lệnh. Các trang không được phép không nhất thiết phải “ẩn” – chúng không hữu ích cho người dùng Google hoặc Bing thông thường, vì vậy chúng không được hiển thị cho họ. Hầu hết thời gian, người dùng trên website vẫn có thể điều hướng đến các trang này nếu họ biết tìm chúng ở đâu.
Lệnh Disallow có thể được sử dụng theo một số cách, một số cách được hiển thị trong ví dụ trên.
Chặn một file (nói cách khác, một website cụ thể)
Disallow: /seo-co-ban/seo-onpage
Sau lệnh “disallow”, phần URL của website đứng sau trang chủ – trong trường hợp này là “www.seopoly.net” – được bao gồm. Với lệnh này, các bot tốt sẽ không truy cập vào https://www.seopoly.net.com/seo-co-ban/seo-onpage/ và trang sẽ không hiển thị trong kết quả của công cụ tìm kiếm (search engine).
Chặn một thư mục
Đôi khi sẽ hiệu quả hơn nếu chặn nhiều trang cùng một lúc, thay vì liệt kê tất cả chúng riêng lẻ. Nếu tất cả chúng nằm trong cùng một phần của website, file robots txt có thể chặn thư mục chứa chúng.
Một ví dụ ở trên là:
Disallow: /__mesa/
Điều này có nghĩa là không nên thu thập thông tin tất cả các trang có trong thư mục __mesa.
Cho phép toàn quyền truy cập
Một lệnh như vậy sẽ trông như sau:
Disallow:
Điều này cho các bot biết rằng chúng có thể duyệt toàn bộ website, vì không có gì là không được phép.
Ẩn toàn bộ website khỏi bot
Disallow: /
“/” Ở đây đại diện cho “root” trong hệ thống phân cấp của website hoặc trang mà tất cả các trang khác phân nhánh, vì vậy nó bao gồm trang chủ và tất cả các trang được liên kết từ đó. Với lệnh này, các bot của công cụ tìm kiếm không thể thu thập dữ liệu website.
Nói cách khác, một dấu gạch chéo có thể loại bỏ toàn bộ website khỏi Internet có thể tìm kiếm được!
Những lệnh nào khác là một phần của Robots Exclusion Protocol?

Allow: Đúng như người ta có thể mong đợi, lệnh “Allow” cho các bot biết rằng chúng được phép truy cập vào một website hoặc thư mục nhất định. Lệnh này có thể cho phép bot truy cập vào một website cụ thể, trong khi không cho phép các website còn lại trong file. Không phải tất cả các công cụ tìm kiếm đều nhận ra lệnh này.
Crawl-delay: Lệnh trì hoãn thu thập thông tin có nghĩa là để ngăn các bot trình thu thập thông tin của công cụ tìm kiếm vượt qua server. Nó cho phép quản trị viên chỉ định thời gian bot sẽ đợi giữa mỗi yêu cầu, tính bằng mili giây. Dưới đây là ví dụ về lệnh Crawl-delay để đợi 8 mili giây:
Crawl-delay: 8
Google không nhận ra lệnh này, mặc dù các công cụ tìm kiếm khác có. Đối với Google, quản trị viên có thể thay đổi tần suất thu thập thông tin cho website của họ trong Google Search Console.
Giao thức Sitemaps là gì? Tại sao nó được thêm vào trong robots.txt?
Giao thức sitemaps giúp bot biết những gì cần đưa vào trong quá trình thu thập thông tin website của chúng.
Đó là danh sách tất cả các trang trên một website có thể đọc được bằng máy. Thông qua giao thức Sitemaps, các liên kết đến các sơ đồ website này có thể được đưa vào file robots.txt. Định dạng là: “Sitemaps:” theo sau là địa chỉ web của file XML.
Mặc dù giao thức Sitemaps giúp đảm bảo rằng các web crawler không bỏ lỡ bất kỳ điều gì khi chúng thu thập dữ liệu một website, các bot này sẽ vẫn tuân theo quy trình thu thập thông tin điển hình của chúng. Sitemap Không buộc các bot phải ưu tiên các website theo cách khác nhau.
Robots.txt có liên quan như thế nào đến việc quản lý bot?
Quản lý bot là điều cần thiết để duy trì một website hoặc ứng dụng luôn hoạt động, bởi vì ngay cả những hoạt động tốt của bot cũng có thể vượt qua server gốc, làm chậm hoặc làm hỏng một thuộc tính web. File robots.txt được xây dựng tốt giúp website được tối ưu hóa cho SEO và kiểm soát hoạt động tốt của bot.