Kann sich robots.txt im Unterverzeichnis eines Servers befinden?


16

Ich habe ein Unterverzeichnis, das ich vor den Suchmaschinen-Webcrawlern verstecken möchte.

Eine Möglichkeit, dies zu tun, ist die Verwendung von a robots.txtim Stammverzeichnis des Servers (die Standardmethode). Jeder, der die URL der Website kennt und über grundlegende Webkenntnisse verfügt, kann auf den Inhalt von robots.txt zugreifen und die unzulässigen Verzeichnisse aufspüren.

Ich habe mir überlegt, wie ich das vermeiden kann, bin mir aber nicht sicher, ob es funktionieren wird.

Sei Xder Name des Unterverzeichnisses, das ich ausschließen möchte. Eine Möglichkeit, die Indizierung des XVerzeichnisses durch Web Crawler zu stoppen und gleichzeitig die Identifizierung des XVerzeichnisses durch Root zu erschweren robots.txt, besteht darin, das robots.txtim XVerzeichnis anstelle des Root-Verzeichnisses hinzuzufügen .

Wenn ich dieser Lösung folge, habe ich folgende Fragen:

  1. Finden die Web Crawler das robots.txtim Unterverzeichnis? (vorausgesetzt, es gibt robots.txtbereits ein und auch im Stammverzeichnis)
  2. Wenn robots.txtsich im XUnterverzeichnis befindet, sollte ich dann relative oder absolute Pfade verwenden ?:

    User-agent: *
    Disallow: /X/
    

    oder

    User-agent: *
    Disallow: /
    

2
Ich bin mir nicht sicher, warum Sie vermeiden möchten, dass Personen Ihre nicht zugelassenen Verzeichnisse lesen. Wenn es jedoch vertrauliche Daten gibt, sollten diese nicht nur von Robotern blockiert, sondern auch durch ein Login oder eine andere Sicherheitsmaßnahme eingeschränkt werden.
Andrew Lott

Dies ist nicht der Fall, ich möchte, dass ein bestimmter Benutzer Zugriff darauf hat (nicht datenschutzrelevant) und ich möchte das Verzeichnis nicht sperren.
Rafael

5
Wenn Sie Datenschutzbedenken haben, sollten Sie die Daten auf andere Weise sichern. Dafür ist robots.txt nicht gedacht.
Andrew Lott

Antworten:


18

Nein, Webcrawler lesen oder befolgen keine robots.txt-Datei in einem Unterverzeichnis. Wie auf der quasi-offiziellen Website robotstxt.org beschrieben :

Wo soll ich es hinstellen?

Die kurze Antwort: im obersten Verzeichnis Ihres Webservers.

oder auf den Hilfeseiten von Google ( Hervorhebung meiner):

Eine robots.txtDatei ist eine Datei im Stammverzeichnis Ihrer Website , die die Teile Ihrer Website angibt, auf die Suchmaschinen-Crawler keinen Zugriff haben sollen.

In jedem Fall ist es eine schlechte Idee, robots.txt zu verwenden, um sensible Seiten vor Suchergebnissen zu verbergen, da Suchmaschinen in robots.txt nicht zugelassene Seiten indizieren können , wenn andere Seiten auf sie verlinken. Oder wie auf der oben verlinkten Google-Hilfeseite beschrieben:

Sie sollten robots.txt nicht verwenden, um Ihre Webseiten vor den Google-Suchergebnissen zu verbergen. Dies liegt daran, dass andere Seiten möglicherweise auf Ihre Seite verweisen und Ihre Seite auf diese Weise indiziert wird, wodurch die Datei robots.txt vermieden wird.

Also, was solltest du stattdessen tun?

  • Sie können die Seiten von Suchmaschinen crawlen lassen (sofern sie diese finden), dem Inhalt jedoch ein Robots-Meta-Tag hinzufügen noindex,nofollow. Dies weist die Suchmaschinen an, diese Seiten nicht zu indizieren, selbst wenn sie Links zu ihnen finden, und keine weiteren Links von diesen Seiten zu verfolgen. (Dies funktioniert natürlich nur für HTML-Webseiten.)

  • Für Nicht-HTML-Ressourcen können Sie Ihren Webserver (z. B. mithilfe einer .htaccessDatei) so konfigurieren , dass der X-Robots-Tag-HTTP-Header mit demselben Inhalt gesendet wird.

  • Sie können die Kennwortauthentifizierung einrichten, um die vertraulichen Seiten zu schützen. Sie schützt die Seiten nicht nur vor unbefugten menschlichen Besuchern, sondern hält auch Webcrawler effektiv fern.


Fantastisch ist eine statische HTML-Seite, die durch Hinzufügen des Meta-Tags den Trick macht. Vielen Dank.
Rafael

5

Sie robots.txtsollten sich im Stammverzeichnis befinden und keinen anderen Namen haben. Nach der Standardspezifikation :

Diese Datei muss über HTTP unter der lokalen URL "/robots.txt" erreichbar sein.


Abgesehen davon werden die Webcrawler kein anderes Verzeichnis nach robots.txt durchsuchen.
Rafael

1
Nicht, dass ich jemals gesehen hätte. /robots.txtist der Standard, also wie würden Suchmaschinen überhaupt wissen, wo sie anders suchen müssen?
Andrew Lott

0

Sie KÖNNEN tatsächlich eine robots.txt in einem Unterverzeichnis verwenden. So behandeln wir derzeit unsere Sprach-Subdomains. Wir verwenden eine 301-Weiterleitung von der Datei /robots.txt zu einer Datei /lang/robots.txt (pro Unterdomäne), und die Weiterleitung wird korrekt durchgeführt.

Bei Verwendung eines einfachen Schrägstrichs wird auch die Ordnerstruktur als korrektes Stammverzeichnis übernommen. z.B. verbieten: /

wird so behandelt, als würde alles verboten und nicht nur das aktuelle Unterverzeichnis, in dem sich die Datei {redirected} robots.txt befindet.

Aber auch hier leiten wir mit einer 301 um und haben diese installiert. Ohne eine 301 würde sie wahrscheinlich nie gefunden werden ...

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.