Szczegółowy przewodnik po pliku Robots.txt
Opublikowany: 2020-08-10Plik robots.txt to bardzo potężny plik, który można dodać do witryny, aby pomóc kontrolować, które obszary witryny powinny być indeksowane przez wyszukiwarki, a które powinny być ignorowane. Ważne jest, aby regularnie przeglądać plik robots.txt, aby upewnić się, że jest aktualny i, jeśli to możliwe, korzystać z narzędzia monitorującego, aby otrzymywać powiadomienia o zmianach.
W Semetrical, w ramach naszej oferty usług SEO technicznego, przeprowadzamy audyt pliku robots.txt klienta podczas przeprowadzania audytu technicznego witryny klienta, aby sprawdzić, czy ścieżki, które są blokowane, powinny być. Dodatkowo, jeśli zespół SEO natrafi na problemy w ramach technicznego procesu audytu SEO, takie jak duplikacja, nowe reguły robots.txt mogą zostać napisane i dodane do pliku.
Ponieważ plik robots.txt jest ważnym plikiem, przygotowaliśmy przewodnik, który opisuje, czym ostatecznie jest, dlaczego ktoś może go używać oraz typowe pułapki, które mogą wystąpić podczas pisania reguł.
Co to jest plik robots txt?
Plik robots.txt jest pierwszym portem wywołania robota podczas odwiedzania Twojej witryny. Jest to plik tekstowy, który zawiera instrukcje dla różnych programów użytkownika, które zasadniczo informują roboty indeksujące, które części witryny powinny zostać przeszukane, a które zignorowane. Główne instrukcje używane w pliku robots.txt są określone przez regułę „zezwalaj” lub „nie zezwalaj”.
Historycznie działała również reguła „noindex”, jednak w 2019 roku Google przestał wspierać dyrektywę noindex, ponieważ była to nieopublikowana reguła.
Jeśli plik nie jest używany prawidłowo, może to być szkodliwe dla Twojej witryny i może spowodować ogromny spadek ruchu i rankingów. Na przykład błędy mogą się zdarzyć, gdy cała witryna zostanie zablokowana w wyszukiwarkach lub część witryny zostanie przez pomyłkę zablokowana. Kiedy tak się stanie, rankingi związane z tą częścią witryny będą stopniowo spadać, a ruch z kolei spadnie.
Czy rzeczywiście potrzebujesz pliku robots.txt?
Nie, posiadanie pliku robot.txt w witrynie nie jest obowiązkowe, zwłaszcza w przypadku małych witryn z minimalnymi adresami URL, ale jest wysoce zalecane w przypadku średnich i dużych witryn. W dużych witrynach ułatwia kontrolowanie, które części witryny są dostępne, a które sekcje powinny być blokowane przed robotami. Jeśli plik nie istnieje, Twoja witryna będzie zwykle pobierana i indeksowana.
Do czego służy głównie plik robots txt?
Plik robots.txt ma wiele przypadków użycia i w Semetrical wykorzystaliśmy go w następujących scenariuszach:
- Blokowanie wewnętrznych wyników wyszukiwania, ponieważ te strony zwykle nie są cenne dla robota indeksującego i mogą powodować wiele duplikacji w witrynie.
- Blokowanie części nawigacji po aspektach, jeśli niektóre aspekty nie są wartościowe z punktu widzenia SEO, ale nadal są potrzebne do UX, gdy użytkownik jest w Twojej witrynie.
- Blokowanie różnych poziomów nawigacji aspektów, gdzie jeden poziom aspektów może być przydatny dla wyszukiwarek, ale po połączeniu dwóch różnych filtrów aspektów mogą one stać się nieistotne dla przeszukiwania i indeksowania przez wyszukiwarkę.
- Parametry blokowania, które powodują duplikację lub marnują budżet indeksowania. Jest to nieco kontrowersyjne, ponieważ inni mogą zabronić blokowania parametrów w pliku robots.txt, ale zadziałało to w wielu witrynach naszych klientów, w których parametry są potrzebne, ale roboty indeksujące nie muszą ich indeksować. Zdecydowanie zaleca się, aby sprawdzić, czy blokowany parametr nie zawiera wartościowych linków lub jest w rankingu pod kątem wartościowych słów kluczowych, które przynoszą ruch.
- Blokowanie prywatnych sekcji witryny, takich jak strony kasy i sekcje logowania.
- Uwzględniając lokalizacje map witryn XML, aby ułatwić robotom dostęp do wszystkich adresów URL w Twojej witrynie.
- Aby zezwolić tylko określonym botom na dostęp i indeksowanie Twojej witryny.
- Blokowanie treści generowanych przez użytkowników, których nie można moderować.
Gdzie umieścić plik robots txt i jak dodać go do swojej witryny?
Plik robots.txt musi być umieszczony w katalogu głównym witryny, na przykład w witrynie Semetrical znajduje się pod adresem www.semetrical.com/robots.txt i musi nosić nazwę robots.txt. Witryna internetowa może zawierać tylko jeden plik robots.txt i musi znajdować się w pliku tekstowym zakodowanym w UTF-8, który zawiera ASCII.
Jeśli masz subdomeny, takie jak blog.example.com, plik robots.txt może znajdować się w katalogu głównym subdomeny, na przykład blog.example.com/robots.txt.
Jak wygląda plik robots.txt?
Typowy plik robots.txt składałby się z różnych komponentów i elementów, które obejmują:
- Agent użytkownika
- Uniemożliwić
- Umożliwić
- Opóźnienie indeksowania
- Mapa strony
- Komentarze (czasami możesz to zobaczyć)
Poniżej znajduje się przykład pliku robots.txt Semetrcals, który zawiera klienta użytkownika, reguły zakazu i mapę witryny.
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Disallow: /trackback/ Disallow: /index.php/ Disallow: /xmlrpc.php Disallow: /blog-documentation/ Disallow: /test/ Disallow: /hpcontent/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlAgent użytkownika
Klient użytkownika definiuje początek grupy dyrektyw. Często jest reprezentowany przez symbol wieloznaczny (*), który sygnalizuje, że poniższe instrukcje dotyczą wszystkich botów odwiedzających witrynę. Przykładem tego może być:
Agent użytkownika: *
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/Będą sytuacje, w których będziesz chciał zablokować określone boty lub zezwolić tylko niektórym botom na dostęp do niektórych stron. W tym celu musisz podać nazwę botów jako agenta użytkownika. Przykładem tego może być:
User-agent: AdsBot-Google Disallow: /checkout/reserve Disallow: /resale/checkout/order Disallow: /checkout/reserve_searchTypowe klienty użytkownika, o których należy pamiętać, obejmują:

