it-swarm.com.de

Robots.txt für mehrere Domains mit derselben Website

Ich habe die folgenden drei Domänen:

  1. example1.com (Verbieten)
  2. example2.com (Verbieten)
  3. example3.com (erlauben)

Alle Domänen verweisen auf denselben Ordner, der public_html ist.

Wie kann ich Suchmaschinen das Crawlen von Seiten in den ersten beiden Domains verweigern?

7
Saurabh Bajpai

Sie müssen unter bestimmten Bedingungen eine andere robots.txt-Datei bereitstellen, je nachdem, auf welche Domain/welchen Host zugegriffen wurde. Auf Apache können Sie dies in .htaccess tun:

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

Dies ist spezifisch für Ihr Beispiel, in dem die Datei robots.txt (robots-disallow.txt) für # 1 und # 2 "unzulässig" ist. Andernfalls wird die Anforderung durchlaufen und Ihre reguläre robots.txt -Datei für # geliefert. 3 was "erlaubt".

9
MrWhite

Ich arbeite auf einer ähnlichen Website, wo ich dies mit PHP verwalte.

In meinem .htaccess steht folgende Zeile:

RewriteRule ^robots.txt$ robots.php

In robots.php habe ich folgendes:

<?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: /
    ';
  }
?>

Auf diese Weise erhalten Sie eine einzige Datei, in der Sie Ihre robots.txt für jede einzelne Domain anpassen können.

3
Andrew Lott

Da Sie Suchmaschinen nur für eine Domain zulassen, können Ihre RewriteRules vereinfacht werden. Benutze einfach folgendes:

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

Im Ordner public_html müssen Sie zwei Dateien erstellen. robots.txt und robots-allow.txt

In robots.txt müssen Sie Folgendes hinzufügen:

User-agent: searchengine
Disallow: /

ersetzen Sie die Suchmaschine durch Google oder eine andere Suchmaschine, die Sie blockieren möchten. Wiederholen Sie die obigen Zeilen, wenn Sie weitere Suchmaschinen hinzufügen möchten. Dann wird Ihre robots.txt ungefähr so ​​aussehen:

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

In robots-allow.txt können Sie es dann als leere Datei belassen oder die Crawling-Verzögerung für alle Suchmaschinen wie folgt anpassen:

User-agent: *
Crawl-delay: 1

Die Zahl nach der Durchforstungsverzögerung gibt die minimale Wartezeit in Sekunden zwischen den Anforderungen an den Server von demselben Benutzeragenten an.

1
Mike