Sitemap XML – jak pomóc Google znaleźć wszystkie ważne strony?

Szymon Bujakowski
10 min czytania

Co sitemap XML przekazuje Google?

Sitemap XML przekazuje wyszukiwarce listę adresów, które właściciel serwisu uważa za ważne i przeznaczone do indeksowania. Dla Google jest dodatkowym źródłem odkrywania nowych oraz zaktualizowanych stron — obok linkowania wewnętrznego i linków zewnętrznych.

Mapa witryny nie zastępuje architektury informacji i nie wymusza indeksacji. Pomaga jednak Google szybciej znaleźć adresy, których robot nie odkrył jeszcze przez zwykłe linki, oraz wskazuje preferowane wersje URL-i. Dlatego sitemapę budujemy z adresów zgodnych z canonicalem, a nie ze wszystkich wariantów technicznych generowanych przez CMS.

Sitemap jest szczególnie przydatny w kilku sytuacjach:

  • witryna jest duża albo ma głęboko zagnieżdżoną strukturę, przez co do części produktów, kategorii lub artykułów można dostać się wyłącznie przechodząc długą ścieżkę linków,
  • serwis jest nowy i ma niewiele linków zewnętrznych,
  • oferta często się zmienia, a data lastmod może pomóc Google rozpoznać istotną aktualizację,
  • część wartościowych stron jest słabo połączona wewnętrznie — choć wtedy sitemapę traktujemy jako wsparcie, a nie zamiennik naprawy linkowania,
  • witryna zawiera dużo obrazów, filmów, wersji językowych albo treści newsowych wymagających rozszerzonego formatu mapy.

Struktura pliku sitemap XML

Podstawowy plik sitemap wygląda następująco:

sitemap.xml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-03-01</lastmod>
  </url>
  <url>
    <loc>https://example.com/produkty/</loc>
    <lastmod>2026-02-28</lastmod>
  </url>
</urlset>

Omówienie poszczególnych elementów:

  • <loc> — pełny, bezwzględny adres URL strony; to element wymagany,
  • <lastmod> — data ostatniej istotnej modyfikacji w formacie ISO 8601. Google wykorzystuje ją, jeżeli odpowiada rzeczywistym zmianom treści,
  • <changefreq> — deklarowana częstotliwość zmian, spotykana w starszych generatorach; Google ją ignoruje,
  • <priority> — względny priorytet adresu w obrębie witryny; Google również go ignoruje.

W rekomendowanym pliku wystarczą więc <loc> i rzetelnie aktualizowany <lastmod>. Zmiana stopki, roku w prawach autorskich albo ponowne wygenerowanie strony bez zmiany jej istotnej treści nie powinny przesuwać tej daty. Aktualne zasady opisuje dokumentacja sitemap Google.

Sitemap index - rozwiązanie dla dużych witryn

Pojedynczy plik sitemap ma dwa ograniczenia:

  • maksymalnie 50 000 adresów URL,
  • maksymalny rozmiar pliku to 50 MB (nieskompresowany).

Dla witryn przekraczających te limity stosuje się sitemap index - plik nadrzędny, który wskazuje na poszczególne pliki sitemap:

sitemap_index.xml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.com/sitemap-produkty.xml</loc>
    <lastmod>2026-03-01</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-kategorie.xml</loc>
    <lastmod>2026-02-15</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-blog.xml</loc>
    <lastmod>2026-03-05</lastmod>
  </sitemap>
</sitemapindex>

Podział sitemap na mniejsze pliki jest przydatny również przed przekroczeniem limitów. Osobne mapy dla produktów, kategorii i artykułów pozwalają filtrować raport indeksowania w Google Search Console i szybciej zobaczyć, która część serwisu ma problem. Nie warto jednak rozbijać małej witryny na dziesiątki plików bez celu diagnostycznego.

Google nie obsługuje zagnieżdżonych indeksów sitemap

Na pierwszy rzut oka najbardziej logiczna wydaje się wielopoziomowa struktura: jeden główny indeks prowadzi do indeksów produktów, kategorii i artykułów, a dopiero one wskazują właściwe pliki sitemap. Niektóre crawlery i parsery XML potrafią przejść po takim drzewie, ale Google go nie obsługuje.

