iNET Academy

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

Tác giả Nguyễn Trọng Thơ | Ngày đăng: | xếp hạng 4.5 | 655 bài đánh giá
Robots.txt cho website sử dụng nhiều domain Các Doanh nghiệp thường mua nhiều tên miền cho website của họ. Thực tế, có rất nhiều tên miền được trỏ về cùng 1 website. Xét theo nguyên tắc của SEO, ta sẽ có nhiều website và những website này trùng lặp nội dung.

Một ví dụ cụ thể như sau:

- 3 domain: abc.com | def.com | xyz.com
- 3 domain này cùng 1 hosting
- abc.com là tên miền chính, ta cần chặ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/

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.

iNET