Istnieje również możliwość zablokowania indeksowania Twojej witryny przez określone oprogramowanie lub opóźnienia liczby adresów URL, które mogą zaindeksować na sekundę, ponieważ każde narzędzie będzie miało własne klienty użytkownika, które indeksują Twoją witrynę. Na przykład, jeśli chcesz zablokować SEMRush lub Ahrefs przed indeksowaniem Twojej witryny, do Twojego pliku zostanie dodany poniższy kod:
User-agent: SemrushBot Disallow: * User-agent: AhrefsBot Disallow: *Jeśli chcesz opóźnić liczbę indeksowanych adresów URL, do Twojego pliku zostaną dodane poniższe reguły:
User-agent: AhrefsBot Crawl-Delay: [value] User-agent: SemrushBot Crawl-Delay: [value]Nie zezwalaj na dyrektywę
Dyrektywa disallow to reguła, którą użytkownik może umieścić w pliku robots.txt, która poinstruuje wyszukiwarkę, aby nie indeksowała określonej ścieżki lub zestawu adresów URL w zależności od utworzonej reguły. Plik może zawierać jeden lub wiele wierszy reguł zakazu, ponieważ możesz chcieć zablokować wiele sekcji witryny.
Jeśli dyrektywa disallow jest pusta i nic nie określa, boty mogą indeksować całą witrynę, więc w celu zablokowania niektórych ścieżek lub całej witryny należy podać prefiks adresu URL lub ukośnik „/”. Na przykład w poniższym przykładzie blokujemy dowolny adres URL wychodzący ze ścieżki /cgi-bin/ lub /wp-admin/.
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/Jeśli chcesz zablokować całą witrynę przed botami, takimi jak Google, musisz dodać dyrektywę disallow, po której następuje ukośnik. Zazwyczaj można to zrobić tylko w środowisku pomostowym, jeśli nie chcesz, aby witryna pomostowa została znaleziona lub zindeksowana. Przykład wyglądałby tak:
User-agent: * Disallow: /Zezwól na dyrektywę
Większość wyszukiwarek będzie przestrzegać dyrektywy allow , która zasadniczo będzie przeciwdziałać dyrektywie disallow . Na przykład, gdybyś zablokował /wp-admin/, zwykle zablokowałoby to wszystkie adresy URL, które biegną z tej ścieżki, jednak jeśli istnieje reguła zezwalająca dla /wp-admin/admin-ajax.php, boty będą indeksować / admin-ajax.php, ale zablokuj wszelkie inne ścieżki, które działają w /wp-admin/. Zobacz przykład poniżej:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.phpOpóźnienie indeksowania
Dyrektywa o opóźnieniu indeksowania pomaga spowolnić tempo indeksowania Twojej witryny przez bota. Nie wszystkie wyszukiwarki będą przestrzegać dyrektywy opóźnienia indeksowania, ponieważ jest to nieoficjalna zasada.
– Google nie zastosuje się do tej dyrektywy