Taka struktura jest błędna dla Google:

zagniezdzone-indeksy-sitemap.txt
1
2
3
4
5
6

sitemap-index.xml
└── sitemap-products-index.xml
    ├── sitemap-products-1.xml
    ├── sitemap-products-2.xml
    └── sitemap-products-3.xml

Plik z elementem głównym <sitemapindex> może wskazywać pliki sitemap, ale nie kolejny <sitemapindex>. Google Search Console zgłasza wtedy błąd zagnieżdżonego indeksu i nie przechodzi do map znajdujących się poziom niżej. To ograniczenie wynika z protokołu sitemap i jest opisane wprost w dokumentacji błędów Google Search Console.

Najprostsze i najbezpieczniejsze rozwiązanie to spłaszczenie struktury:

plaski-indeks-sitemap.txt
1
2
3
4
5
6
7

sitemap-index.xml
├── sitemap-products-1.xml
├── sitemap-products-2.xml
├── sitemap-products-3.xml
├── sitemap-categories.xml
└── sitemap-blog.xml

Jeżeli z powodów organizacyjnych chcesz zachować osobne indeksy dla produktów, kategorii i artykułów, zgłoś każdy z nich oddzielnie w Google Search Console i dodaj osobne dyrektywy Sitemap: w robots.txt. Nie zgłaszaj Google głównego indeksu, który prowadzi wyłącznie do kolejnych indeksów.

Ograniczenie jest mało eleganckie, ale w praktyce nie zmniejsza pojemności map: pojedynczy sitemap index może zawierać do 50 000 plików, a każdy z nich do 50 000 URL-i. To daje teoretycznie 2,5 miliarda adresów bez dodatkowego poziomu zagnieżdżenia. Google pozwala też zgłosić do 500 indeksów sitemap dla jednej witryny.

Jak wygenerować sitemap na popularnych platformach

WordPress / WooCommerce

WordPress generuje natywną mapę witryny od wersji 5.5. W aktualnym WordPressie 7 nadal jest ona dostępna pod adresem /wp-sitemap.xml, obejmuje publiczne typy treści i taksonomie, a jej działanie można rozszerzać filtrami. W praktyce wiele serwisów korzysta z map generowanych przez Yoast SEO albo Rank Math, ponieważ łatwiej wtedy kontrolować typy treści, taksonomie i pojedyncze wykluczenia. Najpierw sprawdź jednak, który mechanizm faktycznie obsługuje sitemapę — dwie wtyczki SEO nie powinny równolegle generować konkurencyjnych zestawów map.

W WooCommerce sprawdź osobno produkty, kategorie i ewentualne tagi produktów. Koszyk, checkout, konto klienta oraz techniczne endpointy nie są kandydatami do indeksowania i nie powinny znaleźć się w mapie. Oficjalna dokumentacja klasy WP_Sitemaps pokazuje, jak działa natywny mechanizm WordPressa.

Shopify

Shopify automatycznie generuje /sitemap.xml i aktualizuje mapy po dodaniu produktu, kolekcji, strony, obrazu lub wpisu blogowego. Plik nadrzędny prowadzi do osobnych map produktów, kolekcji, bloga i stron. Nie edytuje się go bezpośrednio, dlatego problemy rozwiązujemy przez status publikacji, canonicale, przekierowania i konfigurację domen. Przy wielu rynkach trzeba również sprawdzić mapy wygenerowane dla dodatkowych domen. Szczegóły opisuje dokumentacja Shopify.

PrestaShop

W PrestaShop mapa zależy od używanego modułu i jego konfiguracji. Oficjalny moduł Sitemap Generator for SEO pozwala wybrać języki, obrazy oraz typy stron, a także skonfigurować cykliczną aktualizację przez cron. Nie zakładaj z góry jednego adresu pliku: skopiuj URL wygenerowany przez konkretny moduł i sprawdź, czy po zmianach w katalogu produktów mapa rzeczywiście się odświeża.

Generowanie ręczne

