Plik robots.txt to jeden z najmniejszych i jednocześnie najistotniejszych plików znajdujących się na serwerze strony, którego ustawienia niebagatelnie wpływają na pozycjonowanie. Polecenia zapisane w pliku służą do zarządzania procesem indeksowania i crawlowania przeprowadzonym przez wyszukiwarki internetowe. Poszczególne komendy mogą wpływać na budżet indeksowania (crawl budget), co z kolei przełoży się także na stopień zużycia danych serwera i dostępność strony. W tym artykule przyjrzymy się bliżej zarówno tym podstawowym, jak i bardziej zaawansowanym sposobom konfigurowania pliku robots.txt z myślą o różnych celach związanych z pozycjonowaniem!
Plik robots.txt – mały, ale wielki dla pozycjonowania
Robots.txt to niewielki plik tekstowy, który został opracowany już w 1994 roku. Początkowo standard ten był używany w latach 90. w celu złagodzenia przeciążenia serwera. Pomimo tego, że ma niewielkie wymiary, a najczęściej składa się jedynie z kilku wierszy komend, ma on ogromne znaczenie dla pozycjonowanie. Dalszy rozwój robots.txt wiąże się zresztą bezpośrednio z premierą pierwszych wyszukiwarek internetowych, które zaczęły w sposób bardziej zorganizowany crawlować strony internetowe. Czym jest i jak działa plik robots.txt?
Niewielki plik robots.txt służy do implementacji protokołu wykluczenia robotów i wskazywania odwiedzającym crawlerom internetowym i innym botom internetowym, które części witryny mogą odwiedzać. W formie pliku tekstowego robots.txt umieszczony jest w głównym katalogu strony internetowej. W gruncie rzeczy robots.txt to drogowskaz dla wyszukiwarek i botów pokazujący, które części strony są dozwolone. Komendy zawarte w pliku kontrolują to, które części witryny mogą być przeglądane przez roboty wyszukiwarek. Wpisując odpowiednie komendy, można wykluczyć indeksowanie, a nawet przeglądanie strony przez wszystkie lub tylko wybrane wyszukiwarki. W praktyce jednak zastosowanie pliku robots.txt wykracza poza zwykłe komendy związane z ograniczeniem przeglądania / indeksowania. Poniżej krok po kroku prześledzimy wszystkie najpopularniejsze zastosowania, które wciąż są niezwykle ważne dla SEO.
Podstawowe polecenia pliku robots.txt
Polecenia w pliku robots.txt mają fundamentalne znaczenie dla SEO, ponieważ określają, jak mają zachowywać się boty wyszukiwarek, które odwiedzają witrynę. W pliku mogą zawierać się różne rodzaje komend. Najważniejsze, podstawowe kategorie to:
- user-agent – polecenie określa, do którego bota będzie odnosić się dana reguła, np. Googlebota, bota wyszukiwarki Bing itd.,
- disallow – komenda blokująca dostęp botom do wskazanych obszarów strony,
- allow – komenda zapewniająca dostęp do konkretnych zasobów,
- sitemap – informuje roboty o lokalizacji mapy strony, co ułatwia jej indeksowanie.
Nawet w obrębie tych podstawowych komend istnieje kilka niuansów. Przykładem mogą być komendy allow i disallow, dzięki którym właściciel strony może kontrolować, które elementy witryny będą przeglądane przez boty, a które nie. Warto pamiętać, że w przypadku braku odpowiedniej komendy w pliku robots.txt boty traktują stronę tak, jakby domyślnie była ustawiona komenda allow.
Ograniczenia dostępu do poszczególnych części witryny mogą być jednak precyzyjnie określone. W przypadku, gdy folder nadrzędny strony będzie opatrzony komendą disallow, a któryś z folderów podrzędnych – allow, boty będą mogły przeglądać tylko ten ostatni folder. Zasada ta przydaje się zwłaszcza wtedy, gdy mamy do czynienia z rozległą stroną bądź taką, której tylko niektóre elementy mają być ukryte dla wyszukiwarek.
Zarządzanie budżetem indeksowania
Robots.txt jest głównym narzędziem wykorzystywanym do zarządzania budżetem indeksowania. Służy do ograniczania zasobów, które wyszukiwarka ma na bieżąco skanować. W przypadku witryn o dużej liczbie podstron, np. sklepów e-commerce, wiele stron z punktu widzenia SEO nie powinno być indeksowanych i przeszukiwanych. Dotyczy to m.in. stron z wynikami wewnętrznych wyszukiwań, strony koszyka, strony logowania itd. Na regularnym przeglądaniu takich podstron przez boty wyszukiwarek można sporo stracić. Budżet crawlowania (crawl budget) nie jest bowiem nieskończony. Jeśli wyszukiwarka przegląda x podstron, w tym strony zbędne, może niestety pomijać te, które faktycznie powinny być indeksowane z perspektywy SEO.
Do zarządzania budżetem crawlowania mogą służyć wspomniane już komendy allow i disallow. W przypadku prostej strony internetowej treść pliku robots.txt może wyglądać następująco:
User-agent: *
Disallow: /private/
Allow: /private/public.html
Sitemap: https://www.example.com/sitemap.xml
W powyższym przykładzie wszystkie boty wyszukiwarek mają zablokowany dostęp do katalogu private. Folder public.html, stanowiący podstronę private, jest jednak dostępny. Dodatkowo plik zawiera ścieżkę do mapy strony, co ułatwia robotom wyszukiwarek szybkie znalezienie wszystkich ważnych podstron.
Optymalizacja budżetu indeksowania przez zablokowanie dostępu do poszczególnych stron w pliku robots.txt umożliwi robotom wyszukiwarek skupienie się na innych podstronach. Gdy boty skanują wiele niepotrzebnych podstron, marnują w ten sposób czas i cenne zasoby, a co za tym idzie – może zmniejszać się także szansa na to, że nowe treści będą odpowiednio szybko zaindeksowane.
W praktyce więc to, jak używać pliku robots.txt, zależeć będzie od indywidualnych celów związanych z SEO. Z jego pomocą możemy m.in.:
- zarządzać dostępem do zasobów,
- blokować dostęp do konkretnych podstron i katalogów,
- wykluczać elementy strony, które nie powinny pojawiać się w wynikach wyszukiwania,
- pośrednio wpływać na zwiększenie szybkości ładowania się strony,
- wpływać na ochronę prywatności i kluczowych danych.
Czy plik robots.txt jest niezbędny?
Pomimo ograniczonej liczby komend plik robots.txt jest w dużym stopniu niezastąpiony. Aby jednak cieszyć się z możliwości, które oferuje w zakresie zarządzania budżetem, konieczna jest prawidłowa konfiguracja. W przeciwnym razie można napotkać wiele problemów, włącznie z problemem związanym z niepożądanym brakiem widoczności strony w Google i innych wyszukiwarkach.
Zakłada się, że podstawowy plik robots.txt powinien składać się z co najmniej dwóch komend: user-agent i disallow. Przykład treści w takim pliku wyglądać może następująco:
User-agent: *
Disallow: /login/
Symbol gwiazdki przy komendzie user-agent oznacza, że wszystkie boty wyszukiwarek są dozwolone w przypadku takiej strony. Komenda disallow dla sekcji login oznacza, że boty nie powinny skanować sekcji logowania. W praktyce jednak usunięcie pozycji disallow spowoduje po prostu to, że wyszukiwarki będą również przeglądały stronę logowania. Usunięcie pozycji user-agent również nie przysporzy dodatkowych zmian – domyślnie bowiem brak komendy oznacza, że wyszukiwarki mogą skanować stronę, a więc efekt będzie identyczny. Można więc dojść do wniosku, że w przypadku, kiedy nie chcemy w żadnym stopniu ograniczać botów wyszukiwarek, plik robots.txt jest zbędny. Przekonanie to jest jednak częściowo nietrafne, ponieważ w takiej sytuacji możemy narażać się na informowanie o błędach, np. w Google Analytics czy Bing Webmaster Tools. Nie wpłyną one na jakość strony, ale z pewnością nie są wygodne.
Tworzenie i konfiguracja pliku robots.txt krok po kroku
Plik robots.txt warto stworzyć tak, aby zawierał podstawowe reguły, które będą sprzyjały ochronie prywatnych folderów, jeśli takie są oraz będą zgodne z celami SEO. Co istotne, możemy stworzyć go na kilka różnych sposobów. Kiedyś, gdy strony internetowe oparte o CMS nie były tak popularne, a głównymi technologiami były po prostu HTML i PHP, plik robots.txt tworzono w zwykłym dokumencie tekstowym, np. notatniku. Gotowy plik należało “wrzucić” na serwer pod nazwą “robots.txt” (widoczność rozszerzenia pliku ma znaczenie). Plik powinien być zapisany w głównym katalogu witryny, tj. nazwadomeny .pl/robots.txt.
Jednak obecnie pliki robots.txt są automatycznie tworzone przez systemy zarządzania treścią (CMS), takie jak WordPress. Pomimo tego, że stopniowo spada popularność WordPressa, wciąż jest to najchętniej wybierany system CMS. Co więcej, konfiguracja robots.txt w WordPress może być jeszcze bardziej intuicyjna, jeśli korzystamy z dedykowanych wtyczek. Cały proces ogranicza się wówczas do następujących kroków:
- Wybór i instalacja wtyczki WordPress – do najpopularniejszych należą m.in. Yoast SEO, All in One SEO i Rank Math.
- Dostęp do ustawień – w panelu administracyjnym WP należy wybrać ustawienia danej wtyczki.
- Edycja komend pliku robots.txt – w ustawieniach należy znaleźć sekcję związaną z indeksowaniem i wyświetlaniem stron przez wyszukiwarki. W przypadku Yoast SEO (w zależności od wersji wtyczki) ustawienia te dostępne są w sekcji Narzędzia -> Edycja pliku -> robots.txt. Dla All in One SEO ścieżka wygląda podobnie: All in One SEO -> Ustawienia -> Wtyczka Robots.txt.
- Modyfikacja reguł – w zależności od wtyczki można zaznaczyć wybrane opcje, które spowodują automatyczne wpisanie odpowiedniej reguły do pliku robots.txt lub w polu tekstowym wpisać dowolne reguły.
- Zapisanie zmian – na koniec oczywiście należy zapisać wszystkie zmiany. Zmieniony plik robots.txt możemy zobaczyć po ponownym załadowaniu podstrony, domyślnie nazwadomeny .pl/robots.txt.
Blokowanie parametrów zapytań i zarządzanie zasobami
Robots.txt umożliwia skuteczne zarządzanie dynamicznymi parametrami strony. Wiele osób zapomina o tym, szukając dedykowanych wtyczek do zarządzania stronami, które są bogate w podstrony filtrowania produktów i inne dynamiczne elementy. Podstrony z dynamicznymi parametrami, takimi jak wyniki wyszukiwania wewnętrznego lub strony filtrowania produktów, nie powinny być indeksowane ze względu na to, że zabierają potencjał pozwalający na zaindeksowanie innych, bardziej wartościowych podstron.
Klasycznym przykładem są oczywiście sklepy internetowe. Zapisywanie różnych kombinacji filtrów sprawia, że de facto indeksowane są powielone wartości treści. Aby temu zapobiec, można skorzystać właśnie z dobrodziejstw oferowanych przez plik robots.txt. Wystarczy zastosować poniższe komendy:
User-agent: *
Disallow: *sortby=*
Disallow: *color=*
Disallow: *price=*
Powyższe reguły sprawiają, że blokowane będą wybrane parametry. Oznacza to, że adresy URL, które zawierają w dowolnej formie którykolwiek z wyszczególnionych parametrów, nie będą mogły być indeksowane w wyszukiwarce. Sprzyja to również ograniczeniu ryzyka związanego z indeksowaniem zduplikowanych wersji strony.
W pliku robots.txt można ustawić również komendy dotyczące rodzaju wyświetlanych plików. Istnieje prosty sposób na to, aby ograniczyć możliwość przeglądania i indeksowania jakichkolwiek rodzajów plików przez roboty wyszukiwarek. Prostym przykładem będzie poniższa komenda:
User-agent: *
Disallow: /*.pdf$
Dzięki temu poleceniu wszystkie pliki z rozszerzeniem .pdf dostępne na stronie nie będą indeksowane przez wyszukiwarki. Jeśli witryna zawiera wiele plików PDF, które nie mają bezpośredniej wartości dla SEO, warto jest zablokować, aby nie oszczędzić budżet indeksowania. Oczywiście zamiast .pdf można wybrać dowolne inne rozszerzenie. Dzięki temu możliwe jest wykluczenie dowolnych plików, kierując się, przykładowo, ich rozmiarem czy ochroną prywatności.
Możliwa jest jednak sytuacja, kiedy ogólnie pragnie się wykluczyć podstrony z danym typem plików z indeksowania, ale konieczne jest dopuszczenie jednego bądź dwóch. W takiej sytuacji w robots.txt wystarczy dodać wyjątek:
User-agent: *
Disallow: /wp-content/uploads/*.pdf$
Allow: /wp-content/uploads/2024/10/allowed-document.pdf$
W ten sposób blokujemy dostęp do wszystkich plików z rozszerzeniem .pdf, ale dopuszczamy roboty do jednego konkretne pliku we wskazanej ścieżce dostępu.
Kiedy wykonywać zmiany w robots.txt?
Przykłady konfiguracji pliku robots.txt z użyciem różnych komend pokazują, jak wszechstronne może być to narzędzie. Za pomocą wprowadzenia prostej linijki polecenia możemy dokładnie określić, jaki rodzaj zasobów ma nie być indeksowany w wyszukiwarkach. Ze względu na to, że zmiany w robots.txt są zawsze ważniejsze od innych poleceń w obrębie HTML, działania te zawsze powinny być skuteczne. Najlepiej sięgnąć po nie wtedy, gdy naszym celem jest:
- Ochrona budżetu indeksowania (crawl budget) – wyszukiwarki mają ograniczoną liczbę zasobów przeznaczonych na indeksowanie witryny. Stosowanie ograniczeń poprzez komendy zawarte w pliku robots.txt sprawi, że wyszukiwarki skupią się na tych rodzaj podstron, które uznajemy za mające większy potencjał dla SEO i użytkowników odwiedzających witrynę.
- Unikanie problemów z duplikacją treści – czasami ta sama treść może być dostępna pod różnymi adresami URL. Dzieje się tak m.in. w przypadku filtrowania wyników wyszukiwania onsite czy stosowania różnych filtrów dynamicznych dla produktów dostępnych w sklepie e-commerce. Zastosowanie poleceń wykluczających w pliku robots.txt skutecznie zablokuje dostęp do dynamicznych parametrów URL, takich jak sortowanie czy filtrowanie, minimalizując ryzyko pojawienia się błędu duplikacji treści.
- Zwiększenie bezpieczeństwa witryny – prawidłowa konfiguracja robots.txt może zapobiegać indeksowaniu wrażliwych zasobów i sprzyjać bezpieczeństwu strony. Podstawą jest wykluczenie indeksowania tych podstron, które związane są z logowaniem, a w przypadku sklepów internetowych – dokonywaniem zakupów. W przypadku stron z modułami dyskusyjnymi warto rozważyć także zablokowanie podstron prezentujących dane o poszczególnych kontach użytkowników. Podstrony tego typu raczej nie powinny pojawiać się w wynikach wyszukiwania.
Optymalizacja robots.txt krok po kroku – podsumowanie
Pomimo tego, że jest niezliczona ilość wtyczek do WordPressa i narzędzi do innych CMS, które poradzą sobie z wykluczaniem poszczególnych adresów URL, proste zmiany w robots.txt wciąż mogą być najlepszym wyborem. Wprowadzenie poleceń do pliku jest banalnie proste i skuteczne. Stosując bardziej zaawansowane polecenia, np. wykluczając z indeksowania wybrane formaty plików, można znacznie zaoszczędzić budżet indeksowania crawlerów, wpływając jednocześnie na efektywność indeksowania właściwych podstron.
Konfiguracja pliku robots.txt przyda się również wtedy, gdy chcemy zwiększyć prywatność niektórych podstron tak, aby nie wyświetlały się one w wynikach wyszukiwania. Chociaż można równie dobrze w tym celu zastosować odpowiednią opcję np. w Google Search Console, edytując plik robots.txt nie narażamy się na ewentualne błędy po stronie Google czy innych wyszukiwarek.