Jak stworzyć, przetestować i poprawnie wdrożyć plik robots.txt?

Tworzenie instrukcji robots.txt, umożliwiającej komunikację z botami przemierzającym sieć, wydaje się dość skomplikowanym zadaniem – szczególnie gdy w wielu poradnikach czytamy o tym, że każdy, nawet drobny błąd może wpłynąć na utratę widoczności i spadek pozycji strony. Sama składnia pliku robots.txt jest jednak dość prosta i możesz stworzyć go samodzielnie, pamiętając wyłącznie o kilku istotnych założeniach. Czas zatem poznać reguły, dyrektywy i sposoby tworzenia pliku robots.txt.

Ostatnia aktualizacja: 30-08-2024
Spis treści

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.

Plik robots.txt na przykładzie strony agencji SEM House
Dyrektywy w pliku robots.txt dla agencji semhouse.com

 

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:

  1. 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.
    Dyrektywa user-agent w pliku robots.txt
  2. Disallow – polecenie, które informuje robota, aby nie skanował danego adresu URL/treści/katalogu (np. Disallow: /media/).
    Dyrektywa disallow w pliku robots.txt
  3. 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).
    Dyrektywa allow w pliku robots.txt
  4. 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.
    Dyrektywa crawl-delay w pliku robots.txt
  5. 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).
    Lokalizacja sitemap w pliku robots.txt
  6. 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.

Tester pliku robots.txt w GSC
Weryfikacja pliku robots.txt w Google Search Console

 

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.

Plik robots.txt na przykładzie wyszukiwarki google.com
Fragment pliku robots.txt dla wyszukiwarki Google

 

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

 

Autorzy
  • SEO Specialist. Copywriterka z wykształceniem pedagogicznym. Ukończyła Uniwersytet Śląski oraz WSA w Bielsku-Białej. Doświadczenie zdobywała jako Junior Marketing Specialist w branży IT oraz pracownica ds. promocji w lokalnym stowarzyszeniu. Doskonali umiejętności z zakresu optymalizacji stron internetowych: technicznego SEO oraz link buildingu. Gdy pogoda dopisuje, spotkacie ją na beskidzkach szlakach, a kiedy za oknem szaro i ponuro – na basenie.

  • Senior Content SEO Specialist. Absolwentka filologii polskiej na Uniwersytecie Warszawskim i Jagiellońskim, redaktorka i korektorka. Wcześniej związana z branżą wydawniczą, obecnie zajmuje się content marketingiem. Interesuje się sztuczną inteligencją i LLM. Lubi książki, podcasty i swojego psa.

Wymieńmy się doświadczeniami
Opowiedz nam o potrzebach twojej firmy, a my z pasją zajmiemy się ich wdrożeniem.

Bartosz Kastelik
Global Chief Sales Officer

Administratorem podanych powyżej danych osobowych w rozumieniu Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO) jest SEMHOUSE Spółka z ograniczoną odpowiedzialnością z siedzibą w Warszawie przy ul. Złotej 61/101, 00-819 Warszawa, wpisana do rejestru przedsiębiorców KRS prowadzonego przez Sąd Rejonowy dla m.st. Warszawy w Warszawie, XIII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS: 0001063860, NIP: 527-308-03-25, REGON: 526677066.

Więcej informacji na temat przetwarzania Państwa danych osobowych, w tym informacje na temat przysługujących Państwu praw, znajdziecie Państwo w naszej Polityce prywatności.

Napisz do nas!

Jesteśmy częścią grupy