Dla witryn statycznych lub niestandardowych CMS-ów najlepiej generować sitemapę bezpośrednio z bazy publikowanych treści. Screaming Frog potrafi wyeksportować mapę z crawla, XML-Sitemaps.com obsłuży mały serwis, a własny generator można zbudować na przykład w Pythonie z biblioteką lxml. Generator oparty wyłącznie na crawlu nie odnajdzie stron osieroconych, więc trzeba porównać jego wynik ze źródłem danych CMS-a.

Jak zgłosić sitemapę do Google Search Console

Zgłoszenie mapy mówi Google, gdzie znajduje się plik i pozwala obserwować jego odczyty oraz błędy. Nie wysyłasz pliku do Search Console — plik pozostaje na Twoim serwerze.

  1. Zaloguj się do Google Search Console i wybierz właściwą usługę.
  2. Przejdź do sekcji „Mapy witryn”.
  3. W polu „Dodaj nową mapę witryny” wpisz adres, na przykład sitemap.xml albo sitemap_index.xml.
  4. Kliknij „Prześlij” i sprawdź, czy Google może pobrać plik.

Po prawidłowym zgłoszeniu Google zwykle szybko pobiera samą sitemapę. Crawlowanie i indeksowanie wymienionych stron odbywa się osobno i może potrwać dłużej.

Jak czytać raport Mapy witryn?

Pole lub status Co oznacza Co zrobić
SukcesGoogle pobrał i przetworzył pliksprawdź datę ostatniego odczytu oraz liczbę wykrytych stron
Nie udało się pobraćrobot nie otrzymał prawidłowego plikusprawdź adres, status HTTP, blokady, wymagane logowanie i dostępność dla Googlebota
Mapa zawiera błędyczęść pliku została odczytana, ale parser wykrył problemyotwórz szczegóły i popraw wskazane URL-e, daty albo składnię XML
Wykryte stronyliczba unikalnych adresów odczytanych z mapyporównaj ją z liczbą stron indeksowalnych w danej sekcji, a nie z całym katalogiem CMS-a

„Wykryte strony” nie oznaczają „strony zaindeksowane”. Otwórz raport indeksowania przefiltrowany według konkretnej sitemapy i porównaj produkty z produktami, kategorie z kategoriami oraz artykuły z artykułami. Jeżeli mapa zawiera 40 000 produktów, a raport pokazuje tylko niewielką część jako zaindeksowaną, zbadaj próbki przez Inspekcję URL-i oraz sprawdź canonicale, noindex, statusy HTTP i linkowanie. Taki podział daje użyteczniejszą diagnozę niż jeden wspólny plik dla całego serwisu.

Dodatkowo warto wskazać lokalizację sitemap w pliku robots.txt za pomocą dyrektywy:

robots.txt
1
2

Sitemap: https://example.com/sitemap.xml

Odnośnik w robots.txt pozwala wyszukiwarkom odnaleźć mapę niezależnie od ręcznego zgłoszenia. Nadal warto dodać ją w Search Console, ponieważ wtedy zobaczysz datę odczytu i błędy przetwarzania.

Sprawdź plik sitemap przed zgłoszeniem

Poniższy inspektor lokalnie sprawdzi podstawową strukturę XML, limity, adresy, hosty, duplikaty i daty lastmod. Nie pobiera URL-i z mapy, dlatego dostępność oraz indeksowalność stron nadal trzeba zweryfikować w crawlerze i Google Search Console.

Analiza lokalna w przeglądarce

Sprawdź podstawową strukturę sitemap XML

Wklej lub otwórz plik, aby znaleźć błędy XML, adresów, hostów, duplikatów i dat. Dane pozostają w Twojej przeglądarce.

Google zna tylko część ważnych stron?

Sprawdzimy sitemapę, canonicale, linkowanie i raport indeksowania, aby znaleźć różnicę między katalogiem serwisu a tym, co rzeczywiście odkrywa Google.

Najczęstsze błędy w sitemap XML

Adresy URL z noindex w sitemapie

Sitemapa wskazuje preferowane adresy, które chcesz widzieć w wynikach, natomiast noindex wyklucza stronę z indeksu. To sprzeczne cele. Usuń taki URL z mapy albo — jeżeli strona rzeczywiście ma być indeksowana — usuń nieprawidłową dyrektywę.

Nieaktualne adresy URL

