Jak korzystać z pliku robots.txt

Wtej sekcji naszego przewodnika po dyrektywach dotyczących robotów omówimy bardziej szczegółowo plik tekstowy robots.txt oraz sposoby jego wykorzystania do instruowania robotów indeksujących wyszukiwarek. Ten plik jest szczególnie przydatny do zarządzania budżetem indeksowania i upewniania się, że wyszukiwarki wydajnie spędzają czas w witrynie i indeksują tylko ważne strony.

Do czego służy plik robots txt?

Plik robots.txt służy do informowania robotów i robotów, których adresów URL nie powinny odwiedzać w Twojej witrynie. Jest to ważne, aby pomóc im uniknąć indeksowania stron o niskiej jakości lub utknięcia w pułapkach indeksowania, w których potencjalnie można utworzyć nieskończoną liczbę adresów URL, na przykład sekcja kalendarza, która codziennie tworzy nowy adres URL.

Jak wyjaśnia Google w swoim przewodniku po specyfikacji pliku robots.txt , plik powinien mieć format zwykłego tekstu zakodowanego w UTF-8. Rekordy (lub wiersze) pliku powinny być oddzielone CR, CR / LF lub LF.

Należy pamiętać o rozmiarze pliku robots.txt, ponieważ wyszukiwarki mają własne maksymalne limity rozmiaru plików. Maksymalny rozmiar dla Google to 500 KB.

Gdzie powinien znajdować się plik robots.txt?

Plik robots.txt powinien zawsze istnieć w katalogu głównym domeny, na przykład:

Plik robots.txt DeepCrawl

Ten plik jest specyficzny dla protokołu i pełnej domeny, więc plik robots.txt w witrynie https://www.example.com nie ma wpływu na indeksowanie http://www.example.com ani https: //subdomain.example. com ; powinny mieć własne pliki robots.txt.

Kiedy należy używać reguł w pliku robots.txt?

Ogólnie strony internetowe powinny w jak najmniejszym stopniu wykorzystywać plik robots.txt do kontrolowania indeksowania. Poprawa architektury witryny i uczynienie jej czystą i dostępną dla robotów jest znacznie lepszym rozwiązaniem. Jednak użycie pliku robots.txt tam, gdzie jest to konieczne, aby uniemożliwić robotom dostęp do sekcji witryny o niskiej jakości, jest zalecane, jeśli tych problemów nie można rozwiązać w krótkim okresie.

Google zaleca używanie pliku robots.txt tylko w przypadku problemów z serwerem lub problemów z wydajnością indeksowania, na przykład gdy Googlebot spędza dużo czasu na indeksowaniu nieindeksowalnej sekcji witryny.

Oto kilka przykładów stron, których możesz nie chcieć indeksować:

  • Strony kategorii z niestandardowym sortowaniem, ponieważ zazwyczaj powoduje to duplikację ze stroną kategorii podstawowej
  • Treści generowane przez użytkowników , których nie można moderować
  • Strony zawierające poufne informacje
  • Wewnętrzne strony wyszukiwania, ponieważ może istnieć nieskończona liczba tych stron z wynikami, co zapewnia złe wrażenia użytkownika i marnuje budżet na indeksowanie

Kiedy nie należy używać pliku robots.txt?

Plik robots.txt jest przydatnym narzędziem, jeśli jest używany poprawnie, jednak zdarzają się sytuacje, w których nie jest to najlepsze rozwiązanie. Oto kilka przykładów, kiedy nie należy używać pliku robots.txt do kontrolowania indeksowania:

1. Blokowanie JavaScript / CSS

Wyszukiwarki muszą mieć dostęp do wszystkich zasobów Twojej witryny, aby poprawnie renderować strony, co jest niezbędnym elementem utrzymania dobrych rankingów. Pliki JavaScript, które radykalnie zmieniają wrażenia użytkownika, ale nie mogą indeksować ich w wyszukiwarkach, mogą skutkować ręcznymi lub algorytmicznymi karami.

Na przykład, jeśli wyświetlasz pełnoekranową reklamę lub przekierowujesz użytkowników za pomocą JavaScript, do którego wyszukiwarka nie ma dostępu, może to być postrzegane jako maskowanie, a rankingi Twoich treści mogą zostać odpowiednio dostosowane.

