Robots.txt – do czego służy i jakich błędów unikać przy jego tworzeniu?

Zaktualizowano: 2023-12-21
Robots txt
Robots.txt to jeden z prostszych sposobów wpływania na działanie robotów przeglądających stronę internetową. Plik składa się z poleceń dla botów wskazujących, które podstrony mogą skanować podczas procesu indeksowania. Jego wypełnienie należy do najbardziej rutynowych czynności. Co warto o nim wiedzieć? Z tego artykułu dowiesz się jak stworzyć plik robots.txt i jakich błędów przy tym unikać.
Zacznij publikować już dziś!
Zarejestruj się bezpłatnie

Spis treści:

Co to jest robots.txt?

Plik robots.txt przekazuje robotom wyszukiwarek oraz programom crawlującym wytyczne, które strony i pliki mogą odwiedzać. Dyrektywy wysyłane są za pomocą standardu Robots Exclusion Protocol, choć należy przy tym zaznaczyć, że część wyszukiwarek deklaruje uwzględnianie niestandardowych zapisów. Dzięki robots.txt blokujemy dostęp do stron nieistotnych z punktu widzenia SEO, choć możliwych zastosowań i korzyści wynikających z korzystania z tego pliku jest znacznie więcej.

Plik robots.txt znajduje się pod adresem: https://przykladowa-domena.pl/robots.txt.

Wpisz w wyszukiwarkę adres swojej domeny z dopiskiem “robots.txt”, aby sprawdzić, jakie wytyczne dla robotów są określone dla witryny. Jeśli twoja strona nie posiada pliku robots.txt, w dalszej części tego artykułu powiemy ci jak go przygotować.

Jakie roboty czytają plik robots.txt?

Plik robots.txt z założenia przeznaczony jest dla wszystkich automatów wchodzących na stronę. Dotyczy to nie tylko najbardziej oczywistych z punktu widzenia SEO robotów wyszukiwarek. Botami, do których adresowane są dyrektywy tego pliku, są także automaty archiwizujące Internet (takie jak Web Archive), programy pobierające witrynę na dysk lokalny (np. HTTrack Website Copier), narzędzia do analizy strony (w tym narzędzia SEO, takie jak chociażby Xenu, Majestic SEO i Ahrefs) itp.

Po co stosować plik robots.txt?

To podstawowe pytanie, jakie warto sobie zadać – zwłaszcza że z respektowaniem zapisów w pliku robots.txt bywa różnie. Odpowiedź jest prosta: zawsze lepsza jest niewielka kontrola nad robotami niż jej brak. A co można dzięki temu zyskać?

Przede wszystkim nie dopuszczamy botów do przeglądania tych sekcji serwisu, do których zaglądać z różnych przyczyn nie powinny, stron nieistotnych z punktu widzenia SEO, a wskazujemy te miejsca, których odwiedziny są jak najbardziej wskazane.

Blokada konkretnych obszarów strony może być istotna z różnych przyczyn:

  • Kwestie bezpieczeństwa – być może po prostu nie chcesz, aby roboty (albo też przypadkowi użytkownicy korzystający później z zasobów zaindeksowanych przez roboty) mogły zbyt łatwo dostać się do sekcji, do których nie powinny mieć dostępu.
  • Zabezpieczenie przed występowaniem duplicate content – jeżeli na stronie istnieje spora ilość wewnętrznie powielonej treści, za pomocą pliku robots.txt można dać wyszukiwarkom sygnał, że tej części witryny nie powinny śledzić.
  • Oszczędność transferu – za pomocą zapisów robots.txt można zablokować dla robotówcałe podkatalogi, strony filtrowania, sortowania lub konkretne rodzaje plików – chociażby folder zawierający grafiki lub ich wysokoformatowe wersje. W przypadku niektórych serwisów oszczędność transferu może być znacząca.
  • Zabezpieczenia contentu przed „wypłynięciem” na zewnątrz – zauważ, że zasugerowane powyżej zabezpieczenie folderu z grafikami w dużym formacie może posłużyć też i temu, aby w wyszukiwarce grafik prezentować jedynie mniejsze wersje. Może to mieć spore znaczenie w przypadku np. banków zdjęć (choć nie tylko).
  • Optymalizacja crawl budgetu – choć wymieniamy go na końcu listy, zdecydowanie nie jest to rzecz błaha. Im większy serwis, tym większy nacisk należy kłaść na optymalizację ścieżek, po których wędrują boty indeksujące wyszukiwarek. Blokując w robots.txt nieistotne dla SEO obszary serwisu, po prostu zwiększasz prawdopodobieństwo, że roboty będą wędrowały tam, gdzie powinny.

