Có nên cài file robots.txt cho website

File 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 robots.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 user-agent của search engine (BOT) thu thập dữ liệu(crawl) trong tài nguyên một website.

Tệp này cũng 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.

Có nên cài file robots.txt cho website
 

Tại sao bạn cần robots.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 robots.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 (sitemap)
  • 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(User-agent), bạn hoàn toàn không cần một tệp robots.txt.

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

User-agent: [user-agent name]

Disallow: [URL string not to be crawled]

2 dòng này được coi là một tệp robots.txt hoàn chỉnh - mặc dù một tệp robots có thể chứa nhiều dòng User-agent 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 robots.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:

Có nên cài file robots.txt cho website

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ụ:

Có nên cài file robots.txt cho website
 

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 robots.txt. Tất cả các User-agent khác sẽ tuân theo các chỉ thị trong nhóm User-agent: *.

  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 user-agent phổ biến của công cụ tìm kiếm

Tại đây, một danh sách các user-agent bạn có thể sử dụng trong tệp robots.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: 

Có nên cài file robots.txt cho website
 

Ví dụ robots.txt:

Dưới đây là một số ví dụ về robots.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 (Disallow: /) trong tệp robots.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 robots.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 (User-agent: 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 (User-agent: Bingbot) để tránh thu thập thông tin trang cụ thể tại www.example.com/example-subipes ... robots.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 robots.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 robots.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 robots.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 robots.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ề robots.txt phải biết:

  • Để được tìm thấy, tệp robots.txt phải được đặt trong thư mục cấp cao nhất(root) của trang web.
  • robots.txt phân biệt chữ hoa chữ thường: tệp phải được đặt tên là robots.txt (không phải Robots.txt, hay robots.TXT).
  • Một số user-agent(robot) có thể chọn bỏ qua tệp robots.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ư robots 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 robots.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 robots.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 robots.txt. như ví dụ dưới:
Có nên cài file robots.txt cho website
 

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

Cú pháp robots.txt có thể được coi là ngôn ngữ của các tập tin robots.txt. Có 5 thuật ngữ phổ biến mà bạn có thể gặp trong một tệp robots.txt 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 robots.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 .

robots.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 robots.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 robots ở đó, 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 robots.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 user-agent và do đó trang web sẽ được xử lý như thể nó không có tập tin robots 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 robots.txt không

Không chắc chắn nếu bạn có tệp robots.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 robots của Seothetop được đặt tại seothetop.com/robots.txt.

Nếu không có trang .txt xuất hiện, bạn hiện không có trang robots.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 robots.txt, meta robot 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 robots.txt.
  • Không sử dụng robots.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 robots.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 robots.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, robots.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