NỘI DUNG
Tệp robots.txt là một tệp văn bản chứa các quy tắc hướng dẫn trình thu thập thông tin web và công cụ tìm kiếm truy cập hoặc bỏ qua các phần cụ thể trên trang web của bạn. Thường được gọi là robots web, trình thu thập thông tin tuân theo các lệnh trong tệp robots.txt trước khi quét bất kỳ phần nào trên trang web của bạn. Tệp robots.txt phải nằm trong thư mục gốc của trang web khi đó các trình thu thập thông tin mới có thể thu thập web.
Và trong bài viết này mình sẽ giải thích cách sử dụng robots.txt để kiểm soát trình thu thập thông tin web. Và trước khi tạo các quy tắc cho tệp. Bạn hãy tìm hiểu qua cấu trúc của file Robots.txt nhé.
Cấu trúc của file Robots.txt
File Robots.txt hợp lệ sẽ chứa một hoặc nhiều lệnh được khai báo ở định dạng: field, colon, value.
- User-agent: Khai báo quy tắc áp dụng cho trình thu thập thông tin web.
- Allow: Chỉ định đường dẫn mà trình thu thập thông tin web sẽ truy cập.
- Disallow: Khai báo đường dẫn mà trình thu thập thông tin web không được truy cập.
- Sitemap: URL đầy đủ đến sơ đồ cấu trúc trang web.
Value phải bao gồm các đường dẫn tương đối cho các trường Allow, Disallow, Sitemap (URL hợp lệ) cho sơ đồ trang web và tên trình thu thập thông tin web cho trường User-agent. Tên User-agent phổ biến và công cụ tìm kiếm tương ứng mà bạn có thể khai báo một cách an toàn trong tệp robots.txt bao gồm:
- Alexa
- ia_archiver
- AOL
- aolbuild
- Bing
- Bingbot
- BingPreview
- DuckDuckGo
- DuckDuckBot
- Google
- Googlebot
- Googlebot-Image
- Googlebot-Video
- Yahoo
- Slurp
- Yandex
- Yandex
Các quy tắt chung của Robots.txt
1. Cấp quyền cho Web Crawlers truy cập vào các tệp trang web.
- Cho phép một trình thu thập thông tin web truy cập tất cả các tệp trang web.
User-agent: Bingbot
Allow: /
- Cho phép tất cả các Web Crawlers truy cập vào các tệp trang web.
User-agent: *
Allow: /
- Cấp cho Web Crawlers quyền truy cập vào một tệp.
User-agent: Bingbot
Allow: /documents/helloworld.php
- Cấp cho tất cả các Web Crawlers quyền truy cập vào một tệp duy nhất.
User-agent: *
Allow: /documents/helloworld.php
2. Từ chối quyền truy cập của Web Crawlers vào tệp trang web
- Từ chối quyền truy cập của Web Crawlers vào tất cả các tệp trang web.
User-agent: Googlebot
Disallow: /
- Từ chối tất cả các Web Crawlers truy cập vào các tệp trang web.
User-agent: *
Disallow: /
- Từ chối quyền truy cập của Web Crawlers vào một hình ảnh.
User-agent: MSNBot-Media
Disallow: /documents/helloworld.jpg
- Từ chối quyền truy cập của Web Crawlers vào tất cả các hình ảnh thuộc một loại cụ thể.
User-agent: MSNBot-Media
Disallow: /*.jpg$
Ngoài ra bạn cũng có thể từ chối một Web Crawlers hình ảnh cụ thể truy cập vào tất cả các hình ảnh của trang web.
Ví dụ: Quy tắc sau đây hướng dẫn các hình ảnh của Google bỏ qua tất cả và xóa các hình ảnh đã được lập chỉ mục khỏi cơ sở dữ liệu.
User-agent: Googlebot-Image
Disallow: /
- Từ chối Web Crawlers truy cập vào tất cả các tệp ngoại trừ một tệp.
User-agent: *
Disallow: /~documents/helloworld.php
- Để cho phép quyền truy cập vào nhiều tệp, hãy sử dụng và lặp lại quy tắc Không cho phép (Disallow)
User-agent: *
Disallow: /~documents/hello.php
Disallow: /~documents/world.php
Disallow: /~documents/again.php
- Hướng dẫn tất cả Web Crawlers truy cập tệp trang web, nhưng bỏ qua một tệp cụ thể.
User-agent: *
Allow: /
Disallow: /documents/index.html
- Hướng dẫn tất cả các Web Crawlers bỏ qua một thư mục cụ thể. Ví dụ: wp-admin.
User-agent: *
Disallow: /wp-admin/
3. Nhóm các chỉ thị Robots.txt
Để áp dụng chỉ thị robots.txt theo nhóm, hãy khai báo nhiều User-agent và áp dụng quy tắc duy nhất.
Ví dụ:
User-agent: Googlebot # Nhóm thứ nhất
User-agent: Googlebot-News
Allow: /
Disallow: /wp-admin/
User-agent: Bing # Nhóm thứ 2
User-agent: Slurp
Allow: /
Disallow: /wp-includes/
Disallow: /wp-content/uploads/ # Bỏ qua Hình ảnh WordPress
4. Kiểm soát khoảng thời gian của trình thu thập thông tin web
Yêu cầu của Web Crawlers có thể làm tăng tải máy chủ của bạn, vì vậy bạn cần điều chỉnh tốc độ mà trình thu thập thông tin quét trang web của bạn trong vài giây.
Ví dụ: lệnh sau hướng dẫn tất cả Web Crawlers đợi ít nhất 60 giây giữa các yêu cầu liên tiếp đến máy chủ của bạn.
User-agent: *
Crawl-delay: 60
Ví dụ: Mẫu robots.txt sau hướng dẫn tất cả Web Crawlers truy cập tệp trang web, bỏ qua các thư mục quan trọng và sử dụng sơ đồ trang web để hiểu cấu trúc của trang web.
User-agent: *
Allow: /
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Sitemap: https://www.example.com/sitemap_index.xml
Để kiểm tra và xem tệp robots.txt của bạn, hãy truy cập trang web của bạn và tải tệp sau.
- Ví dụ: http://example.com/robots.txt.
Nếu trang web của bạn trả về lỗi 404, hãy tạo tệp robots.txt mới và tải tệp đó lên thư mục gốc tài liệu của bạn.
Hầu hết các Web Crawlers đều tuân theo chỉ thị robots.txt của bạn. Tuy nhiên, các bot xấu và trình thu thập phần mềm độc hại có thể bỏ qua các quy tắc của bạn. Để bảo mật máy chủ của bạn, hãy chặn các bot xấu thông qua tệp .haccess
Ví dụ:
SetEnvIfNoCase User-Agent ([a-z0-9]{2000}) bad_bots
SetEnvIfNoCase User-Agent (archive.org|binlar|casper|checkpriv|choppy|clshttp|cmsworld|diavol|dotbot|extract|feedfinder|flicky|g00g1e|harvest|heritrix|httrack|kmccrew|loader|miner|nikto|nutch|planetwork|postrank|purebot|pycurl|python|seekerspider|siclab|skygrid|sqlmap|sucker|turnit|vikspider|winhttp|xxxyy|youda|zmeu|zune) bad_bots
Order Allow,Deny
Allow from All
Deny from env=bad_bots
Chúc bạn thực hiện thành công.