Robot.txt là gì? Hướng dẫn cách tạo file robots.txt chuẩn SEO

Robots.txt là nơi để quản trị website cấu hình hướng dẫn robot web (thường là rô bốt công cụ tìm kiếm) cách thu thập dữ liệu các trang trên trang web của họ.

Trong thực tế, các tệp robot.txt cho biết liệu một số user-agent (công cụ thu thập dữ liệu web) có thể hoặc không thể thu thập dữ liệu các phần của website. Các hướng dẫn này được chỉ định bởi cú pháp không cho phép(Disallow) các user-agents thu thập dữ liệu.

File robots.txt là gì?

Robots.txt là một file văn bản để quan trị website khai báo cho phép hay không cho phép các BOT của search engine(user-agent) thu thập dữ liệu(crawl) trong tài nguyên môt website

Tệp này dùng để ngăn trình thu thập dữ liệu request trang web của bạn quá nhiều, nó không phải là cơ chế để ẩn một trang web khỏi Google. Để ẩn một trang web khỏi Google, bạn nên sử dụng lệnh noindex (ngăn lập chỉ mục) với thẻ meta robots hoặc bảo vệ trang của bạn bằng mật khẩu cho một trang web.



file robot.txt la gi
 

Tại sao bạn cần robot.txt?

Các tệp Robots.txt kiểm soát truy cập trình thu thập thông tin đến các khu vực nhất định trên trang web của bạn. Mặc dù điều này có thể rất nguy hiểm nếu bạn vô tình không cho phép Googlebot thu thập dữ liệu toàn bộ trang web của bạn (!!), có một số tình huống trong đó tệp robot.txt có thể rất tiện dụng.

Một số trường hợp sử dụng phổ biến bao gồm:

  • Ngăn chặn nội dung trùng lặp xuất hiện trong SERPs (lưu ý rằng robot meta thường là lựa chọn tốt hơn cho việc này)
  • Giữ toàn bộ các phần của trang web ở chế độ riêng tư
  • Giữ các trang kết quả tìm kiếm nội bộ không hiển thị trên SERP công khai
  • Chỉ định vị trí của sơ đồ trang web
  • Ngăn công cụ tìm kiếm lập chỉ mục các tệp nhất định trên trang web của bạn (hình ảnh, PDF, v.v.)
  • Chỉ định độ trễ thu thập dữ liệu để ngăn máy chủ của bạn bị quá tải khi trình thu thập dữ liệu tải nhiều phần nội dung cùng một lúc

Nếu không có khu vực nào trên trang web của bạn mà bạn muốn kiểm soát quyền truy cập của tác nhân người dùng, bạn hoàn toàn không cần một tệp robot.txt.

Định dạng cơ bản:

User-agent: [user-agent name]

Disallow: [URL string not to be crawled]

2 line này được coi là một tệp robot.txt hoàn chỉnh – mặc dù một tệp robot có thể chứa nhiều dòng tác nhân và chỉ thị của người dùng (nghĩa là Disallow(không cho phép), Allown(cho phép), thu thập dữ liệu trễ, v.v.).

Trong file robot.txt, mỗi bộ chỉ thị user-agent xuất hiện dưới dạng một bộ riêng biệt, được phân tách bằng dấu ngắt dòng:



Thiết lập 3 bộ user-agent riêng biệt cách nhau bởi 1 dòng trống

Đây là một ví dụ:



 

Msnbot, Discobot và Slurp đều được gọi cụ thể, vì vậy những user-agent đó sẽ chỉ chú ý đến các chỉ thị trong các phần của tệp robot.txt. Tất cả các tác nhân người dùng khác sẽ tuân theo các chỉ thị trong nhóm tác nhân người dùng: *.

  1. buzzfeed.com muốn msnbot dừng chờ 120 mili giây sau mỗi lần crawl 1 trang, và không được thu thập các chuỗi URL được liệt kê theo cú pháp
  2. Tất cả các user-agents (trừ msnbot, Discobot, Slurp) không được thu thập các URL có cú pháp được liệt kê
  3. Discobot sẽ không đươc phép thu thập bất kỳ URL nào của buzzfeed
  4. Slurp(user-agent của yahoo) sẽ phải chờ 4 mili giây sau mỗi lần thu thập trang, được thu thập tất cả các URL của Buzzfeed.com 

