Tệp Robots.txt là gì? Cách triển khai robots trên website

Tệp robot.txt là gì?
Robots.txt là một trình quản trị trang web tệp văn bản được tạo để hướng dẫn robot web (thường là robot 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ọ. Tệp robot.txt là một phần của giao thức loại trừ robot (REP), một nhóm các tiêu chuẩn web quy định cách robot thu thập dữ liệu trên web, truy cập và lập chỉ mục nội dung và cung cấp nội dung đó cho người dùng. REP cũng bao gồm các lệnh như rô bốt meta, cũng như hướng dẫn trang, thư mục con- hoặc toàn bộ trang web về cách các công cụ tìm kiếm nên xử lý các liên kết (chẳng hạn như theo dõi các trò chơi theo dõi hoặc theo dõi nọ theo dõi)

Trong thực tế, các tệp robot.txt cho biết liệu một số tác nhân người dùng (phần mềm 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 trang web. Các hướng dẫn thu thập thông tin này được chỉ định bởi không đồng ý với việc không cho phép sử dụng các hành vi của các tác nhân người dùng (hoặc tất cả).

Định dạng cơ bản:
Tác nhân người dùng: [tên tác nhân người dùng] Không cho phép: [Chuỗi URL không được thu thập thông tin] Cùng với nhau, hai dòng 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à không cho phép, cho phép, thu thập thông tin chậm trễ, v.v.).

Trong tệp robot.txt, mỗi bộ chỉ thị tác nhân người dùng 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:

Trong tệp robot.txt có nhiều chỉ thị tác nhân người dùng, mỗi quy tắc không cho phép hoặc cho phép chỉ áp dụng cho (các) người dùng được chỉ định trong tập tách dòng riêng biệt đó. Nếu tệp chứa quy tắc áp dụng cho nhiều tác nhân người dùng, trình thu thập thông tin sẽ chỉ chú ý đến (và làm theo các chỉ thị trong) nhóm hướng dẫn cụ thể nhất.

Msnbot, Discobot và Slurp đều được gọi cụ thể, vì vậy những tác nhân người dùng đó 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: *.

Ví dụ robot.txt:
Dưới đây là một vài 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
Đại lý người dùng: *
Không cho phép: /
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
Đại lý người dùng: *
Không cho phép:
Sử dụng cú pháp này trong tệp robot.txt sẽ cho các 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ể
Tác nhân người dùng: Googlebot
Không cho phép: / example-thư mục con /
Cú pháp này chỉ yêu cầu trình thu thập dữ liệu Google 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-subfolder/.

Chặn một trình thu thập dữ liệu web cụ thể từ một trang web cụ thể
Tác nhân người dùng: Bingbot
Không cho phép: /example-subfolder/blocked-page.html
Cú pháp này chỉ cho trình thu thập thông tin 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-subfolder/blocked-page.

Robot.txt hoạt động như thế nào?
Công cụ tìm kiếm có hai công việc chính:

Thu thập dữ liệu trên web để khám phá nội dung;
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 robots.txt), nó sẽ tiến hành thu thập thông tin khác trên trang web.

Các robot.txt nhanh khác phải biết:
(thảo luận chi tiết hơn dưới đây)

Để được tìm thấy, một tệp robots.txt phải được đặt trong thư mục cấp cao nhất của trang web.

Robots.txt phân biệt chữ hoa chữ thường: tệp phải được đặt tên là rô bốt.txt.txt (không phải Robots.txt, robot.TXT, hay nói cách khác).

Một số tác nhân người dùng (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.

Tệp /robots.txt có sẵn công khai: chỉ cần thêm /robots.txt vào cuối bất kỳ tên miền gốc nào để xem chỉ thị của trang web (nếu trang web đó có tệp robot.txt!). Điều này có nghĩa là bất cứ ai cũng có thể thấy những trang bạn làm hoặc don don muốn được thu thập thông tin, vì vậy don don sử dụng chúng để ẩn thông tin người dùng cá nhân.

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).

Nó nói chung là một cách thực hành tốt nhất để chỉ ra vị trí của bất kỳ sơ đồ trang web nào được liên kết với tên miền này ở dưới cùng của tệp robot.txt.

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

Tác nhân người dùng: Trình thu thập dữ liệu web cụ thể mà bạn cung cấp hướng dẫn thu thập thông tin (thường là công cụ tìm kiếm). Một danh sách các tác nhân người dùng có thể được tìm thấy ở đây.

Không cho phép: Lệnh được sử dụng để thông báo cho tác nhân người dùng không thu thập dữ liệu URL cụ thể. Chỉ một dòng “Không cho phép:” được phép cho mỗi URL.

Cho phép (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.

Thu thập thông tin chậm trễ: Trình thu thập thông tin phải đợi bao nhiêu giây 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.

Sơ đồ trang web: Đượ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 tôn vinh 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 cuối 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 đi đâu trên một trang web?
Bất cứ khi nào họ đến một trang web, các công cụ tìm kiếm và các robot thu thập dữ liệu web khác (như trình thu thập dữ liệu Facebook, Facebot) đều biết để tìm tệp robot.txt. Nhưng, họ sẽ chỉ tìm tệp đó ở một nơi cụ thể: thư mục chính (thường là tên miền gốc hoặc trang chủ của bạn). Nếu một tác nhân người dùng truy cập www.example.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.

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 (!!), nhưng 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 các 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ư (ví dụ: trang dàn dựng của nhóm kỹ thuật của bạn)
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.

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 rô-bốt 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).

Cách tạo tệp robot.txt
Nếu bạn thấy bạn đã không có một tệp robots.txt hoặc muốn thay đổi tệp của bạn, thì việc tạo một tệp là một quy trình đơn giản. Bài viết này của Google sẽ hướng dẫn quy trình tạo tệp robot.txt và công cụ này cho phép bạn kiểm tra xem tệp của bạn có được thiết lập chính xác hay không.

Tìm kiếm một số thực hành tạo tập tin robot? Bài đăng blog này đi qua một số ví dụ tương tác.

Thực hành tốt nhất về SEO
Đảm bảo rằng 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 dữ liệu.

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à 1.) Trừ khi họ 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 (tức là các trang không bị chặn thông qua robot.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. 2.) Không có vốn chủ sở hữu liên kết 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 thông qua vốn chủ sở hữu, 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. Vì các trang khác có thể liên kết trực tiếp đến trang chứa thông tin cá nhân (do đó bỏ qua các chỉ thị robot.txt trên tên miền gốc hoặc trang chủ của bạn), nên nó vẫn có thể được lập chỉ mục. 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. Hầu hết các tác nhân người dùng từ cùng một công cụ tìm kiếm đều tuân theo cùng một quy tắc, do đó, không cần chỉ định các lệnh cho mỗi công cụ tìm kiếm, nhiều trình thu thập dữ liệu, nhưng có khả năng thực hiện điều đó cho phép bạn điều chỉnh cách thu thập nội dung trang web của bạn.

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 đang xảy ra, bạn có thể gửi url robot.txt của mình cho Google.
Robots.txt vs meta robot vs x-robot
Thật nhiều robot! Điều gì làm nên sự khác biệt giữa ba loại hướng dẫn robot này? 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. Ngoài những gì họ thực sự là, ba tất cả 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 ở cấp độ trang (hoặc phần tử trang) riêng lẻ.