Mapa zawierająca błędy 404, przekierowania albo usunięte produkty tworzy szum diagnostyczny i może kierować żądania Googlebota do nieaktualnych miejsc. Generuj ją z bieżącego zbioru publikowanych, kanonicznych stron zwracających 200 OK, zamiast dopisywać kolejne URL-e do pliku bez usuwania poprzednich.

lastmod zmieniany bez aktualizacji treści

Jeżeli każdy deploy albo uruchomienie generatora ustawia wszystkim stronom dzisiejszą datę, <lastmod> przestaje odróżniać prawdziwe aktualizacje od zmian technicznych. Aktualizuj go po istotnej zmianie głównej treści, danych strukturalnych lub linków na stronie. W e-commerce warto powiązać datę z realną modyfikacją produktu lub kategorii, a nie z nocnym eksportem całego katalogu.

Brak odnośnika do sitemapy w robots.txt

Jeżeli mapa została zgłoszona w Search Console, brak dyrektywy Sitemap: nie unieważnia zgłoszenia. Mimo to warto wskazać plik również w robots.txt, ponieważ jest to niezależny, dostępny dla różnych robotów punkt odkrywania mapy.

Niespójna wersja domeny

Adresy w sitemapie powinny być spójne z protokołem, hostem i wersją kanoniczną domeny. Jeśli witryna działa na https://www.example.com, nie mieszaj jej z http://www.example.com ani https://example.com. Google próbuje pobierać dokładnie te adresy, które znajdują się w pliku.

Najczęstsze pytania o sitemap XML

Jak często Google odczytuje sitemap?

Po zgłoszeniu Google próbuje pobrać sitemapę, a następnie wraca do niej we własnym rytmie, niezależnym od zwykłego harmonogramu crawlowania stron. Search Console pokazuje datę ostatniego odczytu. Po dużej zmianie mapę można zgłosić ponownie, ale przy codziennych aktualizacjach ważniejsze są dostępny plik i rzetelny lastmod niż ręczne wysyłanie go za każdym razem.

Czy sitemap jest wymagany do indeksacji?

Nie. Google potrafi odkrywać strony przez linkowanie wewnętrzne i linki zewnętrzne. Sitemap jest jednak bardzo pomocny jako dodatkowe źródło informacji, szczególnie dla nowych witryn, dużych serwisów i stron ze słabym linkowaniem wewnętrznym.

Czy mogę mieć kilka plików sitemap?

Tak. Można zgłosić wiele plików sitemap w Google Search Console lub użyć sitemap index, który łączy je w jedną strukturę. Podział na osobne pliki (np. produkty, kategorie, blog) ułatwia diagnostykę i pozwala szybciej identyfikować problemy z indeksacją w konkretnych sekcjach witryny.

Czy sitemap index może wskazywać kolejny sitemap index?

Nie w Google. Sitemap index może wskazywać właściwe pliki sitemap, ale nie kolejny indeks. Spłaszcz strukturę do jednego poziomu albo zgłoś każdy indeks drugiego poziomu osobno w Search Console i robots.txt. To, że inne narzędzie potrafi przejść po zagnieżdżonym drzewie, nie oznacza, że zrobi to Googlebot.

Czy sitemap może przyspieszyć indeksowanie nowych stron?

Może skrócić drogę do odkrycia nowych lub zaktualizowanych adresów, zwłaszcza w nowym serwisie, dużym katalogu albo sekcji słabo połączonej linkami. Sama obecność URL-a w mapie nie wystarczy jednak, jeśli strona jest zablokowana, niekanoniczna, niedostępna albo ma niewielką wartość.

Jak sprawdzić, czy sitemap działa poprawnie?

Najpierw sprawdź składnię, limity, hosty, duplikaty i daty w inspektorze na tej stronie. Następnie w Google Search Console sprawdź status pobrania, datę ostatniego odczytu i liczbę wykrytych stron. Na końcu porównaj mapę z crawlerem oraz raportem indeksowania i skontroluj próbkę adresów w Inspekcji URL-i.

Gotowy na strategiczne partnerstwo w marketingu cyfrowym?

Porozmawiajmy o Twoich wyzwaniach i celach. Opracujemy dopasowaną strategię i plan działania, które przyniosą mierzalne rezultaty dla Twojego e-commerce lub instytucji.