Các tác user-agent phổ biến của công cụ tìm kiếm

Tại đây, một danh sách các tác nhân người dùng bạn có thể sử dụng trong tệp robot.txt của mình để khớp với các công cụ tìm kiếm được sử dụng phổ biến nhất: 



 

Ví dụ robot.txt:

Dưới đây là một số ví dụ về robot.txt hoạt động cho trang web www.example.com :

URL tệp Robots.txt: www.example.com/robots.txt

Chặn tất cả các trình thu thập dữ liệu web từ tất cả nội dung

User-agent: * Disallow: /

Sử dụng cú pháp này trong tệp robot.txt sẽ cho tất cả các trình thu thập dữ liệu web không thu thập dữ liệu bất kỳ trang nào trên www.example.com, bao gồm cả trang chủ.

Cho phép tất cả các trình thu thập dữ liệu web truy cập vào tất cả nội dung

User-agent: *

Disallow:

Sử dụng cú pháp này trong tệp robot.txt sẽ cho trình thu thập dữ liệu web thu thập dữ liệu tất cả các trang trên www.example.com , bao gồm cả trang chủ.

Chặn một trình thu thập dữ liệu web cụ thể từ một thư mục cụ thể

User-agent: Googlebot

Disallow: /example-subfolder/

Cú pháp này chỉ yêu cầu trình thu thập thông tin của Google (tên tác nhân người dùng Googlebot) không thu thập dữ liệu bất kỳ trang nào có chứa chuỗi URL www.example.com/example-subipes … một trình thu thập thông tin web cụ thể từ một trang web cụ thể

User-agent: Bingbot

Disallow: /example-subfolder/blocked-page.html

 Cú pháp này chỉ cho trình thu thập thông tin của Bing (tên tác nhân người dùng Bing) để tránh thu thập thông tin trang cụ thể tại www.example.com/example-subipes … robot.txt có hoạt động không?

Công cụ tìm kiếm có hai công việc chính:

  1. Crawling: Thu thập dữ liệu trên web để khám phá nội dung;
  2. Indexing: Lập chỉ mục nội dung đó để nó có thể được phục vụ cho những người tìm kiếm đang tìm kiếm thông tin.

Để thu thập dữ liệu trang web, công cụ tìm kiếm theo liên kết để đi từ trang này sang trang khác – cuối cùng, thu thập dữ liệu qua nhiều tỷ liên kết và trang web. Hành vi thu thập thông tin này đôi khi được gọi là spidering.

Sau khi đến một trang web nhưng trước khi xem nó, trình thu thập thông tin tìm kiếm sẽ tìm tệp robot.txt. Nếu nó tìm thấy một, trình thu thập thông tin sẽ đọc tệp đó trước khi tiếp tục qua trang. Vì tệp robot.txt chứa thông tin về cách công cụ tìm kiếm nên thu thập thông tin, thông tin tìm thấy ở đó sẽ hướng dẫn thêm hành động của trình thu thập thông tin trên trang web cụ thể này. 

Nếu tệp robot.txt không chứa bất kỳ chỉ thị nào không cho phép hoạt động của tác nhân người dùng (hoặc nếu trang web không có tệp robot.txt), nó sẽ tiến hành thu thập thông tin khác trên trang web.

