Zgoda to nie to samo co wykluczenie
robots.txt odmawia zgody na pobranie adresu i nic ponadto. Google mówi wprost, że nie jest to mechanizm trzymania strony poza wynikami. Te dwie sprawy są bez przerwy mylone, a z tego pomieszania bierze się bardzo konkretna, dobrze widoczna usterka.
Zablokowany adres, do którego linkują inne witryny, i tak może trafić do indeksu. Google wie, że adres istnieje, bo ktoś do niego podlinkował; nie widzi tylko, co się na nim znajduje. Może więc pokazać adres zupełnie bez opisu — najgorsze z obu światów, bo strona jest publicznie w wynikach, a ty nie masz żadnego wpływu na to, jak wygląda.
Jak czytać i pisać ten plik
Plik leży w katalogu głównym hosta i dotyczy wyłącznie tego hosta i tego protokołu. Reguły są pogrupowane według user-agenta, a robot stosuje się do jednej, najbardziej pasującej do niego grupy — nie do każdej, do której mógłby pasować. Wewnątrz grupy Google rozstrzyga konflikty bardziej szczegółową regułą, nie kolejnością.
User-agent: *
Disallow: /admin/
Disallow: /*.pdf$
Allow: /admin/public/
User-agent: Googlebot
Disallow: /drafts/
Sitemap: https://example.com/sitemap.xml Dwa szczegóły tego przykładu odpowiadają za większość nieporozumień. Wiersz Allow jest bardziej szczegółowy niż Disallow powyżej, więc /admin/public/ pozostaje dostępny. A gdy tylko istnieje grupa Googlebot, Googlebot stosuje się wyłącznie do niej — grupa z gwiazdką przestaje go dotyczyć, więc /admin/ jest tu dla Googlebota dostępny. To prawie nigdy nie jest to, o co autorowi chodziło.
- Zablokowanie ścieżki nie usuwa adresów już zaindeksowanych, wstrzymuje jedynie przyszłe pobrania.
- Dyrektywa Sitemap jest niezależna od grup user-agenta i może stać w dowolnym miejscu pliku.
- Błąd 5xx na samym robots.txt może skłonić robota do odpuszczenia całego hosta, więc serwuj go z czegoś niezawodnego.
Gdzie reguła robots szkodzi z dala od siebie
Najdroższe błędy w robots.txt to nie strony, które chciałeś zablokować. To zasoby, których strona potrzebuje, by się wyrenderować. Wyszukiwarki renderują strony przed zaindeksowaniem, a renderowanie pobiera skrypty, arkusze stylów i odpowiedzi API.
Zablokuj ścieżkę ze skryptami albo trasę API, a robot nadal bez problemu pobierze HTML. Potem wyrenderuje niemal pustą stronę i zaindeksuje niemal pustą stronę. Żaden raport nie powie, że strona była zablokowana, bo strona nie była — zablokowane było tylko to, czego potrzebowała.
Mapa witryny to sugestia, nie kolejka
Mapy pomagają w odkrywaniu dokładnie tam, gdzie linkowanie jest najsłabsze: na dużych witrynach, na zupełnie nowych witrynach z niewieloma linkami przychodzącymi i na witrynach pełnych mediów pozbawionych naturalnego tekstu odnośnika. Google stwierdza bez ogródek, że umieszczenie adresu nie gwarantuje ani pobrania, ani obecności w indeksie.
Sam Google wskazuje, że mniejsza, dobrze zlinkowana witryna może nie potrzebować mapy w ogóle, bo robot znajdzie wszystko, idąc za linkami. Warto potraktować to poważnie, zanim zbudujesz infrastrukturę map, by rozwiązać problem, który lepiej rozwiąże linkowanie wewnętrzne.
| Limit | Wartość |
|---|---|
| Adresy w jednym pliku mapy | 50 000 |
| Rozmiar pliku bez kompresji | 50 MB |
| Powyżej któregokolwiek z nich | Podziel i wskaż części z indeksu map witryny |
Które znaczniki są czytane, pomijane lub podejrzane
To tutaj marnuje się większość pracy nad mapami. Dwa z czterech typowych znaczników nie robią zupełnie nic, a trzeci potrafi zadziałać przeciwko tobie.
| Znacznik | Co robi z nim Google |
|---|---|
| loc | Czyta — to sam adres |
| lastmod | Używany tylko wtedy, gdy jest spójny i weryfikowalnie poprawny |
| changefreq | Pomijany |
| priority | Pomijany |
To warunek przy lastmod boli najbardziej. Jeśli twoja kompilacja stempluje każdy adres godziną wdrożenia, każda wartość jest jednocześnie fałszywa i łatwa do obalenia: strona się nie zmieniła, a wyszukiwarka to widzi. Gdy przestaje ufać temu polu, przestaje go używać, a to zostawia cię w gorszej sytuacji, niż gdybyś nie wysłał lastmod wcale. Podawaj go wyłącznie przy prawdziwych zmianach treści głównej i raczej pomiń, niż zmyślaj.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/guides/indexing/</loc>
<lastmod>2026-06-14</lastmod>
</url>
</urlset> Dobór właściwego narzędzia
Niemal każde pytanie z tego obszaru rozstrzyga się, gdy rozdzielisz trzy zadania, które wydają się podobne, a takie nie są.
| Cel | Narzędzie | Dlaczego |
|---|---|---|
| Nie marnować pobrań na śmieciowe adresy | robots.txt | Całkowicie zapobiega pobraniu |
| Trzymać stronę poza wynikami | noindex albo logowanie | Wymaga pobrania, by dyrektywa mogła zostać odczytana |
| Pomóc w odkryciu stron | Linki wewnętrzne, potem mapa witryny | Linki niosą kontekst, wpisy w mapie nie |