Co zawiera plik robots.txt?

Przejdźmy teraz do tego, z czego składa się plik robots.txt. Z definicji powinien to być plik tekstowy umieszczony w głównym katalogu serwisu. Jego główne dyrektywy to user-agent, allow i disallow.

Podstawowe dyrektywy w robots.txt: user-agent, allow i disallow

  • User-agent – definiuje roboty indeksujące, których będą dotyczyły dalsze polecenia. Obowiązuje do kolejnego polecenia User-agent. Gwiazdka * to symbol wszystkich botów. Do najpopularniejszych robotów Google zaliczamy Googlebot, Googlebot Video, Googlebot Images, czy Googlebot News.
  • Disallow – odmowa dostępu do określonych adresów. Użycie Disallow: nie zezwala na dostęp botów wskazanych w User-agent.
  • Allow – zezwala na dostęp do określonych adresów. Zazwyczaj jest używana w połączeniu z Disallow, gdzie po komendzie wykluczenia, możliwe jest doprecyzowanie miejsc, których indeksowanie jest dozwolone.

Warto przy tym pamiętać, że plik robots.txt obsługuje zmienną w postaci gwiazdki (*), która oznacza, że w tym miejscu może się pojawić dowolny ciąg znaków, nieograniczonej długości (również zerowej).

Ścieżki plików, których dotyczy dana komenda, powinny być zawsze określone. Ewentualny brak wypełnienia spowoduje zignorowanie pola.

Dyrektywa sitemap

Oprócz „zaproszeń” i sugerowania omijania katalogów, plik robots.txt może posłużyć także do wskazywania robotom umiejscowienia mapy strony. Służy do tego dyrektywa sitemap, po której umieszcza się pełną ścieżkę mapy. Przykładowa forma zapisu wygląda następująco:

Sitemap: http://www.domena.com/mapastrony.xml

Oczywiście map można wskazać więcej, co może być przydatne w przypadku bardzo rozbudowanych witryn.

Informacje o innych, rzadziej spotykanych dyrektywach znajdziesz w dalszej części tekstu: Pozostałe dyrektywy robots.txt 

Przykładowe zapisy pliku robots.txt

1. Ze względu na brak zadeklarowanej ścieżki w dyrektywie disallow, robots.txt nie blokuje żadnych robotów:

User-agent: *

Disallow:

2. Zakazanie dostępu do katalogu /img/ przez boty Ahrefs:

User-agent: Ahrefsbot

Disallow: /img/

3. Zgoda na odwiedzanie przez roboty całego serwisu wraz z folderem /img/miniatury/ z wyjątkiem folderów /img/ oraz /panel/:

User-agent: *

Allow: /img/miniatury/

Disallow: /img/

Disallow: /panel/

Należy przy tym wszystkim dodać, że same dyrektywy mogą dotyczyć nie tylko całych katalogów, lecz również pojedynczych plików. 

Jak stworzyć robots.txt?

Plik robots.txt jest łatwy do przygotowania. Do stworzenia najlepiej sprawdzi się najprostszy edytor tekstowy, który nie dodaje formatowania, jak np. Microsoft Word. Przed rozpoczęciem przygotowywania robots.txt dobrze jest wygenerować mapę witryny, aby umieścić do niej link na dole. Sam plik robots.txt można stworzyć na kilka sposobów:

  • Ręcznie - jako plik w edytorze tekstowym (Notatnik, Notepad, TextEdit) zapisany z rozszerzeniem .txt.
  • Automatycznie - za pomocą generatorów takich jak Ryte oraz SeoOptimer.
  • Dynamicznie - jako podstrona bezpośrednio w systemie CMS.

