W trakcie modernizacji serwisów często powstają strony, które nie powinny znajdować się w indeksie wyszukiwarek. Może to więc powodować obniżenie rankingów. Poniżej krótka instrukcja, jak uniknąć problemów.

Bot googiela samodzielnie nie stwierdzi, że serwis jest ulepszany. Może więc to powodować zaindeksowanie strony na przykład z błędem MySQL-a, czy niedziałającym linkiem (tzw. 404). Oczywistym jest, że wszelkie nieprawidłowości wpływają negatywnie na pozycje w SERP-ach. Rozwiązaniem byłoby powstrzymanie bota przed chodzeniem po stronie w trakcie, kiedy dokonuje się zmian na niej. Najprostszym możliwym wyjściem jest tymczasowe utworzenie pliku robots.txt, w którym umieszcza się blokadę botów. Niestety byłoby to gorsze nawet od jakiegokolwiek błędu na stronie. Na szczęście z pomocą przychodzi kod 503, czyli “Service Unavailable” (“Usługa niedostępna”).

Naszym celem jest:
a) pokazanie botom googiela strony z kodem 503,
b) pokazanie “normalnym” użytkownikom komunikatu o modernizacji,
c) umożliwienie webdeveloperowi pracę nad serwisem.

Najważniejszą częścią jest utworzenie lub zmodyfikowanie pliku .htaccess, w głównym katalogu serwera (najczęściej www lub public_html). Jeśli istniejący skrypt korzysta np. z modułu mod_rewrite należy pamiętać, aby poniższe instrukcje umieścić na początku pliku.

Oto przykładowy plik .htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_HOST} !^123\.45\.67\.89
RewriteCond %{REQUEST_URI} !^/errors/503\.php
RewriteRule .* /errors/503.php

Powyższy kod działa w ten sposób, że jeśli strona nie jest wywoływana dla IP 123.45.67.89 (przykładowy adres, z którego może operować człowiek, dokonujący modernizacji) następuje niewidoczne dla użytkownika przekierowanie odwołania do pliku 503.php, znajdującego się w katalogu “errors”.

Oto więc przykładowy plik 503.php:

Strona tymczasowo niedostępna

W tej chwili serwis podlega modernizacji. Przepraszamy za niedogodności. Prosimy spróbować później.

 

Oczywiście treść takiej strony można zmodyfikować, pod warunkiem, że na samym początku zachowa się instrukcje header. Czwarta linijka (Retry-After) zawiera czas w sekundach, po jakim bot powinien ponowić próbę dotarcia do strony; nawet, jeśli modernizacja potrwa dłużej, ustawienie 3600 sekund (czyli jedną godzinę) jest rozwiązaniem optymalnym.

W przypadku botów googiela kod 503 powinien zapobiegać właściwie jakimkolwiek zawirowaniom w wynikach (o czym napisał przedstawiciel firmy na grupach dyskusyjnych. Niestety nie wiadomo, jak to rozwiązanie zadziała dla innych szukajek, dlatego w kodzie strony 503.php warto umieścić blokadę przed indeksacją (meta robots=”noindex”).