2. Blokowanie parametrów adresu URL

Możesz użyć pliku robots.txt do blokowania adresów URL zawierających określone parametry, ale nie zawsze jest to najlepszy sposób działania. Lepiej jest obsługiwać je w Google Search Console, ponieważ jest tam więcej opcji związanych z parametrami, które pozwalają przekazywać Google preferowane metody indeksowania.

Możesz również umieścić informacje we fragmencie adresu URL ( / page # sort = price ), ponieważ wyszukiwarki tego nie indeksują. Ponadto, jeśli trzeba użyć parametru adresu URL, linki do niego mogą zawierać atrybut rel = nofollow, aby uniemożliwić robotom dostęp do niego.

3. Blokowanie adresów URL z linkami zwrotnymi

Zablokowanie adresów URL w pliku robots.txt zapobiega przekazywaniu wartości linków do witryny. Oznacza to, że jeśli wyszukiwarki nie są w stanie podążać za linkami z innych witryn internetowych, ponieważ docelowy adres URL jest niedozwolony, Twoja witryna nie uzyska autorytetu przekazującego te linki, w wyniku czego możesz nie uzyskać tak dobrej pozycji w rankingu.

4. Deindeksowanie indeksowanych stron

Użycie Disallow nie powoduje deindeksowania stron, a nawet jeśli adres URL jest zablokowany, a wyszukiwarki nigdy nie zaindeksowały strony, niedozwolone strony mogą nadal być indeksowane. Dzieje się tak, ponieważ procesy pobierania i indeksowania są w dużej mierze oddzielne.

5. Ustalanie reguł ignorujących roboty sieci społecznościowych

Nawet jeśli nie chcesz, aby wyszukiwarki przeszukiwały i indeksowały strony, możesz chcieć, aby sieci społecznościowe miały dostęp do tych stron, aby można było utworzyć fragment strony. Na przykład Facebook spróbuje odwiedzić każdą stronę opublikowaną w sieci, aby wyświetlić odpowiedni fragment. Pamiętaj o tym podczas ustawiania reguł w pliku robots.txt.

6. Blokowanie dostępu do witryn testowych lub deweloperskich

Używanie pliku robots.txt do blokowania całej witryny testowej nie jest najlepszym rozwiązaniem. Google nie zaleca indeksowania stron, ale zezwala na ich indeksowanie, ale generalnie lepiej jest uniemożliwić dostęp do witryny ze świata zewnętrznego.

7. Kiedy nie masz nic do zablokowania

Niektóre witryny o bardzo czystej architekturze nie muszą blokować robotów indeksujących dostępu do żadnych stron. W tej sytuacji całkowicie akceptowalne jest nie posiadanie pliku robots.txt i zwracanie statusu 404, gdy jest to wymagane.

Składnia i formatowanie pliku Robots.txt

Teraz, gdy dowiedzieliśmy się, czym jest plik robots.txt i kiedy powinien, a kiedy nie powinien być używany, przyjrzyjmy się znormalizowanej składni i regułom formatowania, których należy przestrzegać podczas pisania pliku robots.txt.

Przykład pliku robots.txt

Komentarze

Komentarze to wiersze, które są całkowicie ignorowane przez wyszukiwarki i zaczynają się znakiem # . Istnieją po to, abyś mógł pisać notatki o tym, co robi każdy wiersz pliku robots.txt, dlaczego istnieje i kiedy został dodany. Ogólnie zaleca się udokumentowanie przeznaczenia każdego wiersza pliku robots.txt, aby można go było usunąć, gdy nie jest już potrzebny i nie można go modyfikować, gdy jest nadal niezbędny.

Określanie klienta użytkownika

Blok reguł można zastosować do określonych programów użytkownika za pomocą dyrektywy „ User-agent ”. Na przykład, jeśli chcesz, aby pewne zasady miały zastosowanie do Google, Bing i Yandex; ale nie Facebook i sieci reklamowe, można to osiągnąć, określając token klienta użytkownika, którego dotyczy zestaw reguł.

Każdy robot ma własny token klienta użytkownika, który służy do wybierania pasujących bloków.

Roboty będą postępować zgodnie z najbardziej szczegółowymi regułami klienta użytkownika, które są dla nich ustawione, z nazwą oddzieloną myślnikami, a następnie powrócą do bardziej ogólnych reguł, jeśli nie zostanie znalezione dokładne dopasowanie. Na przykład Googlebot News będzie szukał dopasowania „ googlebot-news ”, a następnie „ googlebot ”, a następnie „ * ”.

Oto niektóre z najczęściej spotykanych tokenów klienta użytkownika:

  • * – Zasady dotyczą każdego bota, chyba że istnieje bardziej szczegółowy zestaw reguł
  • Googlebot – wszystkie roboty Google
  • Googlebot-News – Crawler for Google News
  • Googlebot-Image – Crawler for Google Images
  • Mediapartners-Google – robot Google Adsense
  • Bingbot – robot Binga
  • Yandex – robot Yandex
  • Baiduspider – robot Baidu
  • Facebot – robot Facebooka
  • Twitterbot – robot Twittera

Ta lista tokenów użytkownika nie jest wyczerpująca, więc aby dowiedzieć się więcej o niektórych robotach, zajrzyj do dokumentacji opublikowanej przez Google , Bing , Yandex , Baidu , Facebook i Twitter .

W dopasowaniu tokenu klienta użytkownika do bloku pliku robots.txt nie jest rozróżniana wielkość liter. Np. „Googlebot” będzie pasować do tokena klienta użytkownika Google „Googlebot”.

Adresy URL pasujące do wzorca

Możesz mieć określony ciąg adresu URL, który chcesz zablokować przed indeksowaniem, ponieważ jest to znacznie bardziej wydajne niż umieszczanie pełnej listy pełnych adresów URL, które mają zostać wykluczone, w pliku robots.txt.

Aby pomóc Ci doprecyzować ścieżki URL, możesz użyć symboli * i $. Oto jak one działają:

  • * – To jest symbol wieloznaczny i reprezentuje dowolną ilość dowolnego znaku. Może znajdować się na początku lub w środku ścieżki adresu URL, ale nie jest wymagana na końcu. W ciągu adresu URL możesz użyć wielu symboli wieloznacznych, na przykład „ Disallow: * / products? * Sort = ”. Reguły z pełnymi ścieżkami nie powinny zaczynać się od symbolu wieloznacznego.
  • $ – ten znak oznacza koniec ciągu adresu URL, więc „ Disallow: * / dress $ ” będzie pasować tylko do adresów URL kończących się na „ / dress ”, a nie „ / dress? ”.

Warto zauważyć, że w regułach pliku robots.txt rozróżniana jest wielkość liter, co oznacza, że ​​jeśli zablokujesz adresy URL z parametrem „ szukaj ” (np. „ Disallow: *? Search = ”), roboty mogą nadal indeksować adresy URL z inną wielkością liter, na przykład „ ? Wyszukaj = cokolwiek ”.

Reguły dyrektywy są zgodne tylko ze ścieżkami URL i nie mogą zawierać protokołu ani nazwy hosta. Ukośnik na początku dyrektywy pasuje do początku ścieżki adresu URL. Na przykład „ Disallow: / start ” będzie pasować do www.example.com/starts .

Dopóki nie dodasz dopasowania dyrektywy start a / lub * , to nic nie będzie pasować. Np. „ Disallow: starty ” nigdy nie pasowałoby do niczego.

Aby pomóc zwizualizować działanie różnych reguł dotyczących adresów URL, zebraliśmy dla Ciebie kilka przykładów:

Przykłady reguł w pliku robots.txt

Dyrektywa sitemap w pliku robots.txt informuje wyszukiwarki, gdzie znaleźć mapę witryny XML, co pomaga im znaleźć wszystkie adresy URL w witrynie. Aby dowiedzieć się więcej o mapach witryn, zapoznaj się z naszym przewodnikiem po audytach map witryn i zaawansowanej konfiguracji .

Dołączając mapy witryn do pliku robots.txt, należy używać bezwzględnych adresów URL (np. Https://www.example.com/sitemap.xml ) zamiast względnych adresów URL (np . /Sitemap.xml ). Warto również zauważyć, że mapy witryn nie nie muszą znajdować się w jednej domenie głównej, mogą być również hostowane w domenie zewnętrznej.

Wyszukiwarki wykryją i mogą zaindeksować mapy witryn wymienione w pliku robots.txt, jednak te mapy witryn nie będą wyświetlane w Google Search Console ani Bing Webmaster Tools bez ręcznego przesłania.

Bloki pliku Robots.txt

Reguła „disallow” w pliku robots.txt może być używana na wiele sposobów w przypadku różnych klientów użytkownika. W tej sekcji omówimy kilka różnych sposobów formatowania kombinacji bloków.

Należy pamiętać, że dyrektywy w pliku robots.txt to tylko instrukcje. Złośliwe roboty zignorują Twój plik robots.txt i zaindeksują dowolną publiczną część witryny, dlatego nie należy stosować polecenia disallow zamiast skutecznych środków bezpieczeństwa.

Wiele bloków użytkownika

Możesz dopasować blok reguł do wielu klientów użytkownika, umieszczając je przed zestawem reguł, na przykład poniższe reguły zakazu będą miały zastosowanie zarówno do Googlebota, jak i Bing w następującym bloku reguł:

User-agent: googlebot
User-agent: bing
Disallow: / a

Odstępy między blokami dyrektyw

Google zignoruje spacje między dyrektywami i blokami. W pierwszym przykładzie druga reguła zostanie wybrana, mimo że istnieje spacja oddzielająca dwie części reguły:

User-agent: *
Disallow: / disallowed /

Disallow: / test1 / robots_excluded_blank_line

W tym drugim przykładzie Googlebot-mobile odziedziczy te same reguły co Bingbot:

User-agent: googlebot-mobile

User-agent: bing
Disallow: / test1 / deepcrawl_excluded

Oddzielne bloki połączone

Połączonych jest wiele bloków z tym samym agentem użytkownika. W poniższym przykładzie górne i dolne bloki zostałyby połączone, a Googlebot nie mógłby indeksować „ / b ” i „ / a ”.

User-agent: googlebot
Disallow: / b

User-agent: bing
Disallow: / a

User-agent: googlebot
Disallow: / a

Robots.txt Allow

Reguła „zezwalaj” w pliku robots.txt wyraźnie zezwala na pobieranie określonych adresów URL. Chociaż jest to ustawienie domyślne dla wszystkich adresów URL, ta reguła może służyć do zastępowania reguły zakazu. Na przykład, jeśli „ / locations ” jest niedozwolone, możesz zezwolić na indeksowanie „ / locations / london ”, stosując konkretną regułę „ Allow: / locations / london ”.

Priorytetyzacja pliku Robots.txt

Jeśli do adresu URL ma zastosowanie kilka reguł zezwalania i nie zezwalania, stosowana jest reguła najdłuższego dopasowania. Przyjrzyjmy się, co by się stało z adresem URL „ / home / search / shirts ” przy następujących zasadach:

Disallow: / home
Allow: * search / *
Disallow: * koszule

W tym przypadku adres URL może być przeszukiwany, ponieważ reguła Zezwalaj ma 9 znaków, podczas gdy reguła zakazu ma tylko 7. Jeśli potrzebujesz określonej ścieżki adresu URL, aby była dozwolona lub zabroniona, możesz użyć *, aby wydłużyć ciąg. Na przykład:

Disallow: ******************* / koszule

Jeśli adres URL pasuje zarówno do reguły zezwalania, jak i reguły zakazu, ale reguły mają tę samą długość, zastosowana zostanie zasada zakazu. Na przykład adres URL „ / search / shirts ” będzie niedozwolony w następującym scenariuszu:

Disallow: / search
Allow: * koszule

Dyrektywy robots.txt

Dyrektywy na poziomie strony (które omówimy w dalszej części tego przewodnika) to świetne narzędzia, ale problem z nimi polega na tym, że wyszukiwarki muszą zaindeksować stronę, zanim będą mogły przeczytać te instrukcje, co może pochłonąć budżet na indeksowanie.

Dyrektywy w pliku robots.txt mogą pomóc zmniejszyć obciążenie budżetu na indeksowanie, ponieważ możesz dodawać dyrektywy bezpośrednio do pliku robots.txt, zamiast czekać, aż wyszukiwarki zaindeksują strony przed podjęciem na nich działań. To rozwiązanie jest znacznie szybsze i łatwiejsze w zarządzaniu.

Następujące dyrektywy w pliku robots.txt działają w taki sam sposób, jak dyrektywy allow i disallow, ponieważ możesz określić symbole wieloznaczne ( * ) i użyć symbolu $ do oznaczenia końca ciągu adresu URL.

Robots.txt NoIndex

Robots.txt noindex to przydatne narzędzie do zarządzania indeksowaniem w wyszukiwarkach bez zwiększania budżetu na indeksowanie. Zablokowanie strony w pliku robots.txt nie oznacza, że ​​jest ona usuwana z indeksu, więc dyrektywa noindex jest o wiele skuteczniejsza w tym celu.

Google oficjalnie nie obsługuje pliku robots.txt noindex i nie należy na nim polegać, ponieważ chociaż działa dziś, jutro może nie działać. To narzędzie może być jednak pomocne i powinno być używane jako rozwiązanie krótkoterminowe w połączeniu z innymi długoterminowymi kontrolami indeksów, ale nie jako dyrektywa o znaczeniu krytycznym. Przyjrzyj się testom przeprowadzonym przez Ohgm i Stone Temple, które dowodzą, że funkcja działa skutecznie.

Oto przykład użycia pliku robots.txt noindex:

User-agent: *
NoIndex: / katalog
NoIndex: / *? * sort =

Oprócz noindex, Google obecnie nieoficjalnie przestrzega kilku innych dyrektyw dotyczących indeksowania, gdy są one umieszczane w pliku robots.txt. Należy zauważyć, że nie wszystkie wyszukiwarki i roboty obsługują te dyrektywy, a te, które je obsługują, mogą w każdej chwili przestać je wspierać – nie należy polegać na ich konsekwentnym działaniu.

Typowe problemy z plikiem Robots.txt

Istnieje kilka kluczowych problemów i uwag dotyczących pliku robots.txt oraz wpływu, jaki może mieć na wydajność witryny. Poświęciliśmy trochę czasu, aby wymienić niektóre kluczowe kwestie do rozważenia w pliku robots.txt, a także niektóre z najczęstszych problemów, których można uniknąć.

  1. Miej zapasowy blok reguł dla wszystkich botów – używanie bloków reguł dla określonych ciągów agentów użytkownika bez rezerwowego bloku reguł dla każdego innego bota oznacza, że ​​Twoja witryna ostatecznie napotka bota, który nie ma żadnych zestawów reguł do przestrzegania.
  2. t jest ważne, że robots.txt jest uaktualniane – stosunkowo częsty problem występuje, gdy robots.txt jest ustawiony w początkowej fazie rozwoju strony internetowej, ale nie jest aktualizowana na stronie internetowej rośnie, co oznacza, że potencjalnie użytecznych stron niedozwolone.
  3. Uważaj na przekierowywanie wyszukiwarek przez niedozwolone adresy URL – na przykład / produkt > / disallowed > / category
  4. Rozróżnianie wielkości liter może powodować wiele problemów – webmasterzy mogą oczekiwać, że sekcja witryny internetowej nie będzie indeksowana, ale te strony mogą być indeksowane z powodu alternatywnych przypadków, np. „Disallow: / admin”, ale wyszukiwarki indeksują „ / ADMIN ”.
  5. Nie zezwalaj na adresy URL z linkami wstecznymi – zapobiega to przechodzeniu do Twojej witryny przez PageRank innych osób, które prowadzą do Ciebie linki.
  6. Opóźnienie indeksowania może powodować problemy z wyszukiwaniem – dyrektywa „ opóźnienia indeksowania ” zmusza roboty do odwiedzania Twojej witryny wolniej, niż by sobie tego życzyły, co oznacza, że ​​Twoje ważne strony mogą być indeksowane rzadziej niż jest to optymalne. Ta dyrektywa nie jest przestrzegana przez Google ani Baidu, ale jest obsługiwana przez Bing i Yandex.
  7. Upewnij się, że plik robots.txt zwraca kod stanu 5xx tylko wtedy, gdy cała witryna nie działa – zwrócenie kodu stanu 5xx dla pliku /robots.txt wskazuje wyszukiwarkom, że witryna nie działa z powodu konserwacji. Zwykle oznacza to, że później spróbują ponownie zindeksować witrynę.
  8. Plik robots.txt disallow zastępuje narzędzie do usuwania parametrów – pamiętaj, że reguły pliku robots.txt mogą zastąpić obsługę parametrów i wszelkie inne wskazówki dotyczące indeksacji, które możesz przekazać wyszukiwarkom.
  9. Znaczniki pola wyszukiwania linków do podstron będą działać z zablokowanymi stronami wyszukiwania wewnętrznego – strony wyszukiwania wewnętrznego w witrynie nie muszą być dostępne do indeksowania, aby znaczniki pola wyszukiwania linków do podstron działały.
  10. Odrzucenie zmigrowanej domeny wpłynie na powodzenie migracji – jeśli nie zezwolisz na migrację domeny, wyszukiwarki nie będą w stanie śledzić żadnego z przekierowań ze starej witryny do nowej, więc migracja jest mało prawdopodobna. .

Testowanie i audyt Robots.txt

Biorąc pod uwagę, jak szkodliwy może być plik robots.txt, jeśli zawarte w nim dyrektywy nie są obsługiwane prawidłowo, istnieje kilka sposobów przetestowania go, aby upewnić się, że został prawidłowo skonfigurowany. Zapoznaj się z tym przewodnikiem, jak kontrolować adresy URL blokowane przez plik robots.txt , a także z następującymi przykładami:

  • Użyj funkcji DeepCrawl – raporty Niedozwolone strony i Niedozwolone adresy URL (niezindeksowane) mogą pokazać, które strony są blokowane w wyszukiwarkach przez plik robots.txt.
  • Użyj Google Search Console – dzięki narzędziu GSC tester pliku robots.txt możesz zobaczyć najnowszą wersję strony zapisaną w pamięci podręcznej, a także skorzystać z narzędzia Pobierz i renderuj, aby zobaczyć rendery z klienta użytkownika Googlebot oraz klienta użytkownika przeglądarki. Uwaga: GSC działa tylko w przypadku klientów użytkownika Google i można testować tylko pojedyncze adresy URL.
  • Spróbuj połączyć spostrzeżenia z obu narzędzi, sprawdzając wyrywkowe niedozwolone adresy URL, które DeepCrawl oznaczył w narzędziu testowym GSC robots.txt, aby wyjaśnić konkretne reguły, które powodują odrzucenie.

Monitorowanie zmian w pliku Robots.txt

Gdy w witrynie pracuje wiele osób i występują problemy, które mogą wystąpić, jeśli choćby jeden znak nie pasuje do pliku robots.txt, ciągłe monitorowanie pliku robots.txt ma kluczowe znaczenie. Oto kilka sposobów sprawdzenia, czy nie występują problemy:

  • Sprawdź Google Search Console, aby zobaczyć aktualny plik robots.txt, którego używa Google. Czasami plik robots.txt można dostarczyć warunkowo na podstawie klientów użytkownika, więc jest to jedyna metoda, aby dokładnie sprawdzić, co widzi Google.
  • Sprawdź rozmiar pliku robots.txt, jeśli zauważyłeś istotne zmiany, aby upewnić się, że nie przekracza on limitu 500 KB.
  • Przejdź do raportu stanu indeksu Google Search Console w trybie zaawansowanym, aby sprawdzić zmiany w pliku robots.txt z liczbą niedozwolonych i dozwolonych adresów URL w Twojej witrynie.
  • Zaplanuj regularne indeksowanie za pomocą DeepCrawl, aby na bieżąco sprawdzać liczbę niedozwolonych stron w Twojej witrynie, abyś mógł śledzić zmiany.
Marek Dąbrowski
Marek Dąbrowski
Specjalista ds. promocji
- SEO Blog