Robots.txt và ứng dụng trong SEO

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 :

Thêm vào file robots.txt

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