Każda strona o bardziej skomplikowanej strukturze, powinna posiadać poprawnie wdrożony plik robotx.txt zawierający zestaw reguł odpowiadający strategii indeksowania całej domeny. Sprawa wydaje się trudna, jednak plik robots.txt to zestaw prostych reguł, w których będziesz podawać adresy, które chcesz wykluczyć z indeksowania. Poniższy artykuł pomoże Ci zrozumieć jak je używać.

Robots.txt – podstawy

Plik robots.txt jest bardzo ważnym elementem strategii indeksowania stron przez roboty wyszukiwarek internetowych (Google, Yahoo, Bing itd.). Warto więc zapoznać się z podstawowymi informacjami z nim związanymi.

Czym jest plik robots.txt?

Robots.txt, to mały plik zawierający szereg instrukcji dla robotów skanujących Twoją stronę. W pewnym sensie pozwala on (lub zabrania) wejścia na pewne obszary Twojej strony. Dzięki robots.txt jesteś w stanie zablokować dostęp wyszukiwarkom do stron, które nie są ważne z punktu widzenia wyników wyszukiwania.

Co zawiera plik robots.txt?

Plik robots.txt zawiera zestaw instrukcji dla robota. Na podstawie tych instrukcji, robot podejmuje decyzję czy może wejść na daną podstronę (adres URL). Składnia tego pliku dla przykładowej strony używającej WordPress, może wyglądać następująco:

User-agent: *
Disallow: /wp-admin/

Allow: /wp-admin/admin-ajax.php

Powyższa treść oznacza, że robot nie może wchodzić na strony zawierające /wp-admin/ w adresie URL. Dzięki temu robot nawet nie próbuje odwiedzać adresów, które są związane z panelem administracyjnym WordPress.

Ostatnia reguła oznacza wyjątek od poprzedniej, robot ma zezwolenie używanie zasobów przesyłanych przez plik admin-ajax.php, który może przesyłać pewne dane w sposób dynamiczny.

Dlaczego plik robots.txt jest potrzebny?

Plik robots.txt jest potrzebny przede wszystkim w dużych i skomplikowanych stronach, które zawierają dużo dynamicznej treści. Skanowanie serwisu posiadającego miliony podstron może zajmować wiele miesięcy, a nie zawsze istnieje potrzeba, by Google zaglądało na każdą podstronę. Ograniczenia związane z dostępem pomogą zoptymalizować tzw. crawl budget. Dzięki temu Google częściej skanuje ważne z punktu widzenia SEO podstrony, pomijając te nieistotne.

Weźmy na przykład część pliku robots.txt strony octamedia.pl:

User-agent: *
Disallow: /raporty/

Powyższy zapis oznacza, że nie pozwalamy wszystkim robotom skanować podstron z raportami, które generujemy dla różnych stron. Dzięki niemu robot nie zobaczy żadnego raportu, który znajduje się pod adresem:
https://octamedia.pl/raporty/dowolny-adres.html

Gdzie powinien znajdować się plikrobots.txt?

Plik robots.txt powinien zawsze pojawić się pod adresem Twojadomena.pl/robots.txt. Aby sprawdzić, czy Twoja strona go posiada, wystarczy, że w pasku adresu, do własnej domeny dopiszesz /robots.txt. W naszej domenie plik ten znajduje się pod poniższym adresem:
https://octamedia.pl/robots.txt

Jeśli Twoja domena nie posiada pliku robots.txt pod podanym wyżej adresem, będziesz musiał zadbać o jego dodanie, oczywiście jeśli istnieje taka potrzeba.

Zawartość pliku robots.txt

Plik robots.txt może zawierać kilka ważnych elementów, które są niezbędne dla jego funkcjonowania, oto one:

Dyrektywy Allow i Disallow

Dyrektywy Allow oraz Disallow to instrukcje dla robota, mówiące o tym czy może wejść na dany adres URL i go zeskanować. Domyślnie każdy robot ma pozwolenie na odwiedzanie wszystkich adresów URL, aby zablokować dostęp do pewnego obszaru, należy użyć dyrektywy Disallow w następujący sposób:

User-agent: *
Disallow: /wp-admin/

Dwie powyższe linijki umieszczone w pliku robots.txt blokują dostęp robotom do wszystkich adresów URL zaczynających się od /wp-admin/, dzięki temu roboty nie będą skanować panelu administracyjnego WordPress.

Dyrektywa Allow pozwala na skanowanie pewnych ustalonych adresów URL. Po co jej używać jeśli domyślnie, robot ma zawsze pozwolenie na wejście na stronę? Dzięki niej można na przykład dodawać wyjątki.

Reguła blokująca, którą przed chwilą zobaczyłeś, ma za zadanie zablokować robotom dostępu do katalogu /wp-admin/. Jednak w tym katalogu, znajduje się plik, do którego robot powinien mieć dostęp. Dlatego poniżej, możesz dodać wyjątek, który pozwala skanować jeden plik z zablokowanego wcześniej katalogu:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Drugą opcją użycia Allow jest na przykład blokowanie dostępu do wszystkim robotom, oprócz konkretnego, w tym przypadku, robota Google:

