Wie verwende ich robots.txt, um das Crawlen nur für meine Subdomains zu verbieten?

8

Wenn ich möchte, dass meine Hauptwebsite in Suchmaschinen angezeigt wird, aber keine der Subdomains vorhanden ist, sollte ich dann einfach die robots.txt "Alle nicht zulassen" in die Verzeichnisse der Subdomains einfügen? Wenn ja, kann meine Hauptdomain trotzdem gecrawlt werden?

tkbx
quelle

Antworten:

9

Die robots.txt-Datei muss sich im obersten Verzeichnis Ihres Webservers befinden. Wenn sich Ihre Hauptdomäne und jede Unterdomäne auf unterschiedlichen vhosts befinden, können Sie sie in das oberste Verzeichnis jeder Unterdomäne einfügen und so etwas einschließen

User-agent: *
Disallow: /

Wo sich die robots.txt befindet, hängt davon ab, wie Sie auf eine bestimmte Site zugreifen. Gegeben eine URL wie

 http://example.com/somewhere/index.html

Ein Crawler verwirft alles rechts vom Domainnamen und hängt robots.txt an

http://example.com/robots.txt  

Sie müssen also Ihre robots.txt in dem Verzeichnis ablegen, auf das die DocumentRoot-Direktive für example.com verweist, und den Zugriff auf / irgendwo, den Sie benötigen, nicht zulassen

User-agent: *
Disallow: /somewhere

Wenn Sie Subdomains haben und als auf diese zugreifen

http://subdomain.example.com

Wenn Sie den Zugriff auf die gesamte Subdomain nicht zulassen möchten, müssen Sie Ihre robots.txt in dem Verzeichnis ablegen, auf das die DocumentRoot-Direktive für die Subdomain usw. verweist.

user9517
quelle
Würde das funktionieren? User-agent: *; Allow: *; Disallow: /subdomains?
Tkbx
1
Wenn Sie als example.com/subdomains/subdomain1 usw. auf Ihre Subdomains zugreifen , sollten Sie die Erlaubnis nicht benötigen, da standardmäßig alles erlaubt ist, was nicht ausgeschlossen ist.
user9517
OK, also innerhalb des Servers habe ich meine Root-Dateien und / oder Subdomains mit ihren eigenen index.html. Ich bin nicht sicher, wie häufig dies vorkommt, aber auf dem von mir verwendeten Dienst (1 & 1) kann eine tatsächliche Subdomain (sub.domain.com) mit einem Ordner verknüpft werden. Ich kann sub.domain.com Link zu / Subdomains / SomeSite (und /Subdomains/SomeSite/index.html von dort) haben. Funktioniert in diesem Fall die Nichtzulassung / Subdomains?
Tkbx
Es geht darum, wie Sie auf Ihre Hauptdomain und ihre Subdomains zugreifen. Schauen Sie sich robotstxt.org an .
user9517
2

Sie müssen es in Ihrem Stammverzeichnis ablegen, sonst wird es nicht gefunden.

David
quelle
2
  1. Sie müssen robots.txt in Ihrem Stammverzeichnis ablegen

  2. Die Disallow-Regeln sind nicht domian- / subdomainspezifisch und gelten für alle URLs

Beispiel: Nehmen wir an, Sie verwenden sub.mydomain.com und mydomain.com (beide sind mit demselben FTP-Ordner verknüpft). Wenn Sie für dieses Setup ein Disallow: / admin / rule festlegen, werden alle URLs unter.mydomain.com/admin/ und in mydomain.com/admin/ nicht zugelassen.

Wenn sub.mydomain.com jedoch tatsächlich keine andere Site (und auch keinen anderen FTP-Ordner) verknüpft, müssen Sie eine weitere robots.txt erstellen und im Stammverzeichnis dieses Ordners ablegen.

Igal Zeifman
quelle