Indexing von HTTPS-Seiten verhindern

Hat man für eine Website ein SSL-Zertifikat hinzugefügt, so kann die “Gefahr” bestehen, dass Suchmaschinen neben den “http://”-Seiten auch die “https://”-Seiten indiziert. Das führt zu doppelter Indizierung von gleichen Inhalten, was zu schlechteren Suchergebnissen führen kann.

Um dem zu begegnen, sollte man darauf achten, entweder nur die HTTP- oder die HTTPS-Inhalte indizieren zu lassen. Dieser Beitrag beschreibt, wie man das Indizieren von HTTPS-Inhalten verhindert.

HTTPS-Inhalte sind dann relevant, wenn vertrauliche Informationen wie beispielsweise Logins übertragen werden. Ohne HTTPS-Verbindung werden diese Daten im Klartext übertragen, d.h. beispielsweise in einem Café mit öffentlichem WLAN können die Logins ganz einfach abgefangen werden. Der “normale” Besucher einer Website ist im Regelfall jedoch nicht auf HTTPS angewiesen, da keine vertraulichen Daten übertragen werden. Außerdem verursacht HTTPS auf dem Webserver eine höhere Last, da die Website-Inhalte verschlüsselt werden müssen. Aus diesem Grund beschreibt dieser Artikel, wie HTTPS für Suchmaschinen deaktiviert wird, da für den “normalen” Besucher HTTP ausreichen sollte.

Ein geeigneter Weg, HTTPS-Seiten vor Suchmaschinen zu “verstecken”, ist eine spezielle robots.txt für HTTPS-Seiten. Mit Hilfe einer robots.txt-Datei kann angegeben werden, was von Suchmaschinen indiziert werden soll – und was nicht. Die spezielle robots.txt kann über eine angepasste .htaccess-Datei im Hauptverzeichnis der Website (Root-Verzeichnis) bereitgestellt werden. Sobald die Seite die robots.txt für eine HTTPS-Verbindung abfragen will, leitet die .htaccess-Datei auf die Datei robots_ssl.txt weiter.

Die .htaccess-Datei muss dafür wie folgt aussehen:

RewriteEngine on
Options +FollowSymlinks
RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^robots.txt$ robots_ssl.txt

Befindet sich die Website hinter einem Load Balancer oder Reverse Proxy, dann muss die .htaccess-Datei so aussehen:

RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

Die eigentliche Datei robots-ssl.txt muss anschließend folgenden Inhalt enthalten:

User-agent: *
Disallow: /

Die beschriebene robots_ssl.txt verbietet damit allen User-Agents (so auch Suchmaschinen), Inhalte zu indizieren. Auf diesem Weg erhalten alle Suchmaschinen, die sich an die Angaben der robots.txt halten (alle gängige Suchmaschinen) nur noch die HTTP-Inhalte der Website.

Schreibe einen Kommentar