User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /

Czym jest user-agent?

Plik robots.txt może działać różnie dla różnych robotów skanujących, dlatego też można w nim instrukcje osobne instrukcje dla różnych systemów. Każdy, kto łączy się z Twoją stroną, robi to za pomocą jakiegoś programu. Najczęściej jest to przeglądarka internetowa (Chrome, Firefox, itd.), każda z aplikacji ma swoją „sytemową” nazwę i jest nią właśnie User-Agent.

Roboty, podobnie jak wyszukiwarki mają swoje unikalne oznaczenia, dzięki czemu możemy je identyfikować. Oto przykładowe user-agent’y, robotów Google:

  • Google Bot – Googlebot/2.1
  • Googlebot News – Googlebot-News
  • Googlebot Images – Googlebot-Image/1.0
  • Googlebot Video – Googlebot-Video/1.0
  • Google Adsense – Mediapartners-Google
  • AdsBot-Google – AdsBot-Google
  • Google app crawler – AdsBot-Google-Mobile-Apps

Wskazanie lokalizacji pliku z mapą strony w formacie xml

Warto wiedzeć, że plik robots.txt jest jednym ze sposobów na wskazanie adresu URL mapy strony w formacie XML. Dzięki niemu możesz wskazać lokalizację pliku sitemap.xml. Aby to zrobić, wystarczy dodać jedną linijkę w pliku robots.txt:

Sitemap: https://twojadomena.pl/folder/plik-sitemapy.xml

Generowanie pliku robots.txt

Istnieje kilka sposobów na stworzenie pliku robots.txt, w zależności od sytuacji i Twoich potrzeb, możesz wykorzystać jedną z nich.

Statyczny plik robots.txt

Tworzenie pliku ręcznie to najpopularniejsza metoda. Polega ona na utworzeniu zwykłego pliku z rozszerzeniem txt w standardowy sposób oraz umieszczenie go na serwerze. Wszystkie reguły oraz przypisane do nich user-agent’y musisz wykonać ręcznie, dlatego ta metoda wymaga znajomości wszystkich elementów związanych z działaniem pliku.

Genratory pliku robots.txt

Drugą opcją tworzenia pliku robots.txt są generatory. Dzięki nim nie musisz znać dokładnej składni pliku, jedyne co musisz wiedzieć, to jakie adresy i/lub roboty chcesz zablokować. Ewentualnie, będziesz mógł też podać link do mapy strony w formacie XML.

Dynamiczny robots.txt

Trzecim sposobem na tworzenie pliku robots.txt, jest generowanie go za pomocą aplikacji/strony, której ten plik dotyczy. Dla Google nie ma znaczenia, czy robots.txt to zwykły plik znajdujący się na serwerze, czy podstrona dostępna pod adresem domena.pl/robots.txt. Daje to możliwości generowania takie pliku automatycznie z poziomu systemu CMS.

Co daje taka opcja? Plik robots.txt może być generowany i aktualizowany w zależności od ustawień indeksowania poszczególnych sekcji strony. Jeśli na przykład, wyłączysz z indeksowania część podstron, Twój system może automatycznie dodać do pliku robots.txt odpowiednią regułę. Dzięki temu nie musisz w ogóle pamiętać o jego edycji.

Testowanie pliku robots.txt

Plik robots.txt można testować w Google Search Console, a właściwie w jej starszej wersji. Aby to zrobić, należy najpierw zalogować się do GSC, a następnie kliknąć poniższy link:
https://www.google.com/webmasters/tools/robots-testing-tool

Dzięki narzędziu do testowania pliku robotx.txt jesteś w stanie sprawdzić, czy Google zastosuje się do wszystkich reguł w nim zapisanych, dla pojedynczego adresu URL. Możesz dowolnie wpisywać potencjalne adresy URL i sprawdzać, czy będą odwiedzane przez robota, czy nie. Narzędzie to będzie bardzo pomocne przy dużej ilości skomplikowanych reguł, na przykład w sklepach internetowych.

Przykłady reguł w robots.txt

Blokada wszystkich robotów dla całej strony. Przydatne w wersjach deweloperskich oraz kopiach stron.

User-agent: *
Disallow: /

Blokada jednej sekcji strony:

User-agent: *
Disallow: /sekcja/

Blokada jednej sekcji z wyjątkiem jednego pliku:

User-agent: *
Disallow: /sekcja/
Allow: /sekcja/plik.html

Blokada jednego pliku:

User-agent: *
Disallow: /zablokowany-plik.pdf

Blokada konkretnego rozszerzenia:

User-agent: *
Disallow: /*.pdf$

Blokada wszystkich adresów zawierających jakiekolwiek parametry:

User-agent: Googlebot
Disallow: /*?

Robots.txt – podsumowanie

Plik robots.txt to ważny element strategii indeksowania strony, zwłaszcza jeśli jest ona rozbudowana, ma wiele adresów URL, które nie powinny być indeksowane. Warto zadbać o dobre zaplanowanie wszystkich reguł w nim zawartych, pozwoli to zapanować nad skanowaniem strony przez roboty indeksujące.