it-swarm.com.de

Wie kann ich Robotern den Zugriff auf meine Sitemap erlauben, aber gelegentliche Benutzer daran hindern, darauf zuzugreifen?

Ich speichere meine Sitemaps in meinem Webordner. Ich möchte, dass Webcrawler (Googlebot usw.) auf die Datei zugreifen können, aber ich möchte nicht, dass alle und jede andere Person Zugriff darauf haben.

Diese Site (superuser.com) verfügt beispielsweise über einen Site-Index, wie in der robots.txt ​​-Datei ( https://superuser.com/robots.txt angegeben ).

Wenn Sie jedoch https://superuser.com/sitemap.xml eingeben, werden Sie zu einer 404-Seite weitergeleitet.

Wie kann ich dasselbe auf meiner Website implementieren?

Ich betreibe eine LAMP-Website und verwende auch eine Sitemap-Indexdatei (daher habe ich mehrere Sitemaps für die Website). Ich möchte den gleichen Mechanismus verwenden, um sie über einen Browser nicht verfügbar zu machen, wie oben beschrieben.

1
morpheous

Der beste Ansatz besteht höchstwahrscheinlich darin, die IP-Adresse des Besuchers auf der Seite abzurufen, eine umgekehrte NS Suche durchzuführen und zu überprüfen, ob der Domänenname mit der bekannten Liste der Webcrawler übereinstimmt. Soweit ich weiß, ist dies ziemlich narrensicher (Abzinsung von DNS-Spoofing, was wahrscheinlich kein großes Problem darstellt).

Für den Google-Webcrawler wird dies im Blogbeitrag beschrieben So überprüfen Sie Googlebot .

Hier ist eine Liste der Domainnamen-Platzhalter für die häufigsten Spider-Bots/Web-Crawler:

  • Google (Googlebot): * .googlebot.com
  • Bing (msnbot): (Nicht entfernbar, siehe IP-Bereiche )
  • Yahoo (Yahoo Slurp): * .yahoo.com

Obwohl ich nicht sicher bin, wie oft die IP-Adressbereiche für die verschiedenen Haupt-Crawler liegen, gibt es auch diese Seite , das solche Bereiche für die drei Hauptsuchmaschinen auflistet.

(Hinweis: Ich glaube, die Bots setzen den HTTP-Header des Benutzeragenten bei Anfragen, aber dies ist natürlich sehr einfach zu fälschen.)

Hoffe das hilft.

3
Noldorin

Sie können Ihre Sitemap-Dateien vor normalen Besuchern verbergen, indem Sie:

  • Benennen der Sitemap-Datei etwas Obskures, das nicht erraten werden kann: sitemap-jk4KnDJ8.xml
  • NOT Auflisten des Speicherorts der Sitemap-Datei in robots.txt
  • Senden Sie die Sitemap an die Suchmaschinen, die Sie über deren Websites abrufen möchten. Zum Beispiel über Google Webmaster Tools.
1