Napisz reguły robots.txt i sprawdź dokładnie, co blokują
Ten generator robots.txt składa plik z grup user agentów i reguł Allow/Disallow, dodaje mapę witryny i jednym kliknięciem stosuje gotowe ustawienia, takie jak blokada crawlerów trenujących AI czy standardowy plik dla WordPressa. Tester odpowiada potem na najważniejsze pytanie: czy ten URL jest dozwolony dla tego crawlera i która linia o tym decyduje? Działa zgodnie z RFC 9309 i udokumentowanym zachowaniem Google — najbardziej szczegółowa grupa user-agent, najdłuższa pasująca ścieżka, Allow wygrywa przy remisie oraz symbole wieloznaczne * i $ — i wskazuje błędy na bieżąco. Wszystko działa w Twojej przeglądarce.
Jak utworzyć i przetestować robots.txt
- 1Zacznij od szablonu — Zezwól na wszystko, Zablokuj crawlery AI, WordPress, Zablokuj narzędzia SEO lub Zablokuj wszystko — albo edytuj grupy bezpośrednio.
- 2W każdej grupie wpisz user agenty, których dotyczy (
*oznacza wszystkie crawlery), i dodaj ścieżki Disallow i Allow, np./admin/lub/*.pdf$. - 3Dodaj bezwzględny URL swojej mapy witryny XML, sprawdź ostrzeżenia pod wynikiem, a potem skopiuj lub pobierz
robots.txt. - 4Przełącz na Test, wpisz nazwę crawlera i po jednym URL w linii, a zobaczysz werdykt dla każdego z nich wraz z regułą i grupą, które o nim zdecydowały. Wklej tam dowolny działający robots.txt, aby go sprawdzić.
- 5Wgraj plik do katalogu głównego hosta, aby był dostępny pod
https://yourdomain.com/robots.txt.
Jak działa robots.txt
Zanim przyzwoity crawler zacznie indeksować witrynę, pobiera /robots.txt z katalogu głównego hosta i szuka skierowanych do siebie reguł. Plik to lista grup: jedna lub więcej linii User-agent, po których następują reguły Allow i Disallow. Linie Sitemap są poza grupami i dotyczą wszystkich.
Każdy protokół, host i port ma własny robots.txt: reguły w https://example.com/robots.txt nie obejmują https://shop.example.com ani http://example.com. Brak pliku (404) oznacza, że wszystko można crawlować; błąd serwera sprawia, że Google wstrzymuje crawlowanie witryny.
Zasady dopasowania — dokładnie
- Wybór grupy
- Crawler słucha tylko grupy, której user-agent najdokładniej go wskazuje, bez rozróżniania wielkości liter — Googlebot-Image używa grupy Googlebot-Image, jeśli istnieje, w przeciwnym razie grupy Googlebot, a w ostateczności *. Grupy wskazujące tego samego agenta są scalane. Reguły z grupy * nie dodają się do grupy nazwanej.
- Wygrywa najdłuższe dopasowanie
- W obrębie grupy decyduje reguła, której ścieżka pasuje do największej liczby znaków ścieżki URL. Disallow: /shop razem z Allow: /shop/sale zezwala na /shop/sale/shoes.
- Remis wygrywa Allow
- Jeśli reguły Allow i Disallow pasują z tą samą długością, URL jest dozwolony.
- * i $
- * pasuje do dowolnego ciągu znaków, a $ na końcu przywiązuje wzorzec do końca URL: Disallow: /*.pdf$ blokuje /files/report.pdf, ale nie /report.pdf?download=1.
- Ścieżki to prefiksy
- Disallow: /admin blokuje /admin, /admin/ i /administrator. Dodaj ukośnik na końcu, aby zablokować tylko folder. Reguły są porównywane ze ścieżką i query stringiem z rozróżnieniem wielkości liter.
- Pusty Disallow
- Disallow: bez ścieżki zezwala na wszystko; to przyjęty sposób zapisu grupy, która niczego nie blokuje.
Blokowanie crawlerów AI
Firmy AI publikują tokeny user-agent swoich crawlerów, aby właściciele witryn mogli z nich zrezygnować. Szablon Zablokuj crawlery AI blokuje GPTBot, ChatGPT-User i OAI-SearchBot (OpenAI), ClaudeBot, Claude-User, Claude-SearchBot i anthropic-ai (Anthropic), Google-Extended (trenowanie Gemini), Applebot-Extended, CCBot (Common Crawl), PerplexityBot, Bytespider (ByteDance), meta-externalagent (Meta), Amazonbot i inne, pozostawiając zwykłym wyszukiwarkom swobodę crawlowania.
Google-Extended i Applebot-Extended to tokeny sterujące, a nie osobne crawlery: ich zablokowanie wyłącza Twoje treści z trenowania Gemini i Apple Intelligence bez wpływu na wyszukiwarkę Google czy crawlowanie wyszukiwania przez Applebot. Pamiętaj, że boty związane z wyszukiwaniem, takie jak OAI-SearchBot i Claude-SearchBot, odpowiadają za cytowania w odpowiedziach wyszukiwania AI; usuń je z listy, jeśli chcesz tam się pojawiać. Przestrzeganie reguł jest dobrowolne, więc dla crawlerów ignorujących robots.txt używaj reguł serwera lub firewalla.
Czego robots.txt nie potrafi
robots.txt steruje crawlowaniem, a nie indeksowaniem. Zablokowany URL nadal może pojawić się w wynikach Google — bez opisu — jeśli inne strony do niego linkują. Aby wykluczyć stronę z wyników, zezwól na crawlowanie i dodaj meta tag robots noindex lub nagłówek X-Robots-Tag; Google od 2019 roku ignoruje linie Noindex: w robots.txt. Wygeneruj tag w generatorze meta tagów.
Nie używaj robots.txt do ukrywania prywatnych obszarów: plik jest publiczny i wymienia dokładnie te ścieżki, których wolałbyś nikomu nie pokazywać. Chroń je uwierzytelnianiem. I nie blokuj plików CSS i JavaScript potrzebnych stronom do wyświetlenia, bo Google nie zobaczy strony tak jak odwiedzający.
Crawl-delay, Host i inne dyrektywy
Crawl-delay prosi crawler o odczekanie kilku sekund między żądaniami. Bing i Yandex go respektują; Google go ignoruje i sam dostosowuje tempo crawlowania do odpowiedzi serwera. Host był dyrektywą wyłącznie dla Yandexa, wskazującą preferowany mirror, i jest już przestarzały. Google czyta najwyżej 500 KiB pliku robots.txt.
Wskaż crawlerom mapę witryny XML za pomocą jednej lub kilku linii Sitemap: z bezwzględnymi URL; mogą znajdować się w dowolnym miejscu pliku. Samą mapę utworzysz w generatorze mapy witryny.
Najczęstsze pytania
- Gdzie umieścić plik robots.txt?
- W katalogu głównym hosta, aby był dostępny pod https://example.com/robots.txt. robots.txt w podfolderze jest ignorowany, a każda subdomena potrzebuje własnego.
- Jak zablokować wszystkie crawlery?
- Użyj User-agent: * i dalej Disallow: /. Crawlery przestrzegające robots.txt przestaną pobierać strony, choć znane już URL mogą jeszcze przez jakiś czas pozostać w wynikach.
- Jak zablokować GPTBot i inne crawlery AI?
- Dodaj grupę z ich user agentami — GPTBot, ClaudeBot, CCBot, Google-Extended, PerplexityBot i tak dalej — z Disallow: /. Szablon Zablokuj crawlery AI zapisze tę grupę za Ciebie i pozostawi wyszukiwarki dozwolone.
- Czy Disallow usuwa stronę z Google?
- Nie. Zatrzymuje crawlowanie, ale URL nadal może zostać zaindeksowany na podstawie linków. Użyj meta tagu noindex na stronie dostępnej dla crawlerów albo usuń ją w Search Console, aby wykluczyć ją z wyników.
- Która reguła wygrywa, gdy pasują i Allow, i Disallow?
- Ta z dłuższą ścieżką. Przy równej długości wygrywa Allow. Tester pokazuje, która linia zdecydowała o każdym URL.
- Czy robots.txt rozróżnia wielkość liter?
- Nazwy dyrektyw i wartości user-agent nie, ale ścieżki tak: Disallow: /Admin nie blokuje /admin. Sama nazwa pliku musi brzmieć robots.txt, małymi literami.
- Czy Google obsługuje Crawl-delay?
- Nie. Google ignoruje Crawl-delay i ustala tempo crawlowania na podstawie odpowiedzi serwera. Bing i Yandex go respektują.
- Czy mój robots.txt jest gdzieś wysyłany?
- Nie. Tworzenie, parsowanie i testowanie odbywa się w Twojej przeglądarce.