Zaletą ostatniego rozwiązania jest automatyczne dodawanie reguł które mają być indeksowane do pliku robots.txt, kiedy aktualizujesz strony w swoim CMS.

Domena może zawierać wyłącznie jeden plik robots.txt. Plik powinien być umieszczony na serwerze w głównym katalogu strony. Dokument z wytycznymi robots.txt można przesłać za pomocą FTP lub innego narzędzia do zarządzania plikami na serwerze.

Wskazówki przy tworzeniu robots.txt.

  • Każda dyrektywa powinna znajdować się osobnej linii
  • Grupuj polecenia tak, żeby user-agent dla konkretnej grupy botów był użyty tylko raz, zbędne powtarzanie sekcji określającej User-agent
  • Zachowaj przejrzystość pliku robots.txt, aby był zrozumiały zarówno dla botów, jak i dla człowieka, któremu przyjdzie jego przeglądnięcie i ewentualne uzupełnienie lub modyfikacja.
  • Chcąc wykluczyć konkretną stronę z dostępu dla robotów, musisz podać jej pełną nazwę.
  • Jeśli chcesz wykluczyć wszystkie zakończone określonym ciągiem (.img, .pdf) dodaj znak "$" na końcu reguły, np. Disallow: /*.pdf$
  • Zwróć uwagę na kolejność dyrektyw.

Problem z interpretacją dyrektyw allow i disallow, może zaistnieć na przykład wtedy, gdy chcesz zakazać robotom wstępu do jakiegoś katalogu, ale zrobić wyjątek dla konkretnego podkatalogu.

Pamiętaj, że dyrektywy dopuszczające powinny znaleźć się powyżej zakazujących – na przykład w ten sposób:

User-agent: *

Allow: /

Allow: /img/miniatury/

Disallow: /img/

User-agent: Ahrefsbot

Disallow: /

User-agent: MJ12bot

Disallow: /

W powyższym przykładzie od razu pokazaliśmy także przypadek, gdy dla niektórych botów zastosowano odrębne reguły – wówczas w ten sposób „prosimy” roboty serwisów Ahrefs i Majestic SEO, żeby nie wędrowały po stronie. 

Testowanie robots.txt

Po przygotowaniu pliku warto sprawdzić, czy robots.txt nie zawiera błędów. Google Search Console zapewnia darmowe narzędzie do testowania, dostępne w Ustawieniach, w zakładce Indeksowanie, robots.txt.

Jeśli plik robots.txt zawiera błędy, wyświetli komunikat “Nie pobrano”. Błędy mogą być spowodowane przez nieprawidłową składnię lub logiczne błędy w regułach. Po ich naprawieniu lub wprowadzeniu ważnych zmiany poproś o ponowne przeskanowanie pliku robots.txt w GSC.

Do testowania robots.txt można wykorzystać również darmowe narzędzia dostępne w sieci, np. Merkle, SiteAnalyzer czy wspomniane wcześniej narzędzie do generowania pliku - Ryte

Błędy w robots.txt i ich konsekwencje

Choć zawartość pliku robots.txt może posłużyć do „dogadania” się z robotami wyszukiwarek, równie dobrze może sprawić, że napytasz biedy swojej stronie. Jak? Wykluczając z wyszukiwania tę zawartość, która w indeksie powinna się pojawić. Efektem może być znaczna utrata widoczności w wynikach wyszukiwania. Zwłaszcza w przypadku rozbudowanych plików robots.txt, posiadających wiele wpisów do różnych podkatalogów, łatwo gdzieś po drodze popełnić błąd i wykluczyć zbyt wiele sekcji strony.

Drugi poważny błąd to objęcie dyrektywą disallow wszystkich obrazków, stylów CSS oraz plików JavaScript. Pozornie może się wydawać, że to dobre posunięcie, rzeczywistość jest jednak nieco inna z dwóch powodów. Po pierwsze, w wielu przypadkach warto znaleźć się w wynikach wyszukiwania grafik (choć oczywiście można tu zakazywać dostępu do np. wersji w większym formacie, o czym wspominaliśmy już wcześniej).

Drugi powód jest jednak bardziej istotny, a jest nim renderowanie strony przez Google Bota. Jeżeli nie dopuścisz bota do plików istotnych dla uzyskania końcowego wyglądu strony, wyrenderuje ją bez nich, co w niektórych przypadkach może sprawić, że z jego punktu widzenia będzie ona niepełna – a to może wpłynąć na ranking.

Czy blokada stron w robots.txt jest wystarczająca?

Niestety nie. Po pierwsze, roboty głównych wyszukiwarek nie zawsze respektują zakazy (nie wspominając już o tym, jak do nich podchodzi część narzędzi). Po drugie, nawet po odczytaniu zakazu Google może wejść na stronę i dodać ją do indeksu, uwzględniając jedynie jej tytuł (TITLE) i adres URL, a całość wzbogacając czasami informacją „W przypadku tej strony informacje nie są dostępne”. Choć roboty mogą faktycznie indeksować URL, nie mogą ani crawlować, ani indeksować zawartości strony.

Nadal jednak jest możliwe trafienie na zablokowaną stronę z poziomu wyszukiwarki, choć to raczej mało prawdopodobne. Gdy chcesz coś wyindeksować, zwróć uwagę, czy nie pociągnie to za sobą efektów ubocznych (patrz przykład z utrudnieniem renderowania strony przez Google Bota).

Meta robots i inne zabezpieczenia przed botami

Jeżeli zależy ci na wyłączeniu konkretnych fragmentów strony z indeksów wyszukiwarek, zawsze możesz dodatkowo wspomóc się znacznikiem meta robots umieszczonym w sekcji <HEAD> poszczególnych podstron:

<meta name="robots" content="noindex, nofollow" />

Nadal nie jest metodą zapewniającą stuprocentowy sukces (a w dodatku jest mniej wygodna), ale stanowi dodatkowy sygnał dla botów.

Co jeżeli chcesz całkowicie zablokować dostęp botom i przypadkowym osobom? W takiej sytuacji zamiast metod biernych, obliczonych na to, że nikt się do danego miejsca nie doklika, znacznie lepiej po prostu objąć daną sekcję strony ochroną za pomocą hasła (chociażby nałożonego za pomocą htaccess).

Teoretycznie można sięgać też po półśrodki, na przykład w postaci zablokowania dostępu dla wywołań z określonych adresów i klas IP (tych używanych przez boty wyszukiwarek), ale w praktyce wystarczyłoby przegapić część adresów i problem dalej by istniał – a to prowadzi nas ponownie do wniosku, że pełnym zabezpieczeniem będzie właśnie wymuszenie autoryzacji.

Robots.txt dla zaawansowanych: co jeszcze warto wiedzieć o REP?

Najważniejsze informacje o robots.txt już znasz. Jeśli chcesz zgłębić informacje o pliku i innych dyrektywach — zapraszamy do kontynuowania artykułu. Wymienione poniżej dyrektywy bywają nieobsługiwane lub ignorowane przez boty, dlatego ich znaczenie w plikach robots.txt jest znikome.

Pozostałe dyrektywy robots.txt

Allow i disallow to niejedyne dyrektywy, które można stosować w pliku robots.txt. Zapoznaj się z rzadziej spotykanymi dyrektywami crawl-deyal, clean-param i host.

Dyrektywa crawl-delay

W przypadku bardzo dużych witryn często pojawia się dylemat – z jednej strony ich właścicielom może zależeć na indeksacji całości, z drugiej nadmierna aktywność botów wyszukiwarek może zużywać całkiem sporo transferu i obciążać serwer ciągle nowymi zapytaniami. Pomysłem na rozwiązanie tego problemu było wprowadzenie do użycia niestandardowej dyrektywy crawl-delay.

Zapis ten służy do informowania robotów, że nie powinny pobierać nowych plików częściej niż co x sekund, co przekłada się na rozciągniecie pracy robota w czasie. Przykładowy zapis to:

User-agent: *

Crawl-delay: 2

– czyli pobieranie kolejnych dokumentów co dwie sekundy.

Warto mieć na względzie, że większość wyszukiwarek dość swobodnie traktuje ten zapis, często po prostu go ignorując. Google przez jakiś czas komunikowało nieistotność tej dyrektywy, by w końcu, w lipcu 2019 roku, oficjalnie ogłosić, że jej nie wspiera. Bing deklaruje, że zapis jest czytany przez BingBota, przy czym jego wartość powinna mieścić się pomiędzy 1 a 30. Dyrektywa teoretycznie jest wspierana także przez Yandex.

Co ciekawe, czeska wyszukiwarka Seznam sugeruje używanie innej dyrektywy, a mianowicie request-rate i przydzielanie jej wartości na zasadzie podania liczby dokumentów w czasie(s jako sekundy, m jako minuty, h jako godziny i d jako dni, za każdy razem bez spacji po liczbie). Przykładem tego rodzaju zapisu może być:

User-agent: SeznamBot

Request-rate: 500/1h

bądź:

User-agent: SeznamBot

Request-rate: 100/20m

Sam Seznam deklaruje, że dyrektywa nie powinna nakazywać wolniejszej indeksacji, niż 1 dokument na każde 10 sekund.

Dyrektywa clean-param

Bardzo ciekawą dyrektywą, niestety obsługiwaną jedynie przez niektóre wyszukiwarki (np. Yandex), jest clean-param. Dyrektywa ta pozwala ignorować konkretne parametry przypisane do adresów we wskazanych ścieżkach.

Jak to wygląda w praktyce? Załóżmy, że w obrębie Twojej strony istnieją adresy:

domena.com/katalog/strona?tlo=1&id=3

domena.com/katalog/strona?tlo=2&id=3

domena.com/katalog/strona?tlo=3&id=3

Co, jeśli zmienna „tlo” modyfikuje jedynie wygląd strony, która cały czas ma tę samą zawartość? W takich przypadkach Yandex proponuje zastosować właśnie parametr clean-param. Odpowiedni zapis może wyglądać tak:

User-agent: Yandex

Clean-param: tlo /katalog/

– co oznacza, że wszystkie trzy adresy podane we wcześniejszym przykładzie będą odczytywane jako:

domena.com/katalog/strona?id=3

Jak widać, ta dyrektywa jest o tyle wygodniejsza, że można ją ograniczyć do konkretnych katalogów.

Dlaczego boty nie zawsze respektują robots.txt? Krótka historia protokołu Robots Exclusion

Robots Exclusion Protocol powstał trzydzieści lat temu, w lutym 1994. Od tego czasu niewiele się w nim zmieniło, jeśli nie liczyć zaistnienia wspomnianych już niestandardowych zapisów. Ponieważ w czasach jego „młodości” na rynku funkcjonowało wiele wyszukiwarek (dość wspomnieć AltaVistę, HotBota, Lycosa, czy InfoSeeka – a lista była przecież znacznie dłuższa), szybko stał się nieoficjalnym standardem. Tu jednak należy wspomnieć, że standardem o tyle nietypowym, że zapis ten tak naprawdę był i jest sugestią, której boty często nie respektują lub respektują ją tylko częściowo.

Co ciekawe, w lipcu 2019 Google – którego boty również nie zawsze w pełni stosują się do dyrektyw zapisanych w plikach robots.txt – zaproponowało, żeby uznać Robots Exclusion Protocol za standard oficjalny. Czy obecnie może to cokolwiek zmienić w sposobie stosowania robots.txt? Teoretycznie nie. Jednak być może spowoduje to dyskusje na temat wprowadzenia nowych zapisów, które mogłyby pomóc w sprawniejszym „sterowaniu” robotami wyszukiwarek.

Jeśli jeszcze czujesz niedosyt wiedzy... możesz zapoznać się z pozostałymi artykułami na temat pozycjonowania stron w naszej Bazie wiedzy.

Artykuł napisany przez Marcina Opolskiego, uaktualniany przez Paulinę Bajorowicz.

  • Autor: Paulina Bajorowicz

    International SEO Specialist

    www.whitepress.com/pl

    Zawodowo od ponad 5 lat związana z SEO i Content Marketingiem. Obecnie odpowiedzialna za pozycjonowanie marki WhitePress® w Polsce i na rynkach zagranicznych. Z pasji fotografka, miłośniczka sztuk wizualnych, entuzjastka kawowych eksperymentów i alternatyw.

  • Autor: Marcin Opolski

    Copywriter

    Pozycjoner pamiętający czasy Infoseeka i copywriter z doświadczeniem dziennikarskim. Prywatnie pasjonat sportów wytrzymałościowych, zwłaszcza tych na dystansach ultra. W czasie wolnym pisuje opowiadania.

Wasze komentarze (1)

Redakcja WhitePress zastrzega sobie prawo usuwania komentarzy obraźliwych dla innych osób, zawierających słowa wulgarne lub nie odnoszących się merytorycznie do tematu obiektu.

Administratorem danych osobowych osób korzystających ze strony internetowej whitepress.com i wszystkich jej podstron (dalej: Serwis) 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 (dalej: RODO) jest wspólnie „WhitePress” Spółka z ograniczoną odpowiedzialnością z siedzibą w Bielsku – Białej przy ul. Legionów 26/28, wpisana do rejestru przedsiębiorców KRS prowadzonego przez Sąd Rejonowy w Bielsku – Białej, VIII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS: 0000651339, NIP: 9372667797, REGON: 243400145 oraz pozostałe spółki z Grupy WhitePress (dalej łącznie: Administrator).

Dokonując zapisu na newsletter wyrażacie Państwo zgodę na przesyłanie informacji handlowych za pomocą środków komunikacji elektronicznej, w tym w szczególności poczty elektronicznej, dotyczących marketingu bezpośredniego usług i towarów oferowanych przez WhitePress sp. z o.o. oraz jej zaufanych partnerów handlowych, zainteresowanych marketingiem własnych towarów lub usług. Podstawą prawną przetwarzania Państwa danych osobowych uzasadniony interes Administratora oraz jego partnerów (art. 6 ust. 1 lit. f RODO).

W każdym momencie przysługuje Państwu możliwość wycofania zgody na przetwarzanie Państwa danych osobowych w celach marketingowych. Więcej informacji na temat przetwarzania oraz podstaw przetwarzania Państwa danych osobowych, w tym przysługujących Państwu uprawnień, znajdziecie Państwo w naszej Polityce prywatności.

Czytaj całość
  • Mikołaj

    Witam! Bardzo dziękuję za rzetelne opracowanie tematu!
    conceptworks.pl
    Zgłoś komentarz

    2023-04-05, 18:31
Polecane artykuły
jak sprawdzić ruch na stronie
Jak sprawdzić ruch na stronie? Darmowe i płatne narzędzia

Jeśli twoja witryna jest widoczna, kampanie marketingowe ruszyły pełną parą, niezbędne jest zrozumienie, ilu użytkowników faktycznie ją odwiedza. Jak sprawdzić ruch na swojej stronie i konkurencji? Dlaczego jest to tak ważne? Poznaj narzędzia analityczne, które umożliwiają zbieranie i analizowanie danych o ruchu. Dzięki temu dostosujesz strategię marketingową w taki sposób, by efektywnie konkurować na rynku i zwiększać swoją przewagę nad rywalami.

duplicate content
Duplicate content - czym jest i jak ją zidentyfikować? Jak radzić sobie z duplikatami na stronie?

Duplicate content występuje, gdy te same lub bardzo podobne teksty pojawiają się w więcej niż jednym miejscu w Internecie. To zjawisko ma negatywny wpływ na SEO, ponieważ wyszukiwarki mogą mieć problemy z określeniem, która strona jest oryginalna, co może prowadzić do obniżenia pozycji w wynikach wyszukiwania i spadku ruchu organicznego. Sprawdź, jak zidentyfikować duplikaty treści i jak sobie z nimi radzić!

PageSpeed Insights
PageSpeed Insights – jak skrócić czas ładowania się strony?

Narzędzi do testowania szybkości strony jest sporo. Fachowcy w tej dziedzinie proponują jednak, by w pierwszej kolejności korzystać z tego, co pochodzi od firmy Google, czyli profesjonalnego narzędzia PageSpeed ​​Insights. Na początek na pewno wystarczy, a co ważne, zapewni dostęp do wiarygodnych informacji. Google PageSpeed Insights diagnozuje wydajność strony i podpowiada rozwiązania w oparciu o dane. Dowiedz się więcej, jakie możliwości oferuje i jak z niego korzystać!