Một số lưu ý khác về Robot.txt phải biết:

  • Để được tìm thấy, tệp robot.txt phải được đặt trong thư mục cấp cao nhất(root) của trang web.
  • txt phân biệt chữ hoa chữ thường: tệp phải được đặt tên là robot.txt (không phải Robots.txt, robot.TXT, hay nói cách khác).
  • Một số user-agent(robot) có thể chọn bỏ qua tệp robot.txt của bạn. Điều này đặc biệt phổ biến với các trình thu thập dữ liệu bất chính hơn như rô bốt phần mềm độc hại hoặc người dọn dẹp địa chỉ email.
  • Mỗi tên miền phụ trên một tên miền gốc sử dụng các tệp robot.txt riêng biệt. Điều này có nghĩa là cả blog.example.com và example.com nên có các tệp robot.txt riêng (tại blog.example.com/robots.txt và example.com/robots.txt).
  • Cách thực hành tốt nhất để chỉ ra vị trí của bất kỳ sitemap nào được liên kết với tên miền này ở cuối tệp robot.txt. như ví dụ dưới:



 

Các thuật ngữ/cú pháp dùng trong robot.txt

Cú pháp Robots.txt có thể được coi là ngôn ngữ của các tập tin robot.txt. Có 5 thuật ngữ phổ biến mà bạn có thể gặp trong một tệp robot. Chúng bao gồm:

  • User-agent: Trình thu thập dữ liệu web cụ thể mà bạn đang hướng dẫn thu thập thông tin (thường là công cụ tìm kiếm). 
  • Disallow: Lệnh được sử dụng để thông báo cho user-agent không thu thập dữ liệu URL cụ thể. Chỉ một dòng “Disallow:” được phép cho mỗi URL.
  • Allow(Chỉ áp dụng cho Googlebot): Lệnh thông báo cho Googlebot rằng nó có thể truy cập một trang hoặc thư mục con mặc dù trang mẹ hoặc thư mục con của nó có thể không được phép.
  • Crawl-delay: Cần bao nhiêu giây để trình thu thập thông tin trước khi tải và thu thập nội dung trang. Lưu ý rằng Googlebot không thừa nhận lệnh này, nhưng tốc độ thu thập dữ liệu có thể được đặt trong Google Search Console.
  • Sitemap: Được sử dụng để gọi ra vị trí của bất kỳ (các) sơ đồ trang web XML nào được liên kết với URL này. Lưu ý lệnh này chỉ được hỗ trợ bởi Google, Ask, Bing và Yahoo.

Khớp mẫu

Khi nói đến các URL thực tế để chặn hoặc cho phép, các tệp robot.txt có thể khá phức tạp vì chúng cho phép sử dụng khớp mẫu để bao quát một loạt các tùy chọn URL có thể. Google và Bing đều sử dụng hai biểu thức chính quy có thể được sử dụng để xác định các trang hoặc thư mục con mà SEO muốn loại trừ. Hai ký tự này là dấu hoa thị (*) và ký hiệu đô la ($).

  • * là ký tự đại diện cho bất kỳ chuỗi ký tự nào
  • $ khớp với phần cuối của URL

Google cung cấp một danh sách tuyệt vời các cú pháp và ví dụ phù hợp với mẫu có thể có ở đây .

Robot.txt ở đâu trên một trang web?

Bất cứ khi nào các công cụ tìm kiếm và các robot thu thập dữ liệu đến một trang web (như trình thu thập thông tin của Facebook , Facebot) đều tìm kiếm tệp robot.txt. Nhưng, họ sẽ chỉ tìm tệp đó ở một nơi cụ thể: thư mục gốc (thường là tên miền gốc hoặc trang chủ của bạn). 

Nếu một user-agent truy cập seothetop.com/robots.txt và không tìm thấy tệp robot ở đó, nó sẽ cho rằng trang web không có và tiến hành thu thập mọi thứ trên trang (và thậm chí trên toàn bộ trang web). 

Ngay cả khi trang robot.txt tồn tại tại, ví dụ: example.com/index/robots.txt hoặc www.example.com/homepage/robots.txt, nó sẽ không được phát hiện bởi các tác nhân người dùng và do đó trang web sẽ được xử lý như thể nó không có tập tin robot nào cả.

