Robots.txt cho website sử dụng nhiều domain

Như các bạn đã biết, các Doanh nghiệp thường hay mua nhiều tên miền cho website của họ. Ở đây tôi không thảo luận về lý do tại sao họ lại làm như vậy, nhưng thực tế rõ ràng là có rất nhiều tên miền trỏ về cùng 1 hosting (1 website có nhiều tên miền khác nhau). Thế thì xét theo nguyên tắc của SEO, chúng ta sẽ có nhiều website và những website này trùng lặp nội dung.

Tôi được 1 số bạn đặt vấn đề cụ thể như sau:

- Họ có 3 domain: abc.com | def.com | xyz.com
- 3 domain này cùng 1 hosting
- Họ chọn abc.com là tên miền chính, họ không muốn spider index các URL xuất phát từ 2 tên miền còn lại

Oh, quá dễ, dùng robots.txt chặn (disallow) là xong. Nhưng khổ nỗi, robots.txt không phân biệt được tên miền, nên chúng ta không thể

- Disallow: /def.com
- Disallow: /zyz.com

Làm sao? Và đây là giải pháp. Chúng ta chuẩn bị 3 file robots.txt tương ứng cho từng tên miền và kiểm tra nếu request của user xuất phát từ tên miền nào thì “gọi” file robots.txt cho tên miền đó.

robots_abc.txt <– file robots.txt cho tên miền abc.com

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/

robots_def.txt <– file robots.txt cho tên miền def.com

User-agent: *
Disallow: /

robots_xyz.txt <– file robots.txt cho tên miền xyz.com

User-agent: *
Disallow: /

Nhiệm vụ còn lại của chúng ta là viết lại đường dẫn file robots.txt tương ứng cho từng tên miền tại file .htaccess

RewriteCond %{HTTP_HOST} ^abc.com$ [NC]
RewriteRule ^robots.txt$ robots_abc.txt [L]
RewriteCond %{HTTP_HOST} ^def.com$ [NC]
RewriteRule ^robots.txt$ robots_def.txt [L]
RewriteCond %{HTTP_HOST} ^xyz.com$ [NC]
RewriteRule ^robots.txt$ robots_xyz.txt [L]

Đến đây thì các bạn an tâm, spider chỉ có thể index như chỉ dẫn trong file robots_abc.txt, còn với những URL xuất phát từ tên miền def.com và xyz.com sẽ không bao giờ được index nên việc trùng lặp nội dung không thể xảy ra.

Bài viết liên quan: