Przejdź do treści głównej
← Wszystkie przewodniki

robots.txt i mapy witryny

Oba pliki mówią robotowi coś o twoich adresach i żaden nie robi tego, co zwykle się zakłada. Jeden odmawia zgody na pobranie. Drugi proponuje listę do rozważenia.

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ą.

robots.txt
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.

LimitWartość
Adresy w jednym pliku mapy50 000
Rozmiar pliku bez kompresji50 MB
Powyżej któregokolwiek z nichPodziel 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.

ZnacznikCo robi z nim Google
locCzyta — to sam adres
lastmodUżywany tylko wtedy, gdy jest spójny i weryfikowalnie poprawny
changefreqPomijany
priorityPomijany

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.

sitemap.xml
<?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ą.

CelNarzędzieDlaczego
Nie marnować pobrań na śmieciowe adresyrobots.txtCałkowicie zapobiega pobraniu
Trzymać stronę poza wynikaminoindex albo logowanieWymaga pobrania, by dyrektywa mogła zostać odczytana
Pomóc w odkryciu stronLinki wewnętrzne, potem mapa witrynyLinki niosą kontekst, wpisy w mapie nie

Pytania i odpowiedzi

Czy mogę łączyć disallow i noindex?

Nie, i właśnie to połączenie jest klasycznym błędem. Jeśli robots.txt blokuje adres, robot nigdy nie pobierze strony i nie zobaczy noindex. Zezwól na pobranie i podaj noindex albo umieść stronę za logowaniem.

Czy w ogóle potrzebuję mapy witryny?

Nie zawsze. Google wskazuje, że mniejszą, dobrze zlinkowaną witrynę da się odkryć, idąc za linkami. Mapy zarabiają na siebie przy dużych witrynach, świeżych startach z niewieloma linkami przychodzącymi i obfitych mediach.

Dlaczego zablokowana strona nadal pokazuje się w Google?

Bo robots.txt zatrzymał pobranie, a nie indeksowanie. Inne witryny linkują do tego adresu, więc Google wie, że istnieje, ale nie widzi treści — stąd wpis bez opisu. Zezwól na pobranie i podaj noindex, aby usunąć ją porządnie.

Czy ustawiać priority i changefreq?

Nie. Google pomija oba. Ten wysiłek lepiej włożyć w poprawny lastmod albo w linkowanie wewnętrzne.

Co się stanie, jeśli robots.txt zwróci błąd?

Błąd 5xx może skłonić robota do odpuszczenia hosta, zamiast zakładać, że wszystko jest dozwolone. Serwuj robots.txt z infrastruktury co najmniej tak niezawodnej jak sama witryna.