Robots.txt cho nhiều tên miền có cùng trang web


8

Tôi có ba tên miền sau:

  1. example1.com (Không cho phép)
  2. example2.com (Không cho phép)
  3. example3.com (cho phép)

Tất cả các tên miền trỏ đến cùng một thư mục public_html.

Làm cách nào để không cho phép các công cụ tìm kiếm thu thập dữ liệu các trang trên hai tên miền đầu tiên?


1
Làm thế nào bạn "trỏ" cả ba miền đến public_html?
zigojacko

1
Bạn đang sử dụng phần mềm máy chủ nào?
MrWhite

Câu trả lời:


9

Bạn cần phục vụ một cách có điều kiện một tệp robot.txt khác nhau dựa trên tên miền / máy chủ nào đã được truy cập. Trên Apache bạn có thể làm điều này trong .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(example1\.com|example2\.com)$
RewriteRule ^robots\.txt$ /robots-disallow.txt [L]

Điều này cụ thể với ví dụ của bạn, nơi nó sẽ phân phát "không cho phép" robot.txt ( robots-disallow.txt) đến # 1 và # 2, nếu không, yêu cầu sẽ được gửi và phục vụ robots.txttệp thông thường của bạn cho # 3, "cho phép".


4

Tôi làm việc trên một trang web tương tự nơi tôi quản lý điều này với PHP.

Trong .htaccess của tôi, tôi có một dòng đọc:

RewriteRule ^robots.txt$ robots.php

Trong robot.php tôi có những điều sau đây:

<?php
  header('Content-Type: text/plain; charset=utf-8');

  if($_SERVER['HTTP_HOST']=='www.allowed-site.fr'){
    echo 'User-agent: *
    Disallow: 
    Host: https://www.allowed-site.fr/
    Sitemap: https://www.allowed-site.fr/sitemap-fr.xml
    ';
  } else if($_SERVER['HTTP_HOST']=='www.allowed-site.lu'){
    echo 'User-agent: *
    Disallow: /example/
    Host: https://www.allowed-site.lu/
    Sitemap: https://www.allowed-site.lu/sitemap-lu.xml
    ';
  } else {
    echo 'User-agent: *
    Disallow: /
    ';
  }
?>

Điều này cho phép bạn có một tệp duy nhất nơi bạn có thể điều chỉnh tệp robots.txt của mình cho từng miền riêng lẻ.


1

Vì bạn chỉ cho phép các công cụ tìm kiếm chỉ một tên miền, RewriteRules của bạn có thể được làm đơn giản hơn. Chỉ cần sử dụng này:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example3\.com$
RewriteRule ^robots\.txt$ /robots-allow.txt [L]

Trong thư mục public_html, bạn cần tạo hai tệp. robot.txt và robot-allow.txt

Trong robot.txt, bạn cần thêm vào như sau:

User-agent: searchengine
Disallow: /

thay thế searchengine bằng google hoặc bất kỳ công cụ nào bạn muốn chặn. Lặp lại các dòng trên nếu bạn muốn thêm nhiều công cụ tìm kiếm. Sau đó, tệp robots.txt của bạn sẽ trở thành một thứ như thế này:

User-agent: searchengine
Disallow: /
User-agent: searchengine2
Disallow: /
User-agent: searchengine3
Disallow: /

Sau đó, trong robot-allow.txt, bạn có thể để nó dưới dạng một tệp trống hoặc điều chỉnh độ trễ thu thập dữ liệu cho tất cả các công cụ tìm kiếm như thế này:

User-agent: *
Crawl-delay: 1

Số sau độ trễ thu thập dữ liệu biểu thị thời gian chờ tối thiểu tính bằng giây giữa các yêu cầu đến máy chủ từ cùng một tác nhân người dùng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.