Czym jest robots.txt, do czego służy i gdzie znaleźć go na stronie?
Robots.txt jest prostym plikiem tekstowym zawierającym zestaw reguł skierowany do różnych botów internetowych przemierzających całą sieć. Działając na podstawie protokołu wykluczenia robotów, informuje on boty, które zasoby w obrębie strony mogą (lub których nie mogą) odczytać, zeskanować oraz w rezultacie zaindeksować.
Roboty crawlujące po wejściu na nową stronę automatycznie poszukują pliku robots.txt w katalogu głównym strony, dopisując /robots.txt do nazwy domeny. W praktyce oznacza to, że także Ty możesz przejrzeć reguły zapisane w protokole wykluczenia robotów (Robots Exclusion Protocol) dla bardzo wielu domen – tak samo jak inni ciekawscy użytkownicy mogą trafić na robots.txt Twojej strony. Na przykładzie naszej agencji wyszukaj adres https://semhouse.com/robots.txt, by odnaleźć instrukcje, które my wskazaliśmy robotom indeksującym.
Warto jednak mieć na uwadze, że niektóre roboty mogą celowo ignorować instrukcje zawarte w pliku i odczytywać strony, które zostały oznaczone jako zabronione do odwiedzenia. Pamiętaj, że sieć przemierza bardzo wiele botów, a nie wszystkie z nich wykazują dobre intencje. Robots.txt nie jest zatem odpowiednim narzędziem np. do blokowania prywatnych podstron przed indeksacją w wyszukiwarce. Istnieją inne, skuteczniejsze metody, o których więcej przeczytasz w dalszej części artykułu.
Zawartość robots.txt, czyli jakie zestawy reguł można umieścić w pliku?
Przed rozpoczęciem tworzenia pliku robots.txt dla swojej strony warto poznać reguły, które są najczęściej używane do jego zapisu. Podstawowe instrukcje, które znajdziesz w protokole wykluczenia robotów, to:
- User-agent – odnosi się do nazw konkretnych robotów indeksujących (np. User-agent: Googlebot) lub wszystkich robotów (User-agent: *), gdy chcemy wydać te same instrukcje dla wszystkich odwiedzających stronę botów.
- Disallow – polecenie, które informuje robota, aby nie skanował danego adresu URL/treści/katalogu (np. Disallow: /media/).
- Allow – stosujemy tę dyrektywę, gdy pozwalamy robotom na skanowanie określonego zasobu, którego część została zablokowana przez polecenie disallow (np. Allow: /media/galeria).
- Crawl-delay – z założenia umożliwia kontrolę szybkości crawlowania podstron w serwisie. W praktyce jednak niewiele wyszukiwarek oficjalnie wspiera ten zapis, a większość traktuje go dość swobodnie.
W crawl-delay opóźnienie wyrażone jest w sekundach, np. Crawl-delay: 15, co oznacza, że boty powinny wykonywać czynności nie szybciej niż co 15 sekund. Jeśli Twoja witryna po przeprowadzonym technicznym audycie wykazała problemy z wydajnością serwera, można rozważyć zastosowanie takiej dyrektywy.
- Sitemap – ta reguła nie jest obowiązkowym elementem pliku robots.txt, często natomiast można ją tam odnaleźć. Wskazuje ona wyszukiwarkom lokalizację mapy naszej witryny, która z kolei wyszczególnia adresy, do których „zapraszamy” roboty indeksujące (np. Sitemap: https://strona.pl/sitemap.xml).
- Host – ma na celu wskazanie robotom strony oryginalnej spośród wielu kopii w sieci. Podobnie jak dyrektywa sitemap, host nie jest obowiązkowym elementem pliku robots.txt.
Przykłady zastosowania robots.txt
- Blokowanie całej zawartości strony przed wszystkimi robotami
User-agent: *
Disallow: /
- Zezwolenie wszystkim robotom na dostęp do całej strony
User-agent: *
Disallow:
- Blokowanie określonego folderu przed konkretnym robotem
User-agent: Bingbot
Disallow: /media/
- Umożliwienie dostępu do fragmentu folderu konkretnemu robotowi
User-agent: Bingbot
Disallow: /media/
Allow: /media/galeria
- Mapa strony w robots.txt
User-agent: *
Disallow:
Sitemap: https://strona.pl/sitemap.xml
Pamiętaj, że przed wdrożeniem protokołu wykluczenia robotów na swojej stronie warto przetestować opracowany plik tekstowy. Tutaj z pomocą przychodzi sam Google, udostępniając w ramach Google Search Console tester pliku robots.txt: https://search.google.com/search-console/settings/robots-txt. Tester ten zweryfikuje poprawność pliku robots, a Ty sprawdzisz w nim, czy i w jakim zakresie Google ma dostęp do konkretnych stron w Twoim serwisie. Test pliku robots.txt w Google Search Console warto wykonać także po każdej zmianie wprowadzonej w protokole wykluczenia robotów.
Jak wygenerować plik robots.txt? Najlepsze praktyki tworzenia pliku do komunikacji z botami
Jeśli ustalisz wcześniej, które zasoby chcesz ukryć przed robotami, generowanie pliku samo w sobie jest łatwym procesem. W zależności od potrzeb strony oraz Twoich umiejętności możesz rozważyć zastosowanie jednego z poniższych sposobów.
Generowany plik robots.txt
W sieci można natrafić na różnorodne generatory robots.txt, pomagające w opracowaniu dyrektyw do komunikacji z botami. W wielu przypadkach takie narzędzia umożliwiają wybranie interesujących Cię opcji oraz wygenerowanie gotowego do umieszczenia na stronie pliku robots.txt zaledwie kilkoma kliknięciami. Ty podajesz swoje wymagania, a narzędzie zapisuje je w odpowiednim formacie i prezentuje gotową dyrektywę.
Dynamiczny plik robots.txt
Dynamicznie generowany plik robots zakłada automatyczne opracowanie dyrektyw dla robotów z poziomu systemu CMS. Jeśli strona obsługiwana jest przez system WordPress, istnieje możliwość obsługi pliku robots za pomocą wielu jakościowych wtyczek do WordPressa, np. Rank Math czy Yoast SEO. Jeśli natomiast chcesz oszczędzić czas oraz uchronić się przed błędami, dynamiczny robots.txt sam wykona pracę za Ciebie. Wystarczy, że wskażesz, których podstron nie chcesz indeksować, z poziomu swojego CMS-a, a automatycznie zostaną dodane one do instrukcji dla botów w robots.txt.
Statyczny plik robots.txt
Robots.txt w takim wariancie cieszy się dużą popularnością i jest opcją najczęściej wykorzystywaną w komunikacji z internetowymi botami. Statyczny plik z instrukcjami dla robotów wymaga ręcznego opracowania, wypisania dyrektyw oraz umieszczenia na serwerze strony. Podobnie każdą zmianę w pliku należy zaktualizować ręcznie, do czego potrzeba odpowiedniej wiedzy i umiejętności.
Jeśli masz wątpliwości, czy udało Ci się prawidłowo opracować i wdrożyć na stronie plik robots.txt, warto rozważyć konsultację ze specjalistą SEO. Takie działanie uchroni Twoją witrynę przed wieloma błędami, które mogą słono kosztować jej widoczność w sieci. Nie chcesz przecież omyłkowo zablokować dostępu do najlepiej sprzedających się produktów w sklepie, a w zamian wyświetlać robotom indeksującym prywatne dane o dokonanych przez Twoich klientów transakcjach.
Robots.txt a meta robots – czy sama blokada w pliku jest wystarczająca?
Instrukcje w pliku robots.txt pomimo dużej użyteczności mają pewne ograniczenia i tak samo jak inne narzędzia powinny być stosowane rozważnie. Jak była tu już mowa, są one jedynie rekomendacją i roboty nie zawsze się do nich stosują. Nawet w przypadku blokady podstrony w robots.txt crawlery mogą trafić na nią przez linki z innych stron.
Gdy chcesz, żeby dana strona nie została zaindeksowana, warto rozważyć wprowadzenie meta tagu robots noindex. Natomiast jeśli chcesz, aby robot nadal podążał za linkami na danej stronie, można uzupełnić tę dyrektywę o meta tag follow.
Podstawową różnicą między robots.txt a meta robots jest to, że w pliku robots.txt zarządza się głównie dostępem do wielu adresów w strukturze strony. Wskazuje się tam robotom, których zasobów nie powinny odwiedzać i skanować. Natomiast meta robots ze znacznikiem noindex odnosi się do konkretnego adresu URL i pomoże np. w przypadku wyindeksowania danej podstrony z sieci.
Meta robots jest znacznikiem, który umieszcza w strukturze kodu HTML w sekcji <head> pod postacią: <meta name=”robots” content=”noindex”>.
Jak wdrożenie pliku robots.txt wpływa na SEO?
Jak zostało już wspomniane, pierwszą czynnością po wejściu robota na stronę internetową jest odczytanie instrukcji w pliku robots. Jeśli zezwalasz crawlerom na dostęp do całej swojej strony (bądź w ogóle nie wskazujesz protokołu wykluczenia robotów), będą one przeszukiwać i indeksować zasoby całego serwisu. W przypadku małych witryn o stosunkowo niewielu podstronach nie ma zbytnio czym się martwić. Przy większych, bardziej rozbudowanych stronach WWW pojawią się jednak możliwości m.in. w zakresie optymalizacji crawl budgetu z użyciem dyrektywy disallow w robots.txt.
Crawl budget odnosi się do liczby stron, które wyszukiwarka jest w stanie zaindeksować w określonym czasie. W skrócie ma wpływ na to, jak szybko strony trafiają na listę wyników wyszukiwania. Jeśli w robots.txt ukryjesz zbędne i nieistotne podstrony, wskazujesz botom, że nie warto tracić na nie czasu. Twój budżet indeksowania może zostać wówczas wykorzystany na skanowanie stron, które faktycznie chcesz mieć w indeksie i wyświetlać użytkownikom. Każda strona WWW ma ograniczony crawl budget, przydzielony indywidualnie przez wyszukiwarki. Jeśli przepalasz go na puste strony, duplikaty lub strony zawierające błędy, marnujesz swój potencjał SEO, opóźniając tym samym proces indeksowania w Google.
Jak więc dowiedzieć się, jakie roboty i w jaki sposób poruszają się po Twojej stronie? Odpowiedzią może być analiza logów serwera, które zapisują informacje o każdej aktywności: klienta, aplikacji czy właśnie bota na stronie. W kontekście SEO taka analiza pomoże odkryć, które strony i przez jakie boty są najczęściej odwiedzane. Między innymi dzięki takim informacjom specjaliści SEO rozpoznają i blokują niechciane boty, rozwiązując ewentualne problemy z indeksacją.
Jak zablokować roboty internetowe? Lista najpopularniejszych botów przemierzających internet
Roboty internetowe (crawlery, boty) są programami, które odwiedzają Twoją stronę i podążają za odnalezionymi na niej linkami. Najczęściej, jeszcze przed wejściem na stronę, sprawdzają one reguły zawarte w pliku robots.txt, aby dowiedzieć się, jakie zalecenia są w nim zawarte. Część z nich z pewnością chcesz zaprosić do naszej witryny, a część niekoniecznie.
Oto lista przykładowych botów przemierzających sieć:
Nazwa robota | Cel |
Googlebot | Ogólny robot wyszukiwarki Google |
Googlebot-Image | Robot Google od grafiki |
Googlebot-News | Robot Google News |
Googlebot-Video | Robot Google od wideo |
Bingbot | Robot wyszukiwarki Bing |
MSNBot-Media | Robot Bing dla mediów |
Slurp | Robot wyszukiwarki Yahoo |
YandexBot | Robot wyszukiwarki Yandex |
Baiduspider | Robot wyszukiwarki Baidu |
Applebot | Robot crawlujący Apple |
Facebookexternalhit | Robot crawlujący Facebooka |
AhrefsBot | Robot crawlujący narzędzia Ahrefs |
SemrushBot | Robot crawlujący narzędzia Semrush |