– Baidu nie zastosuje się do tej dyrektywy
– Bing i Yahoo obsługują dyrektywę o opóźnieniu indeksowania, w której reguła nakazuje botowi czekać „n” sekund po akcji indeksowania.
– Yandex obsługuje również dyrektywę o opóźnieniu indeksowania, ale interpretuje zasadę nieco inaczej, gdy uzyskuje dostęp do Twojej witryny tylko raz na „n” sekund.
Poniżej przykład dyrektywy o opóźnieniu indeksowania:
User-agent: BingBot Disallow: /wp-admin/ Crawl-delay: 5Dyrektywa w sprawie map witryn
Dyrektywa sitemap może informować wyszukiwarki, gdzie znaleźć mapę witryny XML, i ułatwia różnym wyszukiwarkom znalezienie adresów URL w Twojej witrynie. Główne wyszukiwarki, które zastosują się do tej dyrektywy, to Google, Bing, Yandex i Yahoo.
Zaleca się umieszczenie dyrektywy sitemap na dole pliku robots.txt. Przykład tego znajduje się poniżej:
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlUwagi
Plik robots.txt może zawierać komentarze, ale obecność komentarzy jest przeznaczona tylko dla ludzi, a nie dla botów, ponieważ wszystko po hashtagu zostanie zignorowane. Komentarze mogą być przydatne z wielu powodów, do których należą:
– Podaje powód, dla którego pewne zasady są obecne
– Referencje, które dodały zasady
– Odnośniki, do których części witryny odnoszą się zasady
– Wyjaśnia, co robią zasady
– Poniżej przedstawiamy przykłady komentarzy w różnych plikach robots.txt:
#Student Disallow: /student/*-bed-flats-* Disallow: /student/*-bed-houses* Disallow: /comments/feed/ #Added by Semetrical Disallow: /jobs*/full-time/* Disallow: /jobs*/permanent/* #International Disallow: */company/fr/* Disallow: */company/de/*Czy kolejność reguł jest ważna?
Kolejność reguł nie jest istotna, jednak gdy do adresu URL ma zastosowanie kilka reguł zezwalających i zabronionych, stosowana jest najdłuższa reguła pasującej ścieżki, która ma pierwszeństwo przed mniej szczegółową krótszą regułą. Jeśli obie ścieżki mają tę samą długość, zostanie zastosowana mniej restrykcyjna reguła. Jeśli chcesz, aby określona ścieżka adresu URL była dozwolona lub zabroniona, możesz wydłużyć regułę, używając „*”, aby wydłużyć ciąg. Na przykład Disallow: ********/make-longer
Na własnej stronie Google wymienili przykładowy zestaw sytuacji, który pokazuje zasadę pierwszeństwa, która ma pierwszeństwo. Poniższa tabela została zaczerpnięta z Google.

