https Zugriffe für Google Bot blockieren

Herr über die https Zugriffe werden

Irgendwann hat der Google Bot angefangen hier auf dieser Domain die https Variante zu crawlen und dadurch hunderte Fehler zu werfen. Mein Provider routet die https Anfragen nämlich nicht auf ein separates Verzeichnis, sondern liefert einfach eine Kopie der http Version aus. Dadurch entsteht natürlich zusätzlich zu den Fehlern auch noch Duplicate Content. Ich musste also Herr über die Lage werden und irgendwie diesen Fehler beseitigen.

Folgendes habe ich ausprobiert und letzteres (3.) hat dann auch geholfen:

1. Duplicate Content über https durch Canonical Tags auf http beseitigen

Sergej Müller hatte dieses Problem vor zwei Versionen in wpSEO erkannt und bietet seit wpSEO 3.0.2 die Funktionalität https Seitenaufrufe per Canonical auf http zu setzen. Klasse! Hat aber in meinem Fall leider nichts gebracht. Auch nach 3 Monaten lieferte Google mir immer noch Fehler

2. Alle https Anfragen per Redirect auf http umleiten

Die Idee alle https Anfragen per Redirect auf http umzuleiten mag zwar theoretisch gut sein, aber der Google Bot lässt sich davon nicht beirren und crawlt munter weiter – mit noch mehr Fehlern. Wer dennoch diese .httaccess Weiterleitung benötigt, bitte sehr:

RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Damit wird jede https Anfrage einfach auf die dazugehörige http Anfrage per 301 Redirect umgeleitet

3. https per robots.txt blocken

Last but not least hat John Müller (Google Webmaster Team CH) mir heute letztendlich den wahrscheinlich entscheidend richtigen Tip gegeben. Ich solle per htaccess die Zugriffe des Google Bots für https einfach blocken. Per htaccess lässt sich ziemlich simpel eine zweite robots.txt (robots.https.txt) für https Zugriffe festlegen. Hier wird dann der Bot beim Zugriff auf die https Variante einfach nicht durchgelassen:

Update: Achtung nicht nachmachen!!!

Die http Variante sagt zwar beim „Abruf wie Google Bot“ alles klar, kann ich lesen, meckert aber gleichzeitig bei den Serverdetails, dass weder das DNS, noch die Serverpfade noch die robots.txt errreicht werden kann. Es scheint fast so, als trennte GWT die einzelnen Seite nicht sauber genug!!

—> siehe Diskussion auf Google Plus

  1. robots.https.txt auf dem Server mit dem folgenden Inhalt anlegen:
    #https block
    User-agent: *
    Disallow: /
  2. Ganz oben in der .htaccess folgenden Eintrag machen:
    RewriteCond %{HTTPS} on
    RewriteRule ^robots.txt$ robots.https.txt 
  • Kontrollieren ob durch den Aufruf von http://domain.de/robots.txt und https://domain.de/robots.txt die jeweils richtigen robots.txt Dateien ausgeliefert werden.
    apache-https-redirect-htaccess
    apache-https-redirect
  • in Google Webmaster Tools kontrollieren, ob auch alles korrekt erkannt wurde.
    • Dazu die Seite auch als https Variante in Google Webmaster Tools anlegen
    • Und dann mit „Abrufen wie Google Bot“ die robots.txt abrufen

    Das Ergebnis sollte wie folgt sein:
    https-robots.txt

  • Die http Variante sollte aber noch crawlbar sein:
    http-robots.txt
  • google-bot-https-aussperren

    Keine Gewähr für mögl. Folgen!

    5 Kommentare » Schreibe einen Kommentar

    1. Hallo Viktor,

      danke für Dein sehr detaillierten und ausführlichen Beitrag.
      Super Lösung, ich hab nur den ersten Punkt nicht ganz verstanden oder fehlt hier einfach nur „s“ in „robots.http.txt“?


      ..
      1. robots.https.txt auf dem Server mit dem folgenden Inhalt anlegen:
      ..
      ..

    2. Sauber ist das aber nicht!
      https musst Du unbedingt auf einen anderen Content bekommen! Sonst hast Du immer DC!

    3. jain. Warum sollte ich auf https etwas anderes darstellen wollen als auf http?
      Und wenn Du kein gültiges Zertifikat hast, sowieso…

    4. Bitte alle, die das mit dem https Redirect umgesetzt haben wieder rückgängig machen! Die GWT kommen damit nicht klar! Das wär mir zu gefährlich!

    Schreibe einen Kommentar

    Pflichtfelder sind mit * markiert.