Blokowanie robotów w robots.txt i .htaccess

Wyszukiwarki internetowe opierają swoje działanie na analizie kodu i treści zindeksowanych stron. Aby móc to zrobić, muszą najpierw dobrze poznać strony i to nie tylko stronę główną, ale i wszystkie jej podstrony. Do tego procesu używane są roboty sieciowe, nazywane również botami lub pająkami. Są to specjalne programy, które są podstawowymi elementami każdego silnika wyszukiwarki. Ich rolą jest odwiedzanie wszystkich stron i podstron, a następnie kopiowanie ich zawartości do systemu indeksującego wyszukiwarki internetowej. Roboty te podążają wszystkimi hiperłączmi (linami URL) umieszczonymi na stronie.

Robotami sieciowymi w obrębie serwisu, każdy webmaster może sterować. W tym sensie sterować, że może im powiedzieć czy mogą indeksować daną stronę czy nie. Często bowiem się zdarza, że roboty internetowe nie służą wyszukiwarkom internetowym, a osobom wyszukującym miejsc do publikowania spamu. Takie roboty mogą powodować niepotrzebne obciążenia serwerów, więc lepiej je blokować. Do tego używa się plików robots.txt lub zapisów w plikach .htaccess. Ta druga metoda jest bardziej skuteczna na niestandardowe roboty, gdyż one z reguły w ogóle nie biorą pod uwagę instrukcji w plikach robots.txt. Dlatego opiszemy tutaj dwie metody.

robots.txt – blokowanie robotów sieciowych

Zadaniem plików robots.txt jest kontrolowanie działania robotów sieciowych. Dzięki nim określisz jakie roboty mogą mieć dostęp do zasobów serwisu, a które nie. Możesz też uściślić, które katalogi i podstrony serwisu nie powinny być indeksowane przez wyszukiwarki.

I tak, jeśli strona www ma być indeksowana przez wszystkie przeglądarki, to zawartość pliku robots.txt, powinna wyglądać tak:

User-agent: *
Allow: /

Jeśli danego katalogu (np. podstron administracyjnych), wyszukiwarki nie powinny indeksować, trzeba użyć poleceń:

User-agent: *
Disallow: /admin/

Jeśli natomiast chcesz zablokować indeksowanie wszystkim przeglądarkom oprócz Google, to możesz połączyć ze sobą kilka poleceń:

User-agent: *
Disallow: /


User-agent: Googlebot
Allow: /

Lista nazw (User-agent) robotów najpopularniejszych wyszukiwarek:
Googlebot – wiadomo 🙂
Bingbot – Bing
DuckDuckBot -DuckDuckgo
Slurp – Yahoo!
YandexBot -Yandex
Baiduspider – Baidu

Webmasterzy najczęściej chcą jednak, aby jak najwięcej wyszukiwarek zindeksowało ich serwisy. W takim przypadku powinni wstawić plik robots.txt z poleceniami z przykładu pierwszego.

.htaccess – blokowanie robotów

W pliku .htaccess najskuteczniej zablokujesz roboty, które są dla Ciebie niepożądane i nie chcesz aby marnowały transfer i zamulały hosting, na którym znajduje się Twoja strona internetowa. W tym przypadku podstawową rzeczą jest ustalenie adresów IP robotów które chcesz zablokować. Najlepiej można to zrobić przeglądając logi serwera lub skorzystać z jakiś blacklist w internecie.

Gdy już posiadasz takie adresy, to wystarczy dodać odpowiednie linijki kodu do pliku .htaccess (który z reguły już istnieje w katalogu głównym Twojego serwisu):

order allow, deny
deny from 1.1.1.1
deny from 2.2.2.2

W miejscu 1.1.1.1 i 2.2.2.2 należy wstawić adresy IP blokowanych robotów sieciowych. Oczywiście blokować można większą ilość adresów sieciowych, a nawet i całych klas adresów.