Cách sử dụng robots.txt để chặn hoặc cho phép bot truy cập website

Them ticach su dung robotstxt de dieu khien cac bot quet webeu de

Robots.txt là một tập tin văn bản chứa các quy tắc hướng dẫn cho các bot quét web và công cụ tìm kiếm về việc truy cập hoặc bỏ qua các phần cụ thể của website của bạn. Các bot quét web, thường được gọi là web robots, sẽ tuân theo các chỉ thị trong tập tin robots.txt trước khi quét bất kỳ phần nào của website. Tập tin robots.txt cần được đặt trong thư mục gốc tài liệu của website để các bot có thể truy cập.

Bài viết này sẽ giải thích cách bạn có thể sử dụng robots.txt để điều khiển các bot quét web trên website của mình.

Yêu cầu

Cấu trúc tập tin Robots.txt

Một tập tin robots.txt hợp lệ chứa một hoặc nhiều chỉ thị được khai báo theo định dạng: trường, dấu hai chấm, giá trị.

  • User-agent: Khai báo bot quét web mà quy tắc áp dụng.

  • Allow: Chỉ định đường dẫn mà bot quét web nên truy cập.

  • Disallow: Khai báo đường dẫn mà bot quét web không nên truy cập.

  • Sitemap: URL đầy đủ đến sơ đồ cấu trúc website.

Các giá trị cần bao gồm các đường dẫn tương đối cho các trường allow/disallow, đường dẫn tuyệt đối (URL hợp lệ) cho sitemap, và tên của bot quét web cho trường user-agent. Các 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 an toàn trong tập tin 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 bot không được khai báo sẽ tuân theo chỉ thị User-agent: *.

Các chỉ thị Robots.txt phổ biến

Các quy tắc trong tập tin robots.txt phải hợp lệ, nếu không các bot quét web sẽ bỏ qua các quy tắc có cú pháp không hợp lệ. Một quy tắc hợp lệ phải bao gồm đường dẫn hoặc URL đầy đủ. Các ví dụ dưới đây giải thích cách cho phép, từ chối và điều khiển các bot quét web trong tập tin robots.txt.

1. Cho phép Bot quét Web truy cập các tập tin Website

Cho phép một bot quét web truy cập toàn bộ tập tin của website:

User-agent: Bingbot
Allow: /

Cho phép tất cả các bot quét web truy cập tập tin của website:

User-agent: *
Allow: /

Cho phép một bot quét web truy cập một tập tin cụ thể:

User-agent: Bingbot
Allow: /documents/helloworld.php

Cho phép tất cả các bot quét web truy cập một tập tin cụ thể:

User-agent: *
Allow: /documents/helloworld.php

2. Từ chối Bot quét Web truy cập các tập tin Website

Từ chối một bot quét web truy cập toàn bộ tập tin của website:

User-agent: Googlebot
Disallow: /

Từ chối tất cả các bot quét web truy cập toàn bộ tập tin của website:

User-agent: *
Disallow: /

Từ chối một bot quét web truy cập một hình ảnh cụ thể:

User-agent: MSNBot-Media
Disallow: /documents/helloworld.jpg

Từ chối một bot quét web truy cập tất cả hình ảnh của một loại cụ thể:

User-agent: MSNBot-Media
Disallow: /*.jpg$

Từ chối một bot quét hình ảnh (ví dụ Google images) truy cập tất cả và yêu cầu loại bỏ hình ảnh đã được lập chỉ mục:

User-agent: Googlebot-Image
Disallow: /

Từ chối bot quét web truy cập tất cả các tập tin ngoại trừ một tập tin:

User-agent: *
Disallow: /~documents/helloworld.php

Để cho phép truy cập một cách rõ ràng tới nhiều tập tin, hãy lặp lại quy tắc Disallow:

User-agent: *
Disallow: /~documents/hello.php
Disallow: /~documents/world.php
Disallow: /~documents/again.php

Hướng dẫn tất cả các bot quét web truy cập các tập tin của website, nhưng bỏ qua một tập tin cụ thể:

User-agent: *
Allow: /
Disallow: /documents/index.html

Hướng dẫn tất cả các bot quét web 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 các chỉ thị robots.txt theo nhóm, hãy khai báo nhiều user-agent và áp dụng chung một quy tắc.

User-agent: Googlebot    # First Group
User-agent: Googlebot-News
Allow: /
Disallow: /wp-admin/

User-agent: Bing   # Second Group
User-agent: Slurp
Allow: /
Disallow: /wp-includes/
Disallow: /wp-content/uploads/  # Ignore WordPress Images

Các chỉ thị trên áp dụng cùng một quy tắc cho từng nhóm user-agent đã khai báo.

4. Điều khiển khoảng thời gian giữa các yêu cầu của Bot quét Web

Các yêu cầu từ bot quét web có thể làm tăng tải của máy chủ, vì vậy bạn cần điều chỉnh tốc độ mà các bot quét website của bạn.

Ví dụ, chỉ thị sau yêu cầu tất cả các bot quét web chờ ít nhất 60 giây giữa các yêu cầu liên tiếp đến máy chủ:

User-agent: *
Crawl-delay: 60

Ví dụ

Tập tin robots.txt mẫu dưới đây hướng dẫn tất cả các bot quét web truy cập các tập tin của website, bỏ qua các thư mục quan trọng, và sử dụng sơ đồ website để hiểu cấu trúc website.

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 tin robots.txt của bạn, hãy truy cập website của bạn và tải tập tin này từ thư mục gốc. Ví dụ:http://example.com/robots.txt

Nếu website của bạn trả về lỗi 404, hãy tạo một tập tin robots.txt mới và tải nó lên thư mục gốc tài liệu, thường là /var/www/html hoặc /var/www/public_html.

Hầu hết các bot quét web sẽ tuân theo các chỉ thị trong robots.txt của bạn. Tuy nhiên, các bot xấu và các crawler độc hại có thể bỏ qua các quy tắc của bạn. Để bảo vệ máy chủ, bạn có thể chặn các bot xấu qua tập tin .htaccess nếu bạn đang sử dụng LAMP stack trên máy chủ, bằng cách thêm các dòng sau vào tập tin:

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

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *