Generator robots.txt

Utwórz plik robots.txt, któremu możesz zaufać: każda reguła wyjaśniona w trakcie pisania, plik odczytany przez nasz tester robots.txt zgodnie z RFC 9309 i interpretacją samego Google oraz werdykt na żywo dla dowolnego robota i dowolnej ścieżki, zanim opublikujesz.

Szablony zbudowane na podstawie dokumentacji WordPress, Shopify, Next.js i Google · roboty opisane przez ich operatorów, pogrupowane według celu · decydująca reguła z numerem wiersza · plik powstaje w twojej przeglądarce i nic nie jest wysyłane
Pisany i sprawdzany w twojej przeglądarce

Jeden plik na host i protokół: www.example.com i example.com potrzebują osobnych plików.

Zacznij od
Co robi
  • Każdy robot może pobrać każdy adres URL w witrynie.
  • Wiersz Sitemap: wskazuje robotom twój plik sitemap.
Czego nie robi
  • Niczego nie ukrywa: robots.txt to plik publiczny i prośba, a nie zamek.
  • Nie prosi wyszukiwarki o zaindeksowanie strony. Skanowanie i indeksowanie to osobne rzeczy.

Źródło: RFC 9309, stan na 26 października 2026.

Reguły

Każdy inny robot

User-agent: *

Tę grupę czyta każdy robot, który nie ma własnej.

  • Zezwala na całą witrynę.
Google go ignoruje, Bing go czyta.

Roboty według celu

Wybierz, co dostaje każdy znany robot. Robot z własną grupą czyta tylko tę grupę.

Wyszukiwarki8

Te roboty skanują, żeby zbudować indeks wyszukiwarki. Zablokowane strony mogą nadal trafić do wyników dzięki linkom z innych miejsc, ale bez niczego, co odczytano z nich samych.

  • GooglebotGoogleTak, według operatora
  • Storebot-GoogleGoogleTak, według operatora
  • BingbotMicrosoftTak, według operatora
  • ApplebotAppleTak, według operatora
  • Amzn-SearchBotAmazonTak, według operatora
  • DuckDuckBotDuckDuckGoTak, według operatora
  • YandexBotYandexTak, według operatora
  • BaiduspiderBaiduOperator tego nie podaje
Trenowanie AI6

Te roboty zbierają strony do trenowania modeli. Osobny token pozwala odmówić trenowania bez utraty widoczności w wyszukiwarce.

  • Google-ExtendedGoogleTylko token, nigdy niewysyłany w żądaniu
  • GPTBotOpenAITak, według operatora
  • ClaudeBotAnthropicTak, według operatora
  • Applebot-ExtendedAppleTylko token, nigdy niewysyłany w żądaniu
  • meta-externalagentMetaTak, według operatora
  • AmazonbotAmazonTak, według operatora
Odpowiedzi AI4

Te roboty pobierają strony, żeby odpowiadać na pytania z linkiem do ciebie.

  • OAI-SearchBotOpenAITak, według operatora
  • Claude-SearchBotAnthropicTak, według operatora
  • PerplexityBotPerplexityTak, według operatora
  • meta-webindexerMetaTak, według operatora
Pobierane dla jednej osoby5

Te roboty pobierają jedną stronę, bo poprosiła o nią konkretna osoba, więc niektórzy operatorzy mówią, że mogą one ignorować robots.txt.

Blokując je, odmawiasz człowiekowi, a nie skanowaniu: gdy ktoś poprosi asystenta AI o otwarcie jednej z twoich stron, asystent, który przestrzega pliku, nie przeczyta jej dla tej osoby. Jeśli chodzi ci o trenowanie, zablokuj roboty trenujące powyżej.

  • ChatGPT-UserOpenAINie zawsze, według operatora
  • Claude-UserAnthropicTak, według operatora
  • Perplexity-UserPerplexityNie zawsze, według operatora
  • meta-externalfetcherMetaNie zawsze, według operatora
  • Amzn-UserAmazonNie zawsze, według operatora
Podglądy, reklamy i inne8

Podglądy linków, narzędzia właściciela witryny, kontrole reklam, archiwa i roboty, których operatorzy podają inne zadanie albo nie podają żadnego.

  • Google-InspectionToolGoogleTak, według operatora
  • GoogleOtherGoogleTak, według operatora
  • AdsBot-GoogleGoogleTak, według operatora
  • OAI-AdsBotOpenAIOperator tego nie podaje
  • facebookexternalhitMetaNie zawsze, według operatora
  • meta-externaladsMetaTak, według operatora
  • BytespiderByteDanceOperator tego nie podaje
  • CCBotCommon CrawlTak, według operatora

Pliki sitemap

  • Wpisz swoją witrynę powyżej, a to pole wypełni się samo.

Plik

1 ostrzeżenie

Twój robots.txt/robots.txt

2 wiersze
  1. User-agent: *
  2. Allow: /

BłądOstrzeżenieInformacja23 B z 500 KiB

Co mówi tester

1 ostrzeżenie

  • Brak wiersza SitemapOstrzeżenie

    Co zrobić To najtańszy wiersz w pliku i czyta go każdy robot. Dodaj Sitemap: z pełnym adresem swojego pliku sitemap.

Przetestuj, zanim opublikujesz

Wybierz robota i ścieżkę: werdykt, decydująca reguła i grupa, którą czyta robot, pochodzą z mechanizmu dopasowania samego testera robots.txt.

Wypróbuj ścieżkę
Robot
  • Temu robotowi wolno pobrać ten adres URL.

    Wybrana grupa

    User-agent: *zaczyna się w wierszu 1

    Żadna grupa nie wymienia tego robota, więc obowiązuje grupa *.

    Decydująca reguła

    Allow: /wiersz 2

    Ta sama reguła obejmuje też

    /any-page

    Co porównano

    /

    Porównywane są tylko ścieżka i ciąg zapytania, bajt po bajcie, po zakodowaniu procentowym. Host, protokół i fragment nigdy nie są częścią reguły.

Jak utworzyć plik robots.txt

Napisz reguły, zapisz je jako zwykły plik tekstowy o nazwie robots.txt, zakodowany w UTF-8, i wgraj go do katalogu głównego witryny, tak żeby odpowiadał pod adresem https://example.com/robots.txt. Niczego nie trzeba zgłaszać: roboty same pytają o ten adres.

Google mówi to w trzech zdaniach: „Plik musi się nazywać robots.txt. Witryna może mieć tylko 1 plik robots.txt. Plik robots.txt musi się znajdować w katalogu głównym hosta witryny, do której się odnosi”. Musi być „plikiem tekstowym zakodowanym w formacie UTF-8”, a „roboty Google automatycznie go znajdą i zaczną z niego korzystać”.

Generator powyżej zaczyna od szablonu, wyjaśnia każdą regułę w trakcie pisania i odczytuje wynik parserem i mechanizmem dopasowania naszego testera robots.txt, zanim go skopiujesz. Pobrany plik nazywa się robots.txt: UTF-8 bez znacznika kolejności bajtów, tylko znaki LF na końcu wierszy i żadnej daty ani komentarza, o które nie prosiłeś.

Cztery kroki od reguł do działającego pliku robots.txt
  1. 1Napisz regułyZacznij od szablonu, a potem dodaj grupy i ścieżki, których potrzebuje twoja witryna.
  2. 2Zapisz jako robots.txtZwykły tekst, UTF-8, bez znacznika kolejności bajtów.
  3. 3Wgraj do katalogu głównegoMusi odpowiadać na najwyższym poziomie hosta:https://example.com/robots.txt
  4. 4PrzetestujTutaj przed publikacją, a potem opublikowany plik w testerze robots.txt.

Nie ma kroku zgłaszania: roboty Google same znajdują plik.

Generator robots.txt: szablon WordPress, wyjaśnienie każdej reguły, plik z numerami wierszy i uwagi testeraGenerator robots.txt: szablon WordPress, wyjaśnienie każdej reguły, plik z numerami wierszy i uwagi testeraCo robi szablonI czego nie robi: żaden z tych szablonów nie wyklucza strony z Google i każdy to mówi.Każda reguła wyjaśnionaŚcieżki, które reguła blokuje, i te, które pomija, z tego samego mechanizmu dopasowania, który wydaje każdy werdykt, oraz dłuższa reguła, która tworzy wyjątek.Plik i uwagiPlik z numerami wierszy, odczytany przez audyt samego testera robots.txt, zanim go skopiujesz.WerdyktWybierz robota i ścieżkę: dozwolony czy zablokowany, reguła, która o tym zdecydowała, z jej wierszem, i grupa, którą czyta robot.
Szablon WordPress w generatorze: co szablon robi, a czego nie, każda reguła wyjaśniona przez mechanizm dopasowania, plik w postaci, w jakiej zostanie opublikowany, i werdykt dla robota i ścieżki. Wybierz numer, aby zobaczyć, co pokazuje każda część.

Co jest w pliku robots.txt, wiersz po wierszu

Grupy i wiersze Sitemap. Grupa zaczyna się od jednego lub kilku wierszy User-agent z nazwami robotów, po których idą reguły Allow i Disallow, których te roboty przestrzegają; wiersz Sitemap stoi osobno, poza wszystkimi grupami.

RFC 9309 definiuje grupę jako „jeden lub więcej wierszy user-agent, po których następuje jedna lub więcej reguł”, a robot przestrzega dokładnie jednej grupy: tej, która wymienia jego własny token produktu, albo grupy *, gdy żadna go nie wymienia. Google czyta cztery pola i żadnych innych: user-agent, allow, disallow i sitemap.

W nazwach pól wielkość liter nie ma znaczenia, w ścieżkach ma: w przykładzie samego Google reguła disallow: /file.asp „ma zastosowanie” do /file.asp, ale do /FILE.asp „już nie”. Wiersz Sitemap: musi być pełnym adresem z protokołem i hostem; ten generator odrzuca każdy inny i mówi dlaczego.

Plik robots.txt wiersz po wierszu
robots.txt
  1. 1User-agent: *Zaczyna grupę dla każdego robota bez własnej grupy
  2. 2Disallow: /cart/Ścieżka, której te roboty nie mogą pobierać
  3. 3Allow: /cart/helpWyjątek: dłuższy niż Disallow, więc wygrywa
  4. 4
  5. 5User-agent: GPTBotZaczyna grupę z nazwami dwóch robotów
  6. 6User-agent: ClaudeBot
  7. 7Disallow: /Oba mają zablokowaną całą witrynę
  8. 8
  9. 9Sitemap: https://www.example.org/sitemap.xmlPoza wszystkimi grupami: pełny adres

Allow czy Disallow, * i $: jak reguła dopasowuje adres

Gdy do adresu URL pasuje kilka reguł, wygrywa ta z najdłuższą ścieżką, bez względu na jej rodzaj, a przy remisie wygrywa Allow. * oznacza dowolny ciąg znaków, a $ koniec adresu URL; nic innego w ścieżce nie ma specjalnego znaczenia.

RFC 9309: „Najbardziej szczegółowe znalezione dopasowanie MUSI zostać użyte. Najbardziej szczegółowe dopasowanie to to, które ma najwięcej oktetów” oraz „jeśli reguła allow i reguła disallow są równoważne, POWINNA zostać użyta reguła allow”. Tak działa plik samego WordPress: Disallow: /wp-admin/ zamyka katalog, a dłuższe Allow: /wp-admin/admin-ajax.php otwiera w nim jeden plik.

Reguła bez $ jest prefiksem, więc Disallow: /admin blokuje też /administrator; dodaj ukośnik (/admin/), gdy chodzi ci o katalog. Pod każdą regułą edytor powyżej pokazuje ścieżki, które obejmuje, i niektóre z tych, których nie obejmuje, z mechanizmu dopasowania, który wydaje każdy werdykt, i oznacza regułę, z którą zawsze wygrywa inna.

