Tạo tệp robots.txt

Bắt đầu

Tệp robots.txt nằm ở thư mục gốc của trang web của bạn. Vì vậy, đối với trang web www.example.com, tệp robots.txt nằm tại www.example.com/robots.txt. robots.txt là một tệp văn bản thuần túy tuân theo Tiêu chuẩn loại trừ robot. Tệp robots.txt chứa một hoặc nhiều quy tắc. Mỗi quy tắc sẽ chặn (hoặc cho phép) một trình thu thập dữ liệu cụ thể truy cập vào một đường dẫn tệp được chỉ định trên trang web.

Sau đây là ví dụ về một tệp robots.txt đơn giản chứa hai quy tắc, kèm theo phần giải thích cho những quy tắc đó:

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

Sitemap: http://www.example.com/sitemap.xml

Giải thích:

  1. Tác nhân người dùng có tên "Googlebot" không được phép thu thập dữ liệu trong thư mục http://example.com/nogooglebot/ hoặc trong thư mục con bất kỳ.
  2. Mọi tác nhân người dùng khác đều được phép thu thập dữ liệu trên toàn bộ trang web. (Quy tắc này có thể được bỏ qua mà kết quả vẫn như vậy do có giả định là mọi tác nhân người dùng đều có quyền truy cập đầy đủ.)
  3. Tệp sơ đồ trang web của trang web này nằm tại http://www.example.com/sitemap.xml.

Hãy tham khảo phần về cú pháp để xem thêm ví dụ.

Nguyên tắc cơ bản về tệp robots.txt

Sau đây là một số nguyên tắc cơ bản về tệp robots.txt. Bạn nên đọc phần toàn bộ cú pháp trong tệp robots.txt do cú pháp trong tệp robots.txt có một số hành vi khó nhận biết mà bạn nên nắm rõ.

Định dạng và vị trí

Bạn có thể sử dụng hầu hết mọi trình chỉnh sửa văn bản để tạo tệp robots.txt. Trình chỉnh sửa văn bản mà bạn sử dụng phải có khả năng tạo các tệp văn bản UTF-8 tiêu chuẩn. Đừng dùng trình xử lý văn bản vì trình xử lý văn bản thường lưu tệp dưới một định dạng độc quyền và có thể thêm những ký tự không mong muốn (chẳng hạn như dấu ngoặc móc); điều đó có thể khiến trình thu thập dữ liệu gặp sự cố.

