Robot.txt và Googlebot – Allow và Disallow Khả năng tìm kiếm của các spider là rất lơn, chúng có

thể lùng xục khắp nơi trên website của bạn. Với bài

viết này chúng ta sẻ cũng tìm hiểm cách thức sử

dụng file robots.txt để quy định các spider, đặc biệt là

googlebot.

Các User Agent của Google

Google có vài user-agent chính. Bạn có thể ngăn

chúng bằng cách thêm tên của bọ tìm kiếm tương

ứng và trong dòng User-agent tương ứng trong bảng

ghi robots.txt. Nếu bạn chặn Googlebot thì có nghĩa là

bạn chặn tất cả các bọ tìm kiếm với từ khóa

“Googlebot”.

Googlebot: Đánh chỉ số từ các chỉ mục cũ và mới

của Google.

Googlebot-Mobile: Đánh chỉ số cho các thiết bị cầm

tay hoặc di động.

Googlebot-Image: Đánh chỉ số các tệp tin ảnh.

Mediapartners-Google: Xuất hiện trong các trang

dăng quảng cáo của Google Adsense.

Adsbot-Google: Đánh chỉ số các trang được nhà

quảng cáo sử dụng giới thiệu sản phẩm hay dịch vụ

thông qua Google Adwords. Nó cho phép đánh giá

chất lượng của trang dùng dịch vụ Adwords.

Chặn Googlebot

Để chặn toàn bộ Googlebot thì bạn thêm cú pháp sau

vào file robots loại trừ :

User-agent: Googlebot

Disallow: /

Cho phép Googlebot

Trong trường hợp bạn muốn chặn tất cả các bọ tìm

kiếm khác trừ một robot, Googlebot chẳng hạn, thì

bạn có thể sử dụng cú pháp sau. Tuy nhiên nếu bạn

không muốn trang liên quan biến mất khỏi kết quả tìm

kiếm của các máy tìm kiếm như Yahoo, MSN Live

hay Ask thì bạn không nên làm như thế.

User-agent: *

Disallow: /

User-agent: Googlebot

Disallow:

Cho phép mở rộng

Google hỗ trợ cú pháp mở rộng “Allow” trong tệp tin

robots.txt. Có nhiều máy tìm kiếm không hỗ trợ phần

mở rộng này, vì thế bạn nên tham khảo kỹ. Dòng lệnh

“Allow” hoạt động cũng giống như “Disallow” chỉ khác

là nó liệt kê các thư mục hay trang bạn cho phép

đánh chỉ số.

Bạn có thể sử dụng đồng thời “Allow” và “Disallow”

cùng nhau. Chẳng hạn để cấm tất cả các trang trong

một thư mục “seotips” chẳng hạn, trừ tệp tin “toi-uu-

hoa.html”, bạn hãy làm như sau :

User-agent: Googlebot

Disallow: /seotips/

Allow: /seotips/toi-uu-hoa.html

Còn trong trường hợp bạn muốn chặn Googlebot và

sau đó lại vẫn muốn cho các bot khác của Google

(Googlebot-Mobile) chẳng hạn, bạn có thể sử dụng

lệnh Allow như sau :

User-agent: Googlebot

Disallow: /

User-agent: Googlebot-Mobile

Allow: /

Sử dụng mẫu tổ hợp

Đặc biệt hữu ích trong trường hợp bạn không muốn

phải liệt kê tất cả các trang mà bạn muốn chặn. Đây

là phần đuôi mở rộng mà GoogleBot hỗ trợ. Chú ý là

các máy tìm kiếm khác chưa chắc đã hỗ trợ tính năng

này.

Mẫu tổ hợp chuỗi các ký tự sử dụng dấu sao (*)

Bạn có thể sử dụng dấu sao (*) để liệt kê tổ hợp

chuỗi các lkys tự. Ví dụ bạn có thể chặn một loạt các

thư mục con bắt đầu bằng chữ wp (ví dụ wp-admin,

wp-content cho blog WordPress) như sau :

User-agent: Googlebot

Disallow: /wp*/

Để chặn tất cả đường dẫn URL mà chứa ký tự (?)

chứa tham biến (trong ngôn ngữ PHP), bạn hãy làm

như sau :

User-agent: *

Disallow: /*?

Kiểm tra phần kết của chuỗi ký tự URL bằng $

Bạn cũng có thể sử dụng dấu dollard ($) để liệt kê

các URL có phần kết tương ứng. Ví dụ để chặn tất cả

các đường dẫn URL kết thúc với pdf (phiên bản pdf

trên website để tránh trùng nội dung chẳng hạn) :

User-agent: Googlebot

Disallow: /*.pdf$

Bạn cũng có thể sử dụng tổ hợp kết này với lệnh

Allow. Ví dụ nếu như có dấu hỏi ? tương ứng với một

session ID, bạn có thể loại trừ chúng để tránh cho

GoogleBot phải đánh chỉ số một nội dung trùng lặp.

Thế nhưng các URLs kết thúc bởi dấu hỏi ? lại là một

phiên bản trang mà bạn muốn thêm vào. Trong

trường hợp này, hãy đặt tệp tin robots.txt của bạn

như sau :

User-agent: *

Allow: /*?$

Disallow: /*?

Dòng lệnh Disallow:/ *? sẽ chặn tất cả các URL có

chứa ký tự ? (Cụ thể là nó sẽ chặn tất cả các URL bắt

đầu bằng tên miền, tiếp theo các ký tự, tiếp theo là

dấu hỏi ?, tiếp theo bởi bất kể ký tự nào khác)

Dòng lệnh Allow: /*?$ sẽ cho phép bất kể đường dẫn

nào kết thúc bởi dấu hỏi ? (Cụ thể là với bất kể URL

nào bắt đầu bằng tên miên, theo bởi chuỗi ký tự, theo

tiêp bởi dấu hỏi ?, không có ký tự nào nằm sau dấu

hỏi này).