Jak sprawdzić plik robots.txt?
Zawsze ważne jest, aby sprawdzić i zweryfikować plik robots.txt przed opublikowaniem go, ponieważ nieprawidłowe reguły mogą mieć duży wpływ na Twoją witrynę.
Najlepszym sposobem na przetestowanie jest skorzystanie z narzędzia testującego plik robots.txt w Search Console i przetestowanie różnych adresów URL, które powinny być blokowane zgodnie z obowiązującymi regułami. Jest to również świetny sposób na przetestowanie nowych reguł, które chcesz dodać do pliku.

Przykłady użycia wyrażeń regularnych w pliku robots.txt
Tworząc reguły w pliku robots.txt, możesz użyć dopasowania do wzorca, aby zablokować zakres adresów URL w jednej regule zakazu. Wyrażenia regularne mogą być używane do dopasowywania wzorców, a dwa główne znaki, których przestrzega zarówno Google, jak i Bing, obejmują:
- Znak dolara ($), który pasuje do końca adresu URL
- Gwiazdka (*), która jest regułą wieloznaczną reprezentującą dowolną sekwencję znaków.
Przykłady dopasowania wzorców w Semetrical:
Disallow: */searchjobs/*Spowoduje to zablokowanie dowolnego adresu URL zawierającego ścieżkę /searchjobs/, takiego jak: www.example.com/searchjobs/construction. Było to potrzebne klientowi, ponieważ sekcja wyszukiwania jego witryny musiała zostać zablokowana, aby wyszukiwarki nie przeszukiwały i indeksowały tej sekcji witryny.
Disallow: /jobs*/full-time/*Spowoduje to zablokowanie adresów URL zawierających ścieżkę po /jobs/, po której następuje /pełny etat/, na przykład
www.example.com/prace/admin-sekretarz-i-pa/caly-etat/
. W tym scenariuszu potrzebujemy pełnego etatu jako filtra dla UX, ale w przypadku wyszukiwarek nie ma potrzeby indeksowania strony, aby zaspokoić „stanowisko pracy” + „pełny etat”.
Disallow: /jobs*/*-000-*-999/*Spowoduje to zablokowanie adresów URL zawierających filtry wynagrodzeń, takie jak
www.example.com/prace/miasto-brystolu/-50-000-59-999/
. W tym scenariuszu potrzebujemy filtrów płacowych, ale nie było potrzeby, aby wyszukiwarki indeksowały strony płacowe i je indeksowały.
Disallow: /jobs/*/*/flexible-hours/Spowoduje to zablokowanie adresów URL zawierających elastyczne godziny i zawierających dwie ścieżki aspektów pomiędzy nimi. W tym scenariuszu za pomocą badania słów kluczowych stwierdziliśmy, że użytkownicy mogą wyszukiwać według lokalizacji + elastyczne godziny pracy lub praca + elastyczne godziny, ale użytkownicy nie będą wyszukiwać haseł „stanowisko pracy” + „lokalizacja” + „elastyczne godziny pracy”. Przykładowy adres URL wygląda tak
www.example.com/prace/admin-sekretarz-i-pa/wielka-królestwo/elastyczne-godziny/
.
Disallow: */company/*/*/*/people$Spowoduje to zablokowanie adresu URL, który zawiera trzy ścieżki między firmą a osobami, a także adres URL kończący się na osobach. Przykładem może być
www.example.com/firma/pl/04905417/firma-check-ltd/ludzie
.
Disallow: *?CostLowerAsNumber=*Ta reguła zablokuje filtr parametrów, który zamówił ceny.
Disallow: *?Radius=* Disallow: *?radius=*Te dwie reguły blokowały botom możliwość indeksowania adresu URL parametru, który zmienił promień wyszukiwania użytkowników. Dodano zasadę zarówno wielkich, jak i małych liter, ponieważ witryna zawierała obie wersje.
O czym należy pamiętać w pliku robots.txt
- W pliku robots.txt rozróżniana jest wielkość liter, więc musisz użyć poprawnej wielkości liter w swoich regułach, na przykład /hello/ będzie traktowane inaczej niż /Hello/.
- Aby wyszukiwarki, takie jak Google, szybciej ponownie buforowały plik robots.txt w celu znalezienia nowych reguł, możesz sprawdzić adres URL pliku robots.txt w Search Console i zażądać indeksowania.
- Jeśli Twoja witryna korzysta z pliku robots.txt z wieloma regułami, a adres URL w pliku robots.txt wyświetla kod stanu 4xx przez dłuższy czas, reguły zostaną zignorowane, a zablokowane strony staną się możliwe do zindeksowania. Ważne jest, aby upewnić się, że zawsze obsługuje kod stanu 200.
- Jeśli Twoja witryna nie działa, upewnij się, że plik robots.txt zwraca kod stanu 5xx, ponieważ wyszukiwarki zrozumieją, że witryna jest niedostępna z powodu konserwacji i wrócą, aby ponownie ją zindeksować w późniejszym terminie.
- Gdy adresy URL są już zindeksowane, a następnie do Twojej witryny zostanie dodany zakaz w celu usunięcia tych adresów URL z indeksu, usunięcie i usunięcie tych adresów URL może zająć trochę czasu. Ponadto adresy URL mogą przez jakiś czas pozostawać w indeksie, ale w meta opisie zostanie wyświetlony komunikat „Opis tego wyniku jest niedostępny z powodu pliku robots.txt tej witryny – dowiedz się więcej”.
- Reguła zakazu w pliku robots.txt nie zawsze gwarantuje, że strona nie pojawi się w wynikach wyszukiwania, ponieważ Google może nadal zdecydować, na podstawie czynników zewnętrznych, takich jak linki przychodzące, że jest ona istotna i powinna zostać zindeksowana.
- Jeśli masz wdrożoną regułę zakazu, a także umieścisz tag „bez indeksu” w kodzie źródłowym strony, „brak indeksu” zostanie zignorowany, ponieważ wyszukiwarki nie mogą uzyskać dostępu do strony w celu wykrycia tagu „brak indeksu”.
- Reguła zakazu na zindeksowanych stronach, szczególnie tych z linkami przychodzącymi, oznacza, że stracisz wartość linków tych linków zwrotnych, które w przeciwnym razie zostałyby przekazane z korzyścią dla innych stron. Dlatego ważne jest, aby sprawdzić, czy strony mają linki zwrotne przed dodaniem reguły zakazu.
- Jeśli brakuje wiodącego ukośnika w ścieżce podczas pisania reguły zezwalaj lub nie zezwalaj, reguła zostanie zignorowana. Na przykład „Nie zezwalaj: zadania wyszukiwania.
Jeśli chcesz porozmawiać z jednym z naszych technicznych specjalistów SEO w Semetrical, odwiedź naszą stronę poświęconą technicznym usługom SEO, aby uzyskać więcej informacji.