* i $ oraz to, co naprawdę obejmuje każdy wzorzec
WzorzecObejmujeNie obejmuje
/admin/admin/ · /administrator · /admin-tools/wp-admin
/admin//admin/users/administrator
/*.pdf$/files/report.pdf/report.pdf?v=2
/*?/search?q=x/search

?, ., [ i + to zwykłe znaki. W robots.txt nie ma wyrażeń regularnych.

Dwie reguły pasują do jednego URL: wygrywa dłuższa ścieżka
/admin/report.pdf
  • Disallow: /admin/7 znaków
  • Allow: /admin/report.pdf17 znaków

Wygrywa Allow: dopasowuje większą część ścieżki.

Dokładny remis
Disallow: /files/7 znakówAllow: /files/7 znaków

Ta sama długość, więc wygrywa Allow: Google stosuje „regułę najmniej restrykcyjną”.

Przykładowy plik należy do www.example.org, wymyślonej witryny: żaden prawdziwy robots.txt nie jest tu pokazany jako zepsuty.

robots.txt dla WordPress, Shopify i Next.js

Wszystkie trzy już go udostępniają, a szablony powyżej piszą to, co opisuje dokumentacja każdej platformy: WordPress blokuje obszar administracyjny, ale zezwala na admin-ajax.php, Shopify blokuje koszyki, realizację zakupu oraz filtrowane lub sortowane kolekcje, a Next.js udostępnia plik, który umieścisz w app/robots.txt.

WordPress pisze swój plik w kodzie, w do_robots(): User-agent: *, Disallow dla ścieżki panelu administracyjnego i Allow dla admin-ajax.php, a do tego, w publicznej witrynie od WordPress 5.5, wiersz Sitemap: dla /wp-sitemap.xml. Gdy włączona jest opcja „Proś wyszukiwarki o nieindeksowanie witryny”, WordPress 5.3 i nowsze nie piszą już Disallow: /; zamiast tego używają metatagu robots.

Shopify mówi, że jego domyślny plik „sprawdza się w większości sklepów”. Nie ma pliku do wgrania: zmiana oznacza edycję pliku robots.txt.liquid motywu, co Shopify nazywa „nieobsługiwanym dostosowaniem”. Next.js udostępnia app/robots.txt w takiej postaci, w jakiej go zapisano, albo buduje plik z app/robots.ts.

Co udostępniają WordPress, Shopify i Next.js i gdzie to zmienić
WordPress
  1. 1User-agent: *
  2. 2Allow: /wp-admin/admin-ajax.php
  3. 3Disallow: /wp-admin/
  4. 4
  5. 5Sitemap: https://example.com/wp-sitemap.xml

Pisze go sam WordPress. Zmienisz go wtyczką albo filtrem robots_txt.

Shopify
  1. 1User-agent: *
  2. 2Allow: /
  3. 3Disallow: /admin
  4. 4Disallow: /cart/
  5. 5Disallow: /checkout
  6. 6Disallow: /checkouts/
  7. 7Disallow: /account
  8. 8Disallow: /orders
  9. 9Disallow: /collections/*+*
  10. 10Disallow: /collections/*sort_by*
  11. 11
  12. 12Sitemap: https://example.com/sitemap.xml

Domyślny plik Shopify. Zmienisz go w pliku robots.txt.liquid motywu.

Next.js
  1. 1User-agent: *
  2. 2Allow: /
  3. 3
  4. 4Sitemap: https://example.com/sitemap.xml

Twój własny plik w app/robots.txt albo app/robots.ts, udostępniany pod /robots.txt.

Każdy plik to to, co szablon o tej samej nazwie pisze dla example.com.

Blokowanie robotów AI: co naprawdę działa

Grupa wymieniająca robota, a pod nią Disallow: /, działa na każdego robota, którego operator mówi, że przestrzega robots.txt, i tylko na takie. To prośba, którą robot respektuje, a nie zamek: robot, który ignoruje plik, nadal może pobrać każdą stronę.

Większość firm AI ma więcej niż jednego robota, więc decyduj osobno dla każdego zadania. Blokując robota trenującego, takiego jak GPTBot czy ClaudeBot, blokujesz tego, który zbiera strony dla modeli; blokując robota od odpowiedzi, takiego jak OAI-SearchBot czy PerplexityBot, znikasz też z linków w odpowiedziach tych asystentów. Token Google do trenowania to nie Googlebot: „Google-Extended nie ma wpływu na uwzględnienie witryny w wyszukiwarce Google ani nie jest używany jako czynnik decydujący o pozycji w rankingu w wyszukiwarce Google”.

Trzeci rodzaj jest inny. ChatGPT-User, Claude-User, Perplexity-User i Amzn-User pobierają jedną stronę, bo ktoś poprosił asystenta o jej otwarcie, więc blokując je, odmawiasz tej osobie, a niektórzy ich operatorzy mówią, że te roboty i tak mogą ignorować robots.txt. Dlatego lista robotów powyżej trzyma je w osobnej sekcji.

Trzy zadania robotów AI i to, co każdy operator mówi o robots.txt
OperatorTrenowanieOdpowiedzi AIProśba jednej osoby
OpenAIGPTBotPrzestrzegaOAI-SearchBotPrzestrzegaChatGPT-UserMoże ignorować
AnthropicClaudeBotPrzestrzegaClaude-SearchBotPrzestrzegaClaude-UserPrzestrzega
PerplexityBrak takiego robotaPerplexityBotPrzestrzegaPerplexity-UserMoże ignorować
GoogleGoogle-ExtendedTylko tokenBrak takiego robotaBrak takiego robota
AppleApplebot-ExtendedTylko tokenBrak takiego robotaBrak takiego robota
Metameta-externalagentPrzestrzegameta-webindexerPrzestrzegameta-externalfetcherMoże ignorować
AmazonAmazonbotPrzestrzegaBrak takiego robotaAmzn-UserMoże ignorować
  • TrenowanieZbiera strony do trenowania modelu.
  • Odpowiedzi AIPobiera strony, żeby odpowiedzieć na pytanie, zwykle z linkiem do ciebie.
  • Prośba jednej osobyPobiera jedną stronę, bo ktoś o nią poprosił. Niektórzy operatorzy mówią, że ten robot może ignorować robots.txt.

robots.txt nie wyklucza strony z Google: użyj noindex

Prosi roboty, żeby nie pobierały strony; nie prosi wyszukiwarki, żeby jej nie wyświetlała. O zablokowanych stronach Google mówi, że „nadal może indeksować ich adresy URL i wyświetlać je w wynikach wyszukiwania bez fragmentu treści”, gdy linkują do nich inne strony. Żeby strona nie trafiła do indeksu, użyj noindex i zostaw stronę dostępną dla robotów, tak żeby tag mógł zostać odczytany.

Search Console nazywa to „Strona zindeksowana, ale zablokowana przez plik robots.txt”. A Google mówi wprost, że „aby reguła noindex działała poprawnie, nie możesz blokować strony lub zasobu w pliku robots.txt”: noindex zablokowanej strony nigdy nie zostaje odczytany, bo robot w ogóle tej strony nie pobiera.

Dlatego każdy szablon powyżej mówi, czego nie robi. Disallow: / w szablonie wersji testowej trzyma z daleka uprzejme roboty, ale adres URL wersji testowej, do którego prowadzi link z dowolnego miejsca, nadal może trafić do wyników: ukryj wersję testową za hasłem i nigdy nie przenoś tego wiersza do działającej witryny.

Dlaczego zablokowana strona może się pojawić w Google i dlaczego jej noindex nigdy nie zostaje odczytany
  1. Robot
  2. Czyta robots.txt
  3. Adres URL jest zablokowany
  4. Nie pobiera strony
Sama strona<meta name="robots" content="noindex">Nigdy nie zostaje odczytany
Indeks wyszukiwarkiAdres URL, bez opisu
Search Console nazywa toStrona zindeksowana, ale zablokowana przez plik robots.txt

Żeby strona nie trafiła do indeksu: wpuść robota i użyj noindex albo wymagaj logowania.

Gdzie musi się znajdować plik robots.txt

W katalogu głównym hosta, którego dotyczy, jako /robots.txt, jeden plik na host i protokół. https://example.com/robots.txt nic nie mówi o https://www.example.com ani o https://shop.example.com: każdy z nich potrzebuje własnego pliku, a robots.txt w podkatalogu nigdy nie jest czytany.

Google: „Plik robots.txt musi się znajdować w katalogu głównym witryny i musi być dostępny za pomocą obsługiwanego protokołu”. Raport dotyczący pliku robots.txt w Search Console wymienia osobno pliki 20 głównych hostów w usłudze, a HTTP i HTTPS liczy oddzielnie.

Wpisz swoją witrynę na górze generatora, a poda on dokładny adres, pod którym plik musi odpowiadać, wypełni wiersz Sitemap: dla tego hosta i podlinkuje tester robots.txt, który odczyta opublikowany plik, gdy tylko będzie dostępny.

Jeden plik robots.txt na host i protokół
Ten plikDotyczy
https://example.com/robots.txtKażdego adresu URL w https://example.com
https://www.example.com/robots.txtTylko www.example.com: to osobny host
http://example.com/robots.txtTylko witryny http://: to osobny protokół
https://shop.example.com/robots.txtTylko shop.example.com
https://example.com/blog/robots.txtNiczego: robots.txt w podkatalogu nigdy nie jest czytany

Crawl-delay, Host, Clean-param i Content-Signal

Google nie czyta żadnej z nich. Crawl-delay czyta Bing, Clean-param Yandex, Host nie ma ani w standardzie, ani na liście Google, a Content-Signal od Cloudflare deklaruje, do czego wolno używać twoich treści, a nie co wolno skanować.

Google wymienia swoje cztery pola i dodaje, że „inne pola, np. crawl-delay, nie są obsługiwane”. Własny blog Bing mówi, że „dyrektywa crawl-delay przyjmuje jako wartości tylko dodatnie liczby całkowite”, więc edytor odrzuca ułamek, zamiast go zapisać. Aktualnej strony pomocy Bing nie udało się odczytać, żeby potwierdzić zakres lub jednostkę, więc ta strona nie podaje ani jednego, ani drugiego.

Żadna z nich nie psuje pliku: RFC 9309 stanowi, że parsowanie innych rekordów „NIE MOŻE zakłócać parsowania rekordów zdefiniowanych wprost”. Z tych czterech generator zapisuje tylko Crawl-delay, z opisem, kto ją czyta.

Która wyszukiwarka czyta którą dyrektywę
DyrektywaGoogleBingYandex
User-agentCzytaCzytaCzyta
AllowCzytaCzytaCzyta
DisallowCzytaCzytaCzyta
SitemapCzytaCzytaCzyta
Crawl-delayIgnorujeCzytaNiepotwierdzone
Clean-paramIgnorujeIgnorujeCzyta
HostIgnorujeIgnorujeNiepotwierdzone
noindexIgnorujeNiepotwierdzoneNiepotwierdzone
Content-SignalIgnorujeNiepotwierdzoneNiepotwierdzone
  • Google obsługuje cztery pola i mówi to wprost: user-agent, allow, disallow i sitemap.
  • Własny blog Bing potwierdza Crawl-delay. Nie podajemy dla niego zakresu ani jednostki: aktualnej strony pomocy Bing nie udało się odczytać, żeby je sprawdzić.
  • Wycofany przez Google w 2019 roku i nigdy niebędący częścią standardu.
  • Content Signals Policy od Cloudflare: deklaracja, jak wolno używać treści, a nie reguła skanowania.

Jak przetestować plik robots.txt, który właśnie napisałeś

Dwa razy. Przed publikacją w sekcji Przetestuj, zanim opublikujesz powyżej: wybierz robota i ścieżkę i zobacz regułę, która o tym decyduje. Po wgraniu uruchom tester robots.txt na opublikowanym pliku, bo to, co odpowiada serwer, liczy się tak samo jak to, co mówi plik.

Plik, który odpowiada 404, jest traktowany tak, jakby go w ogóle nie było, więc każdy robot może pobrać wszystko; plik, który odpowiada 500 lub 503, oznacza, że robot zgodny ze standardem nie może pobrać niczego. RFC 9309 §2.3.1.4: robot „MUSI przyjąć całkowity zakaz”. Google łagodzi to własną drabiną, pokazaną na rysunku.

Tester robots.txt od Google już nie istnieje: Search Central ogłosił jego wycofanie 15 listopada 2023 roku, a raport dotyczący pliku robots.txt, który go zastąpił, pokazuje plik pobrany przez Google, ale nie testuje adresu URL względem reguły. Ten test wykonują sekcja Przetestuj, zanim opublikujesz w generatorze powyżej oraz tester robots.txt.

Co każda odpowiedź na GET /robots.txt oznacza dla całej witryny
Serwer odpowiadaRobot wtedy
200Przestrzega reguł z pliku.
301, 302Podąża za co najmniej pięcioma skokami, potem przerywa. Google traktuje wtedy plik jak 404.
403, 404Skanuje wszystko, jakby pliku nie było.
429Nie skanuje niczego. Google zalicza ten kod do odpowiedzi 5xx, a nie 4xx.
500, 503Według standardu nie skanuje zupełnie niczego.
Nie ma takiej nazwyNie ma witryny do odczytania, więc nie ma werdyktu.
Co Google robi z 5xx, dzień po dniu
  1. 1Pierwsze 12 godzinPrzestaje skanować witrynę i wciąż ponawia próby pobrania pliku
  2. 2Do 30 dniUżywa ostatniej prawidłowej kopii robots.txt
  3. 3Po 30 dniachJeśli witryna działa, zachowuje się tak, jakby nie było robots.txt

Błędy w robots.txt, które kosztują witryny ruch

Każdy z kosztownych błędów to jeden krótki wiersz: Disallow: / pozostawione po wersji testowej, prefiks sięgający dalej, niż chciałeś, wiersz Sitemap: zapisany jako ścieżka, ścieżka bez ukośnika na początku i wiersz noindex, którego Google przestał czytać w 2019 roku.

Każdy z nich zostaje tu wychwycony, zanim skopiujesz plik. Audyt testera działa w trakcie pisania, a jego uwagi są pod plikiem; wiersz, który robot by odrzucił, w ogóle nie trafia do pliku, a edytor przy danym polu mówi, dlaczego go pominięto.

Jeden błąd to para, a nie pojedynczy wiersz: adres URL zablokowany tutaj, który na stronie ma też noindex. Robot nigdy nie pobiera strony, więc nigdy nie widzi noindex, a adres URL może zostać w wynikach wyszukiwania. Wybierz jedno: zablokuj skanowanie albo wpuść robota i powiedz mu, żeby nie indeksował.

Źródła

Sześć błędów w robots.txt i to, co każdy z nich naprawdę robi
Wiersz, jak go zapisanoCo się naprawdę dzieje
Disallow: /Pozostałość po wersji testowej: cała działająca witryna jest zamknięta dla każdego robota.
Disallow: /adminBlokuje też /administrator i /admin-tools. Dodaj ukośnik na końcu.
Allow: / pod User-agent: *Robot, który ma własną grupę w dowolnym miejscu pliku, nigdy tego nie czyta.
Sitemap: /sitemap.xmlWiersz Sitemap musi być pełnym adresem z hostem.
Disallow: adminŚcieżka zaczyna się od /. Ta reguła niczego nie dopasowuje.
noindex: /private/Martwe od 2019 roku. Strona nadal może być skanowana i indeksowana.

Generator robots.txt: częste pytania

Jak utworzyć plik robots.txt?

Wybierz szablon powyżej albo napisz reguły sam, a potem skopiuj lub pobierz plik. Zapisz go jako zwykły tekst w UTF-8 o nazwie robots.txt i wgraj do katalogu głównego witryny, tak żeby odpowiadał pod adresem https://twoja-witryna/robots.txt. Nie ma kroku zgłaszania: roboty Google same znajdują plik. Potem uruchom tester robots.txt na opublikowanym adresie, żeby potwierdzić, że serwer odpowiada kodem 200.

Gdzie umieścić plik robots.txt?

W katalogu głównym hosta, którego dotyczy, jako /robots.txt, nigdy w podkatalogu, gdzie żaden robot go nie szuka. Każdy host i protokół potrzebuje własnego pliku, więc example.com, www.example.com i shop.example.com udostępniają osobne pliki robots.txt. W Shopify nie ma pliku do wgrania: edytujesz plik robots.txt.liquid motywu. W Next.js plik trafia do katalogu app.

Czy w ogóle potrzebuję pliku robots.txt?

Nie jest konieczny. Gdy witryna nie ma pliku robots.txt, a jego adres odpowiada 404, robot może pobrać wszystko, a RFC 9309 na to pozwala. Plik warto mieć choćby dla wiersza Sitemap, a także po to, żeby trzymać roboty z dala od koszyków, wewnętrznych wyników wyszukiwania i niekończących się adresów z filtrami. Najważniejsze, żeby ten adres nigdy nie odpowiadał błędem serwera: 5xx każe robotowi zgodnemu ze standardem nie pobierać zupełnie niczego.

Czy robots.txt może usunąć stronę z Google?

Nie. Powstrzymuje robota przed pobraniem strony, ale nie Google przed jej wyświetlaniem. Zablokowany adres URL, do którego prowadzą linki z innych miejsc, nadal może zostać zaindeksowany i pokazany bez opisu, ze statusem Search Console „Strona zindeksowana, ale zablokowana przez plik robots.txt”. Żeby strona nie trafiła do wyników, pozwól Google ją skanować i wyślij metatag noindex albo nagłówek X-Robots-Tag lub ukryj ją za logowaniem. Nigdy nie łącz Disallow i noindex dla tego samego adresu URL.

Czy blokowanie robotów AI wpływa na moje pozycje w Google?

Nie, jeśli nie zgadzasz się na trenowanie AI. Google-Extended, token, który Google czyta przy trenowaniu modeli, jest czymś innym niż Googlebot, a Google mówi, że nie wpływa on na uwzględnienie witryny w wyszukiwarce Google i nie jest czynnikiem rankingowym. Blokując roboty GPTBot, ClaudeBot i inne roboty trenujące, też niczego nie zmieniasz w wyszukiwarkach, bo każdy robot czyta tylko grupę, która go wymienia.

Czy blokować ChatGPT-User i Claude-User?

Tylko jeśli chcesz odmawiać ludziom. Te roboty pobierają pojedynczą stronę, bo ktoś poprosił ChatGPT lub Claude o jej otwarcie, więc zablokowanie ich powstrzymuje asystenta tej osoby przed przeczytaniem twojej strony; nie zatrzymuje żadnego skanowania. Niektórzy operatorzy mówią, że te roboty i tak mogą ignorować robots.txt. Jeśli sprzeciwiasz się trenowaniu, zablokuj zamiast nich roboty GPTBot i ClaudeBot: dokładnie to robi szablon „Bez trenowania AI”.

Czy każda subdomena potrzebuje osobnego pliku robots.txt?

Tak. Plik robots.txt dotyczy tylko hosta i protokołu, z którego jest udostępniany, więc blog.example.com, shop.example.com i www.example.com potrzebują własnych plików, a reguły z example.com/robots.txt nigdy do nich nie docierają. Z tego samego powodu raport dotyczący pliku robots.txt w Search Console wymienia pliki osobno dla każdego hosta. Wpisuj każdy host do generatora po kolei: dla każdego wypełni właściwy wiersz Sitemap.

Czy Google obsługuje Crawl-delay?

Nie. Google wymienia cztery obsługiwane pola — user-agent, allow, disallow i sitemap — i mówi, że pola takie jak crawl-delay nie są obsługiwane. Bing go czyta, a jego własny blog mówi, że wartość musi być dodatnią liczbą całkowitą, dlatego ten generator odrzuca ułamki. Wiersz Crawl-delay nie szkodzi, ale nie spowolni robota Googlebot, a Search Console nie ma już ustawienia szybkości skanowania.

Co jest w domyślnym pliku robots.txt WordPress?

Trzy wiersze i, w publicznej witrynie, wiersz Sitemap: User-agent: *, Disallow dla /wp-admin/, Allow dla /wp-admin/admin-ajax.php oraz, od WordPress 5.5, wiersz Sitemap dla /wp-sitemap.xml. Tak wygląda to, co pisze funkcja do_robots() samego WordPress. Dłuższe Allow wygrywa z Disallow, więc admin-ajax.php nadal można skanować. Wybierz szablon WordPress, żeby zacząć dokładnie od tego pliku.

Jak przetestować plik robots.txt?

Przed publikacją użyj na tej stronie sekcji Przetestuj, zanim opublikujesz: wybierz robota i ścieżkę, żeby zobaczyć, czy adres jest dozwolony, czy zablokowany, regułę, która o tym zdecydowała, z jej wierszem, i grupę, którą przeczytał robot. Po wgraniu pliku uruchom tester robots.txt na opublikowanej witrynie. Pobiera on prawdziwy plik, więc powie ci też, co kod stanu serwera oznacza dla każdego robota.

Dlaczego moja reguła Allow nie działa?

Zwykle dlatego, że do tego samego adresu URL pasuje dłuższe Disallow: wygrywa najdłuższa ścieżka, bez względu na rodzaj reguły, a Allow wygrywa tylko przy remisie. Albo robot ma własną grupę, więc nigdy nie czyta grupy *, w której stoi twoje Allow. Edytor powyżej oznacza regułę, z którą zawsze wygrywa inna, a Przetestuj, zanim opublikujesz wskazuje decydującą regułę i grupę, którą przeczytał robot.

Czy ten generator jest darmowy i czy wysyła mój plik?

Jest darmowy, bez rejestracji i bez dziennego limitu. Wszystko dzieje się w twojej przeglądarce: plik jest pisany, parsowany i sprawdzany na tej stronie, a nic, co wpiszesz, nigdzie nie jest wysyłane. Jedyne linki na zewnątrz to źródła szablonów i tester robots.txt, który pobiera twój opublikowany plik z naszego serwera dopiero wtedy, gdy go otworzysz i poprosisz o sprawdzenie.