Để đảm bảo tìm thấy tệp robots.txt của bạn, hãy luôn đưa nó vào thư mục chính hoặc tên miền gốc.

Kiểm tra xem bạn có tệp robot.txt không

Không chắc chắn nếu bạn có tệp robot.txt? Chỉ cần nhập tên miền gốc của bạn, sau đó thêm /robots.txt vào cuối URL. Chẳng hạn, tệp robot của Moz được đặt tại moz.com/robots.txt.

Nếu không có trang .txt xuất hiện, bạn hiện không có trang robot.txt (trực tiếp).

Thực hành tốt nhất về SEO

  • Đảm bảo bạn không chặn bất kỳ nội dung hoặc phần nào trên trang web của bạn mà bạn muốn thu thập thông tin.
  • Liên kết trên các trang bị chặn bởi robots.txt sẽ không được theo dõi. Điều này có nghĩa là
    • ) Trừ khi chúng cũng được liên kết từ các trang có thể truy cập bằng công cụ tìm kiếm khác (nghĩa là các trang không bị chặn thông qua robot.txt, rô bốt meta hoặc cách khác), các tài nguyên được liên kết sẽ không được thu thập thông tin và có thể không được lập chỉ mục. 
    • ) Không có link equity có thể được chuyển từ trang bị chặn đến đích liên kết. Nếu bạn có các trang mà bạn muốn vốn chủ sở hữu được thông qua, hãy sử dụng một cơ chế chặn khác ngoài robot.txt.
  • Không sử dụng robot.txt để ngăn dữ liệu nhạy cảm (như thông tin người dùng riêng tư) xuất hiện trong kết quả SERP. Nếu bạn muốn chặn trang của mình khỏi kết quả tìm kiếm, hãy sử dụng một phương pháp khác như bảo vệ mật khẩu hoặc chỉ thị meta noindex.
  • Một số công cụ tìm kiếm có nhiều tác nhân người dùng. Chẳng hạn, Google sử dụng Googlebot cho tìm kiếm không phải trả tiền và Googlebot-Image cho tìm kiếm hình ảnh. 
  • Công cụ tìm kiếm sẽ lưu trữ nội dung robot.txt, nhưng thường cập nhật nội dung được lưu trong bộ nhớ cache ít nhất một lần một ngày. Nếu bạn thay đổi tệp và muốn cập nhật tệp nhanh hơn bạn có thể gửi robot.txt của mình cho Google tại đây.

Robots.txt vs meta robot vs x-robot

Sự khác biệt giữa ba loại hướng dẫn robot này là gì? 

Trước hết, robot.txt là một tệp văn bản thực tế, trong khi meta và x-robot là các chỉ thị meta. Chúng  phục vụ các chức năng khác nhau.

 Robots.txt ra lệnh cho hành vi thu thập dữ liệu trên toàn bộ trang web hoặc thư mục, trong khi đó meta và x-robot có thể ra lệnh cho hành vi lập chỉ mục từng trang riêng lẻ.

Hạn chế của meta robots

  • Lệnh Robots.txt có thể không được tất cả các công cụ tìm kiếm hỗ trợ
  • Trình thu thập khác nhau phân tích cú pháp khác nhau
  • Google vẫn có thể lập chỉ mục một trang bị chặn bởi robots.txt nếu trang được liên kết từ những trang web khác

Thiết lập file Robots đúng cách là cần thiết trong Technical SEO, để tối ưu các thành phần quan trọng khác của SEO kỹ thuật tham khảo: 17 yếu tố SEO kỹ thuật quan trọng và cách tối ưu

 

Dũng Hoàng, admin SeoTheTop

 

You May Also Like

About the Author: Anh Cáo

Leave a Reply

Your email address will not be published. Required fields are marked *