Wenn man seine Webseite gerade erneuert oder Teile umbaut, ist es oft besser, allen anderen Besuchern eine Wartungsseite zu zeigen – so können keine neuen Daten geschrieben werden, was später vielleicht zu Problemen führen könnte. Aber auch für Google ist es besser, statt defekten Webseite mit Fehlermeldungen oder einer 404-Meldung (“File not found”) eine richtige Wartungsseite mit korrekter http Meldung zu erhalten: Für Wartungsarbeiten ist hier die Ausgabe der Meldung 503 (“Service Temporarily Unavailable”) sinnvoll – zusammen mit einer Zeit, wann der Googlebot die neue Seite wieder indizieren soll.
Zum Erstellen der Wartungsseite lohnt es sich, eine Sprache wie PHP zu nehmen: Anders als bei reinem HTML kann man so über den header der Datei den http Statuscode übermitteln. Dieser wird im Browser nicht angezeigt, sondern zusätzlich mit anderen header-Daten an den Browser, aber auch an den Google-Bot übermittelt. Das ist aber wichtig, damit Google merkt, das an der Seite gearbeitet wird und nicht versehentlich falsche Inhalte indiziert.
http Statusmeldung für die Wartungsseite
In PHP lautet die Ausgabe einer korrekten 503 Statusmeldung so:
<?php
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 600'); //600 Sekunden - 10 Minuten :-)
?>
Dieser Code muss aber ganz zu Beginn der Datei stehen – vor dem “<?php” darf weder ein Leerzeichen, Zeilenumbruch noch anderer Code sein: header-Daten müssen vor allen anderen Inhalten (auch Leerzeichen!) gesendet werden, um korrekt übertragen zu werden.
Wartungsseite für alle anderen – nur nicht für mich!
Damit alle anderen Benutzer außer dem Webmaster, der die Seite ja gerade bearbeitet, die Wartungsseite zu sehen bekommen, hilft eine IP-Auswahl: In der .htaccess Datei auf dem Server (Achtung: Manchmal versteckt dargestellt!) lässt sich einstellen, dass alle Besucher außer der eigenen IP-Adresse eine Wartungsseite sehen – für alle Nutzer mit den angegeben IP-Adressen wird die Seite ganz normal angezeigt und lässt sich bequem bearbeiten.
### Wartungsseite aktivieren
RewriteCond %{REMOTE_ADDR} !^89.123.123.100$
RewriteCond %{REMOTE_ADDR} !^84.123.123.101$
RewriteCond %{REQUEST_URI} !^/wartungsarbeiten.php$
RewriteRule ^(.*)$ wartungsarbeiten.php [L]
Zu Beginn werden die IP-Adressen des Webmasters angegeben (im Beispiel jetzt zwei unterschiedliche: Die Liste kann beliebig ergänzt werden!). Anschließend wird dann die Seite definiert, die für den Zeitraum der Wartungsarbeiten angezeigt werden soll – zum Beispiel “wartungsarbeiten.php”. In dieser Datei muss dann der Code für die 503 Statusmeldung ausgegeben werden.