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