Plik robots.txt to jeden z ważniejszych elementów każdej strony internetowej. Czym zatem dokładnie jest i jak działa? Co się w nim znajduje i jak z niego korzystać? Na te i inne pytania znajdziesz odpowiedzi w tym artykule.
Czego dowiesz się z artykułu?
Czym jest robots.txt?
Jak wskazuje na to samo rozszerzenie, robots.txt to plik tekstowy, dlatego nie zawiera on znaczników HTML. Znajduje się na serwerze danej witryny lub funkcjonuje jako osobna podstrona. Nie jest jednak powiązany z innymi adresami na stronie, dlatego użytkownicy na niego nie trafiają podczas standardowej wizyty.
W przypadku naszej strony plik robots.txt znajduje się pod adresem smartbuzz.pl/robots.txt:
Każdej subdomenie (np. blog.xyz.pl, forum.xyz.pl) przydzielany jest osobny robots.txt.
Jak działa plik robots.txt?
Omawiany plik informuje boty odwiedzające stronę, do których adresów URL, folderów czy konkretnych plików mają przydzielony lub zabroniony dostęp. Warto jednak zaznaczyć, że są to raczej instrukcje, a nie twarde wymogi, jako że robots.txt nie może wymusić egzekwowania opisanych zaleceń.
W praktyce „dobre boty”, jak roboty indeksujące Google, przestrzegają tych wymogów, jako że jest to nawet w ich „interesie” – dzięki tym instrukcjom mogą oszczędzić swoje zasoby. „Złe boty” (np. gromadzące dane kontaktowe web scrapery) zignorują dyrektywy z pliku robots.txt albo wykorzystają zawarte tam informacje do znalezienia innych sekcji strony internetowej.
Dlaczego robots.txt jest tak ważny w SEO?
Jeśli chodzi o pozycjonowanie stron internetowych, plik robots.txt ma duże znaczenie. Oto 3 główne zastosowania:
Optymalizacja budżetu crawlingu
Crawl budget to liczba stron, które Google w określonym czasie jest w stanie zaindeksować. Wyszukiwarka sama przydziela ów budżet na podstawie wielkości, jakości i popularności witryny.
Jeśli nie skonfigurujesz odpowiednio strony, mając na uwadze jej crawl budget, napotkasz liczne problemy. Przykładowo, gdy na stronie pojawiają się nowe adresy URL, Google nie będzie w stanie odpowiednio szybko ich wykryć i zaindeksować. Gdy z kolei aktualizujesz starsze treści, wyszukiwarka nie odzwierciedli szybko wprowadzonych zmian w wynikach wyszukiwania.
Za pomocą komend w robots.txt możesz jednak wykluczyć z crawlingu i indeksowania określone strony, dzięki czemu Google będzie w stanie wykorzystać swoje zasoby w przypadku treści, którym należy nadać większy priorytet.
Przeczytaj także:
Czym jest crawl budget - indeksowanie w pigułceBlokada zduplikowanych i niepublicznych stron
Na wielu witrynach znajdują się podstrony, które muszą istnieć, jednak nie powinny być widoczne w wynikach wyszukiwania. Oto kilka przykładów:
- strony wyników wyszukiwania zwracane przez wewnętrzną wyszukiwarkę na blogu,
- strony logowania,
- sekcja administracyjna,
- strony testowe.
Zawartość robots.txt
Co znajduje się w pliku robots.txt? W każdym z nich można znaleźć przynajmniej jedną grupę, czyli zestaw reguł. Każda grupa zaczyna się z kolei od wiersza User-agent, co pozwala określić, do jakiego podmiotu odnoszą się zamieszczone poniżej reguły. Zapis jest przetwarzany od góry do dołu.
Przyjrzyjmy się bliżej poszczególnym elementom i ich strukturze.
User-agent
Sekcja ta określa, do jakiego bota odnosi się ogólnie cała dyrektywa. Oto przykład:
User-agent: Googlebot
Disallow: /blog/search/
W wyniku powyższej instrukcji Google nie będzie dokonywać crawlingu wyników zwracanych przez wewnętrzną wyszukiwarkę na blogu strony.
Warto pamiętać, że jeśli chcesz wydać zezwolenie lub jego brak w przypadku wybranych robotów, musisz dokładnie określić każdy user-agent – przykładowo w przypadku Googlebota można wyróżnić m.in. Googlebot-Image oraz Googlebot-News.
Innym wyjściem jest zastosowanie wieloznacznika, czyli (*):
User-agent: *
Powyższe oznaczenie sprawia, że wszelkie następnie zawarte komendy będą miały zastosowanie do wszystkich botów odwiedzających witrynę.
Disallow/allow
Druga linia w omawianej strukturze bloku to disallow lub allow. Jeśli zajdzie taka potrzeba, może być ich kilka.
Jeśli chcesz, aby roboty Google w ogóle nie miały dostępu do strony, należy wprowadzić pustą dyrektywę. Wygląda ona następująco:
User-agent: Googlebot
Disallow: /
Jeśli jednak chciałbyś udzielić dostępu do całej witryny, komenda wyglądałaby następująco:
User-agent: Googlebot
Allow: /
To, czy allow i disallow zostaną zapisane dużą, czy małą literą, nie ma znaczenia. Na formę należy już jednak zwrócić uwagę w przypadku ścieżek, gdyż /blog/ nie zostanie potraktowane tak samo jak /Blog/.
Allow
Trzecia linia w pliku robots.txt pozwala określić, czy boty mogą dokonać crawlingu danego podkatalogu lub konkretnej strony, nawet jeśli ogólnie dostęp do całego katalogu został wzbroniony poprzednią komendą.
Rozważmy następujący przykład:
User-agent: Googlebot
Disallow: /blog
Allow: /blog/poradnik-zakupowy
W wyniku tego zestawu komend, Google nie otrzyma dostępu do całego bloga z wyjątkiem artykułu „poradnik-zakupowy”.
Lokalizacja sitemapy
Plik robots.txt może także pomóc robotom wyszukiwarek internetowych w znalezieniu XML sitemapy. Znajduje się w niej lista stron, które powinny zostać poddane crawlingowi i indeksowaniu.
Jej adres zwykle podaje się na samym końcu lub na początku robots.txt:
User-agent: Googlebot
Disallow: /blog
Allow: /blog/poradnik-zakupowy
Sitemap: https://xyz.pl/sitemap.xml
Crawl-delay
Dyrektywa crawl-delay pozwala wyrazić w sekundach, jakie opóźnienie powinno nastąpić w przypadku crawlingu. Pozwala to ograniczyć obciążenie serwera.
Omawiana komenda nie jest już jednak obsługiwana przez Google – limity dotyczące crawlingu (lub też szybkości indeksowania) należy ustawić poprzez Google Search Console. Wspierają ją natomiast choćby Bing i Yandex.
Oto przykład:
User-agent: *
Crawl-delay: 10
Powyższa dyrektywa oznacza, że wszystkie boty po dokonaniu jednej czynności związanej z crawlingiem, odczekają 10 sekund.
Noindex
Plik robots.txt może poinformować, jakie sekcje strony powinny być poddane crawlingowi, ale nie jest w stanie określić, które adresy mają być indeksowane i pokazywane w wynikach wyszukiwania.
Z tego powodu niektórzy specjaliści SEO dodawali zalecenie noindex, jednak twórcy Google potwierdzili, że ich wyszukiwarka go nie obsługuje. Zamiast niego należy korzystać z meta tagu robots noindex, który zamieszcza się w kodzie HTML strony, a nie w pliku robots.txt.
Praktyczne przykłady zastosowania robots.txt
Skoro omówiliśmy strukturę plików robots.txt, przyjrzyjmy się jeszcze kilku przykładom tego, do czego można je zastosować.
-
Zablokowanie dostępu do różnych folderów w przypadku różnych botów
User-agent: *
Disallow: /FAQ/
User-agent: Bing
Disallow: /images/
User-agent: Google
Disallow: /backup/
-
Zezwolenie na dostęp tylko jednemu botowi
User-agent: Googlebot-Image
Allow: /
User-agent: *
Disallow: /
-
Zakaz indeksowania jednego pliku graficznego skierowany do jednego bota
User-agent: Googlebot-Image
Disallow: /obrazy/test1.jpg
-
Zakaz indeksowania wszystkich plików .gif skierowany do wszystkich botów
User-agent: *
Disallow: /*.gif$
-
Zakaz indeksowania określonej strony skierowany do wszystkich botów
User-agent: *
Disallow: /wersja_testowa.html
Plik robots.txt – jak go stworzyć?
Istnieją 3 główne sposoby na przygotowanie pliku robots.txt. Omówmy je bliżej.
1. Dynamiczny plik robots.txt
Z punktu widzenia Google nie jest ważne, czy robots.txt znajduje się na serwerze, czy jest to osobna podstrona dostępna pod odpowiednim adresem. Mając to na uwadze, omawiany plik można skonfigurować tak, aby jego zawartość była dynamicznie generowana przez CMS.
Jest to bardzo korzystne rozwiązanie, gdyż oszczędza mnóstwo czasu i pozwala uniknąć błędów. Jeśli przykładowo zdecydujesz się zamknąć dostęp do poszczególnych sekcji strony w przypadku wybranych botów, CMS automatycznie doda do robots.txt odpowiednie reguły.
2. Statyczny plik robots.txt
W praktyce najczęściej wykorzystywana metoda. W jej przypadku plik robots.txt jest umieszczany na serwerze. Cała podstawowa składnia, jak i wszelkie zmiany muszą być wykonane ręcznie, dlatego stworzenie pliku robots.txt w ten sposób oraz jego obsługiwanie wymaga odpowiednich umiejętności.
3. Plik robots.txt stworzony za pomocą generatorów
W sieci dostępnych jest wiele generatorów robots.txt. W przypadku popularnych CMS-ów można znaleźć także mnóstwo stworzonych wyłącznie z myślą o danej platformie. Aby wygenerować plik robots.txt za pomocą tego typu narzędzi, wystarczy podać im listę adresów i botów do wykluczenia – stworzeniem całej struktury oraz zorganizowaniem jej w odpowiedni sposób zajmą się już same.
Jak przetestować plik robots.txt?
Przed dokonaniem testu upewnij się, że robots.txt jest w ogóle dostępny. W tym celu wprowadź jego adres w wyszukiwarkę lub znajdź go na serwerze.
Dostępne są 3 główne metody sprawdzenia poprawności robots.txt:
- Tester pliku robots.txt – proste i w miarę przystępne narzędzie.
- Biblioteka robots.txt – dokładniejsza metoda, która wymaga umiejętności technicznych.
- Screaming Frog – narzędzie kojarzące się głównie z crawlingiem strony.
Innym wyjściem jest audyt SEO stron www – w ramach jego realizacji dokładnej analizie poddaje się m.in. właśnie plik robots.txt. Dzięki temu jego poprawność i działanie zostaną przeanalizowane przez doświadczonych specjalistów.
Robots.txt – 4 dodatkowe porady
O czym warto pamiętać w kontekście pliku robots.txt i jego obsługi? Omówmy kilka kwestii:
-
Lokalizacja
Plik robots.txt musi znajdować się w głównym katalogu witryny, aby był w stanie kontrolować jej wszystkie adresy URL.
Przykładowo w przypadku strony https://www.xyz.pl poprawna lokalizacja pliku to: https://www.xyz.pl/robots.txt. Z kolei adres https://www.xyz.pl/kategorie/robots.txt jest błędny.
-
Bezpieczeństwo
Plik robots.txt jest zawsze publicznie dostępny, a zawarte w nim adresy URL mogą być przetworzone przez boty, które nie respektują zamieszczonych dyrektyw. Nie wykorzystuj go zatem do tego, aby blokować dostęp do treści prywatnych.
-
Przejrzystość
Boty ignorują wszelkie treści, które zaczynają się od znaku (#). Dlatego warto wykorzystać to oznaczenie do wprowadzania w pliku komentarzy. Oto przykład:
User-agent: Googlebot
#Konieczna aktualizacja
Disallow: /blog/
Poszczególne dyrektywy powinny także znajdować się w osobnych liniach – w przeciwnym razie boty nie będą w stanie ich przeczytać.
Jednym z niepotrzebnych nawyków jest także zbędne powtarzanie sekcji określającej User-agent. Taki zapis nie uniemożliwi analizy zawartości pliku, ale prowadzi do gorszej przejrzystości i zwiększa ryzyko popełnienia błędów w strukturze.
-
Dużą czy małą literą?
W kontekście zapisu przypomnijmy jeszcze raz, że:
- nazwa robots.txt – zapis ma znaczenie (prawidłowa postać to tylko robots.txt, a nie Robots.txt lub robots.TXT);
- allow i disallow – zapis nie ma znaczenia (prawidłowe formy to zarówno allow/Allow, jak i disallow/Disallow);
- ścieżki/pliki określane w regułach – zapis ma znaczenie (pies.jpg to nie to samo, co PIES.jpg).
Podsumowanie
Plik robots.txt ma duże znaczenie, jeśli chodzi o funkcjonowanie strony internetowej. Warto zatem poświęcić mu odpowiednią uwagę. Jeśli potrzebujesz pomocy w tym zakresie, przydatne mogą się okazać konsultacje SEO ze specjalistą.