Quy tắc về định dạng và vị trí:

  • Phải đặt tên tệp là robots.txt
  • Trang web của bạn chỉ có thể có một tệp robots.txt.
  • Tệp robots.txt phải nằm ở thư mục gốc trên máy chủ của trang web tương ứng. Ví dụ: để kiểm soát quá trình thu thập dữ liệu trên tất cả URL tại http://www.example.com/, tệp robots.txt phải nằm tại http://www.example.com/robots.txt. Bạn không thể đặt tệp này trong một thư mục con (ví dụ như tại http://example.com/pages/robots.txt). Nếu bạn không chắc chắn về cách truy cập vào thư mục gốc của trang web hoặc cần quyền truy cập, hãy liên hệ với nhà cung cấp dịch vụ lưu trữ web của bạn. Nếu bạn không thể truy cập vào thư mục gốc của trang web, hãy dùng một phương thức chặn thay thế chẳng hạn như thẻ meta.
  • Tệp robots.txt có thể áp dụng cho các miền con (ví dụ như http://website.example.com/robots.txt) hoặc trên các cổng không chuẩn (ví dụ như http://example.com:8181/robots.txt).
  • Nhận xét là phần nội dung bất kỳ sau dấu #.

Cú pháp

  • robots.txt phải là tệp văn bản mã hóa UTF-8 (bao gồm ASCII). Bạn không dùng được bộ ký tự nào khác.
  • Mỗi tệp robots.txt bao gồm một hoặc nhiều nhóm.
  • Mỗi nhóm bao gồm nhiều quy tắc hoặc lệnh (hướng dẫn), mỗi lệnh nằm trên một dòng.
  • Một nhóm cung cấp những thông tin sau:
    • Đối tượng mà nhóm áp dụng (tác nhân người dùng)
    • Những thư mục hoặc tệp mà tác nhân có thể truy cập và/hoặc
    • Những thư mục hoặc tệp mà tác nhân đó không thể truy cập.
  • Các nhóm được xử lý từ trên xuống dưới và một tác nhân người dùng chỉ có thể khớp với một tập hợp quy tắc – chính là quy tắc đầu tiên và cụ thể nhất khớp với một tác nhân người dùng nhất định.
  • Theo giả định mặc định, tác nhân người dùng có thể thu thập dữ liệu của bất kỳ trang hay thư mục nào không bị quy tắc Disallow: chặn.
  • Các quy tắc có phân biệt chữ hoa chữ thường. Ví dụ: Disallow: /file.asp áp dụng cho http://www.example.com/file.asp nhưng không áp dụng cho http://www.example.com/FILE.asp.

Bạn có thể dùng những lệnh sau đây trong tệp robots.txt:

  • User-agent: [Bắt buộc, ít nhất một lệnh trong mỗi nhóm] Lệnh này chỉ định tên của ứng dụng tự động (còn được gọi là trình thu thập dữ liệu của công cụ tìm kiếm) phải tuân theo quy tắc đó. Đây là dòng đầu tiên của mọi nhóm quy tắc. Tên tác nhân người dùng của Google được liệt kê trong Danh sách tác nhân người dùng của Google. Dấu hoa thị (*) khi được dùng như trong ví dụ dưới đây sẽ khớp với mọi trình thu thập dữ liệu, ngoại trừ các trình thu thập dữ liệu AdsBot (bạn phải nêu rõ tên cho loại trình thu thập dữ liệu này). Ví dụ:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
    
    # Example 3: Block all but AdsBot crawlers
    User-agent: *
    Disallow: /
  • Disallow: [Ít nhất một mục Disallow hoặc Allow trên mỗi quy tắc] Thư mục hoặc trang (tương ứng với miền gốc) mà bạn không muốn tác nhân người dùng thu thập dữ liệu trên đó. Nếu quy tắc này đề cập đến một trang, thì trang đó phải có tên đầy đủ (như hiển thị trong trình duyệt). Còn nếu là một thư mục thì thư mục đó phải kết thúc bằng một dấu /.
  • Allow: [Ít nhất một mục Disallow hoặc Allow trên mỗi quy tắc] Một thư mục hoặc trang (tương ứng với miền gốc) mà tác nhân người dùng đã chỉ định được phép thu thập dữ liệu trên đó. Lệnh này được dùng để ghi đè lệnh Disallow nhằm cho phép thu thập dữ liệu trên một thư mục con hoặc một trang trong một thư mục không được phép. Đối với một trang đơn lẻ, bạn nên chỉ định tên trang đầy đủ như hiển thị trong trình duyệt. Đối với một thư mục, quy tắc phải kết thúc bằng dấu /.
  • Sitemap: [Không bắt buộc, có hoặc không có trong mỗi tệp] Vị trí của sơ đồ trang web cho trang web này. URL sơ đồ trang web phải là một URL đủ điều kiện; Google không giả định hoặc kiểm tra các phiên bản thay thế (http/https/www/không có www). Sơ đồ trang web là một cách hữu ích để chỉ định nội dung mà Google nên thu thập dữ liệu, chứ không phải nội dung mà Google có thể hoặc không thể thu thập dữ liệu. Tìm hiểu thêm về sơ đồ trang web. Ví dụ:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

Mọi lệnh (ngoại trừ sitemap) hỗ trợ ký tự đại diện * cho một cho một tiền tố, hậu tố hoặc toàn bộ chuỗi đường dẫn.

Những dòng không khớp với lệnh nào trong những lệnh này sẽ bị bỏ qua.

Một tệp minh họa khác

Tệp robots.txt bao gồm một hoặc nhiều nhóm, mỗi nhóm bắt đầu bằng một dòng User-agent nêu rõ mục tiêu của nhóm đó. Đây là một tệp có hai nhóm. Nhận xét trong từng dòng sẽ giải thích ý nghĩa của từng nhóm:

# Block googlebot from example.com/directory1/... and example.com/directory2/...
# but allow access to directory2/subdirectory1/...
# All other directories on the site are allowed by default.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Block the entire site from anothercrawler.
User-agent: anothercrawler
Disallow: /

Toàn bộ cú pháp trong tệp robots.txt

Bạn có thể xem toàn bộ cú pháp trong tệp robots.txt tại đây. Vui lòng đọc toàn bộ tài liệu này vì cú pháp trong tệp robots.txt có một số phần khó hiểu mà bạn rất cần nắm rõ.

Các quy tắc robots.txt hữu ích

Dưới đây là một số quy tắc robots.txt phổ biến và hữu ích:

Quy tắc Mẫu
Không cho phép thu thập dữ liệu trên toàn bộ trang web. Xin lưu ý rằng trong một số trường hợp, Google vẫn có thể lập chỉ mục các URL thuộc trang web này mặc dù chưa thu thập dữ liệu những URL đó.

User-agent: *
Disallow: /
Không cho phép thu thập dữ liệu trên một thư mục và nội dung của thư mục đó bằng cách đặt dấu gạch chéo lên sau tên thư mục. Hãy nhớ rằng bạn không nên dùng tệp robots.txt để chặn truy cập đối với nội dung riêng tư: thay vào đó hãy sử dụng phương thức xác thực phù hợp. Google vẫn có thể lập chỉ mục các URL bị tệp robots.txt chặn mà không cần thu thập dữ liệu các URL đó. Ai cũng có thể xem tệp robots.txt và điều này có thể làm lộ vị trí của nội dung riêng tư của bạn.

User-agent: *
Disallow: /calendar/
Disallow: /junk/
Cho phép một trình thu thập dữ liệu cụ thể truy cập

User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
Cho phép tất cả truy cập, ngoại trừ một trình thu thập dữ liệu cụ thể

User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

Không cho phép thu thập dữ liệu trên một trang bằng cách đưa trang đó vào sau dấu gạch chéo:


User-agent: *
Disallow: /private_file.html

Chặn một hình ảnh cụ thể khỏi Google Hình ảnh:


User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

Chặn mọi hình ảnh trên trang web của bạn khỏi Google Hình ảnh:


User-agent: Googlebot-Image
Disallow: /

Không cho phép thu thập dữ liệu trên các tệp thuộc một loại cụ thể (ví dụ: .gif):


User-agent: Googlebot
Disallow: /*.gif$

Không cho phép thu thập dữ liệu trên toàn bộ trang web, nhưng hiển thị quảng cáo AdSense trên những trang đó, chặn mọi trình thu thập dữ liệu web ngoại trừ Mediapartners-Google. Cách thức triển khai này ẩn các trang của bạn khỏi kết quả tìm kiếm, nhưng trình thu thập dữ liệu web Mediapartners-Google vẫn có thể phân tích những trang đó để quyết định xem nên hiển thị quảng cáo nào cho khách truy cập trên trang web của bạn.


User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
Để khớp với những URL kết thúc bằng một chuỗi cụ thể, hãy sử dụng $. Ví dụ: mã mẫu sau chặn mọi URL kết thúc bằng .xls:

User-agent: Googlebot
Disallow: /*.xls$