Ich möchte meine Sitemap-XML-Datei vor allen Benutzern verbergen, aber den Zugriff von Suchmaschinen zulassen.
Wie geht das?
Ich möchte die Tiefe des Inhalts der Website vor Mitbewerbern verbergen.
xml-sitemap
AgA
quelle
quelle
Antworten:
Der erste Schritt besteht darin, den Benutzeragenten der Bots zu ermitteln, die Sie zulassen möchten , und eine andere Datei bereitzustellen, wenn es sich nicht um einen Benutzeragenten handelt, den Sie zulassen möchten.
Sie könnten beispielsweise zwei Versionen von haben
robots.txt
, eine mit und eine ohne Verweis auf die Sitemap, sodass Ihre Konkurrenten die Sitemap nicht finden, wenn sie in Ihre schauenrobots.txt
.Anschließend können Sie Besuche Ihrer Sitemap-URL erkennen und die Sitemap nur dann bereitstellen, wenn die UA korrekt ist. Wenn Sie andernfalls eine generische 404-Seite bereitstellen, wissen Ihre Konkurrenten möglicherweise nicht einmal, dass Ihre Sitemap vorhanden ist.
Alle bisher beschriebenen Maßnahmen sind jedoch lediglich Sicherheit durch Dunkelheit. Ein User-Agent kann leicht gefälscht werden.
Daher empfiehlt Google , dass Sie zur Erkennung des echten GoogleBot:
googlebot.com.
.Etwas zusammenfassen:
Microsoft empfiehlt, das gleiche Verfahren zum Erkennen des Crawlers zu verwenden.
Dieser Trick funktioniert für Yahoo! auch.
Für DuckDuckGo können Sie diese Liste von IP-Adressen verwenden
Hinweis
Sie müssen keinen 404-Fehler verwenden, wenn Sie die DNS-Lookup-basierte Spinnenerkennung verwenden.
Der Zweck der Verwendung der 404-Fehlerseite besteht darin, zu verbergen, dass Ihre Sitemap überhaupt vorhanden ist. Wenn Sie jedoch die fortgeschrittenere Technik verwenden, die nicht nur auf
User-Agent
Headern basiert, sollte es nicht möglich sein, diese zu umgehen, damit Sie sicher einen anderen Fehlercode verwenden können, z. B.403 Forbidden
den richtigen Fehlercode, der hier verwendet wird.quelle
Das Problem ist, dass, wenn Sie (zu Recht) möchten, dass Ihre Inhalte von Suchmaschinen indiziert werden, jeder, der eine Website durchführt: Suche in einer der Suchmaschinen, sehen kann, welche URLs indiziert sind.
Wenn Sie Ihre Sitemap "verstecken" möchten, können Sie sie auf einer URL mit einem "geheimen" Namen haben, sodass es für niemanden offensichtlich ist, der danach sucht. Es ist jedoch empfehlenswert, eine Sitemap in eine robots.txt aufzunehmen Datei und laden Sie es in eines der Webmaster-Tools-Profile der Suchmaschinen hoch. Wie andere bereits gesagt haben, ist es schwer zu erkennen, warum Sie dies tun müssen.
quelle
Die clevere Lösung besteht darin, zwei Sitemaps zu erstellen. Die erste ist zum Nutzen Ihrer Konkurrenten, die zweite zum Nutzen Ihrer bevorzugten Suchmaschinen. Im militärischen Sprachgebrauch ist diese erste Sitemap eine Finte.
Die 'Finte' enthält Ihre grundlegende Website-Struktur, Homepage, Kontakt, über uns, Hauptkategorien. Es sieht aus wie das echte Geschäft und funktioniert hervorragend in obskuren Suchmaschinen, die Sie nicht interessieren. Es wird auch für Ihre Konkurrenten keinen Nutzen haben. Lassen Sie es indizieren, damit sie es finden, und geben Sie ihm einen offensichtlichen Namen wie sitemap.xml.
Erstellen Sie jetzt Ihre echte Sitemap mit Code. Geben Sie ihm einen Namen wie "product-information-sitemap.xml", damit es ein vernünftiger Name ist, der jedoch nicht einfacher zu erraten ist als Ihr Passwort.
Fügen Sie in Ihrer Apache-Konfiguration für den Sitemap-Ordner etwas ein, damit Suchmaschinen auf diese zweite Sitemap zugreifen können, die jedoch nicht indiziert ist:
Erstellen Sie nun den Code, um diesen auf dem neuesten Stand zu halten. Betrachten Sie eine dritte Sitemap für Bilder. Verringern Sie es nach Bedarf, um die 'Finte' zu erstellen. Achten Sie auch auf die Zeitstempel, Google achtet auf diese und dies ist wichtig, wenn Ihre Sitemap groß ist.
Erstellen Sie jetzt einen Cron-Job, um Ihre Produkt-Sitemap regelmäßig an Google zu senden. Fügen Sie in Ihrem Crontab-Eintrag so etwas hinzu, um jede Woche Ihre echte Sitemap einzureichen:
Beachten Sie, dass die URL URL-codiert ist.
Sie können Ihre Sitemap auch gzipen, wenn die Größe ein Problem darstellt, obwohl Ihr Webserver diese komprimierte Karte bereitstellen sollte, wenn Sie diese aktiviert haben.
Ihre robots.txt muss nichts Besonderes sein, nur solange sie den Zugang zu Ihren Sitemaps nicht blockiert, sollte es in Ordnung sein. Es ist wirklich nicht nötig, verschiedene robots.txt-Dateien basierend auf Benutzeragentenzeichenfolgen oder etwas so Kompliziertem zu versenden. Ziehen Sie einfach Ihre wertvollen Inhalte in eine zusätzliche, nicht beworbene Datei und senden Sie sie bei einem Cron-Job an Google (anstatt auf den Bot zu warten). Einfach.
quelle
Ich verstehe nicht, warum eine Struktur einer Website Probleme mit einem Konkurrenten verursachen kann.
Der Zweck der Sitemap besteht darin, die Seiten zu indizieren, damit die Benutzer sie leichter finden können. Dies muss bis zu einem gewissen Punkt Aufschluss darüber geben, wie Ihre Website organisiert ist, z.
/news/
enthält Ihre Artikel/forum/
Hier finden alle Forumsdiskussionen stattDiese sind indizierbar, um mehr Verkehr zu gewinnen und Informationen zu präsentieren.
Die Ordner, für die Sie keinen Index haben möchten, sind wie folgt
Wenn dies der Fall ist, sollten diese überhaupt nicht in Ihrer Sitemap enthalten sein. Außerdem können Sie diese auch von der Indizierung ausschließen.
quelle
Wenn Sie die IP-Adressen der Bots haben, die Sie zulassen möchten:
Wenn Sie es basierend auf der Zeichenfolge des Benutzeragenten möchten:
quelle
Eine Möglichkeit, die Sie ausprobieren können: In einer normalen Crawling-Sitzung greifen Google-Bots auf robots.txt zu und wechseln dann zur Sitemap-Datei. Drücken Sie ein Cookie für alle Portionen von robots.txt ein und erlauben Sie den Zugriff auf die Sitemap nur den Personen mit dem Cookie. Es wird ein Problem geben, wenn Google-Bots keine Cookies akzeptieren. Also mach das Gegenteil. Drücken Sie ein Cookie ein, wenn ein Benutzer auf eine andere Seite als die robots.txt zugreift, und verweigern Sie denjenigen mit dem Cookie den Zugriff auf die Sitemap. Geben Sie Ihrer Sitemap auch einen verschlüsselten Namen, der sich mit der Zeit ändert und ihn nicht erraten lässt. Wenn Ihre Konkurrenten Cookies in ihrem Browser aktiviert haben, ist es für sie äußerst schwierig, auf die Sitemap zuzugreifen, es sei denn, sie folgen genau dem Pfad, dem eine Suchmaschine folgt.
quelle
Ich gehe davon aus, dass ich Ihre Anforderung richtig verstanden habe, und zeige den Mut, zu antworten.
Geben Sie kurz vor Ihrem
</html>
Tag einen Bildlink zu Ihrer Sitemap . Verwenden Sie eine transparente 1px-GIF-Datei:<a href="sitemap.xml"><img src="transparent.gif" alt="" height="1" width="1" /></a>
Legen Sie auf der Seite mit dem Link Ihrer Sitemap das zugehörige Metatag fest:
<meta name="robots" content="{index or noindex},follow">
Überprüfen Sie den visuellen Status, wenn Sie Ctrl+ drücken A, um alle Seiten auszuwählen. Ist der 1px-Link sichtbar und für Sie riskant?
Wenn Sie ja sagen, kann eine andere Option sein:
<a href="sitemap.xml"> </a>
Auf diese Weise wird ein ungewöhnlicher normaler Benutzer Ihren Link nicht bemerken. Suchmaschinen werden es bemerken. Bitte beachten Sie jedoch, dass die inhärente Natur Ihrer Frage mit Unmöglichkeit verbunden ist.
Ich sage Unmöglichkeit, denn wenn ein Nutzer beispielsweise mit diesen Begriffen in Google sucht
* site:www.yoursite.com
Die ganze Welt kann alle Ihre Links sehen, wenn sie nicht müde werden, auf
next
Links zu klicken .Ich hoffe das hilft.
quelle