Mapa witryny XML: stwórz, prześlij i sprawdź w Search Console

Autor: SEOgrinder · Opublikowano · Zaktualizowano · 8 min czytania

Krótka odpowiedź: Mapa witryny XML to plik, który wymienia adresy, jakie wyszukiwarki mają znać: jeden wpis <url> na stronę, z adresem w <loc> i, jeśli się zgadza, datą ostatniej zmiany w <lastmod>. Tworzysz ją w CMS-ie albo z danych swojej witryny, mieścisz się w 50 000 adresów i 50 MB na plik, podajesz ją w robots.txt i przesyłasz w raporcie Mapy witryn w Search Console. Przesłanie to wskazówka, a nie obietnica: Google nie gwarantuje, że przeszuka lub zaindeksuje to, co plik wymienia.

Co zawiera mapa witryny XML?

Tak zaczyna się mapa witryny seogrinder.com, tak jak pobraliśmy ją 4 listopada 2026 (curl -sS https://seogrinder.com/sitemap.xml | head -5):

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://seogrinder.com/</loc><lastmod>2026-11-04</lastmod></url>
  <url><loc>https://seogrinder.com/imprint</loc><lastmod>2026-11-02</lastmod></url>
  <url><loc>https://seogrinder.com/privacy</loc><lastmod>2026-11-02</lastmod></url>

Protokół sitemaps.org wymaga trzech rzeczy: otwierającego znacznika <urlset> z przestrzenią nazw, wpisu <url> dla każdej strony i <loc> w każdym wpisie. Każdy inny znacznik jest opcjonalny, a obsługa opcjonalnych znaczników „may vary among search engines” (może się różnić w zależności od wyszukiwarki). Plik musi być w UTF-8, znaki takie jak & trzeba zamaskować (&amp;), a wszystkie adresy w jednym pliku muszą należeć do jednego hosta.

W naszym własnym pliku naliczyliśmy 425 wpisów <loc> (curl -sS https://seogrinder.com/sitemap.xml | grep -o '<loc>' | wc -l, 5 listopada 2026): strona główna, cztery strony prawne (impressum i polityka prywatności, każda po niemiecku i po angielsku), dwanaście przeglądów bloga i 408 artykułów. Każdy wpis ma tylko <loc> i <lastmod>: bez <changefreq>, bez <priority>, bez adnotacji hreflang. Plik ma 45 765 bajtów (curl -sS https://seogrinder.com/sitemap.xml | wc -c).

Czy potrzebujesz mapy witryny XML?

Nie zawsze. Przegląd map witryn Google mówi, że gdy twoje strony są poprawnie połączone linkami, Google zwykle potrafi odkryć większość witryny. Mapa witryny pomaga najbardziej w dużej witrynie, w nowej witrynie z niewielką liczbą linków zewnętrznych i w witrynie z dużą ilością wideo, obrazów lub wiadomości. Możesz jej nie potrzebować, jeśli witryna jest mała (około 500 stron lub mniej, licząc tylko strony przeznaczone do wyników wyszukiwania), a każdą ważną stronę można osiągnąć linkami ze strony głównej. Mimo to, dodaje Google, większość witryn na niej korzysta.

Jeśli używasz WordPressa, Wix albo Bloggera, Google mówi, że twój CMS prawdopodobnie już udostępnił mapę witryny. Otwórz /sitemap.xml w swojej witrynie, zanim zbudujesz drugi plik.

Mapa witryny nie zastępuje linków. Jeśli oczekiwanej strony brakuje w Google, brak mapy witryny to tylko jedna z kilku możliwych przyczyn. Nie jest też skrótem dla nowej strony: nie gwarantuje ani skanowania, ani indeksowania.

Jak stworzyć mapę witryny XML

Zacznij od listy adresów, a nie od narzędzia. Według Google mapa witryny wymienia adresy URL, które wolisz widzieć w wynikach, czyli kanoniczne: gdy ta sama treść jest dostępna pod kilkoma adresami, wpisz tylko preferowany.

Potem wybierz sposób, tak jak opisuje to strona Google „Build and submit a sitemap”:

  • Niech CMS ją zapisze, jeśli to potrafi.
  • Napisz ją ręcznie przy mniej niż kilkudziesięciu adresach. Większe pliki pisane ręcznie Google nazywa żmudnymi i trudnymi w utrzymaniu.
  • Wygeneruj ją z własnych danych przy większej liczbie adresów. Google mówi, że najlepiej, gdy plik zapisuje oprogramowanie twojej witryny. Kolejność wpisów nie ma dla Google znaczenia.

Nasza jest generowana: skrypt zapisuje wpisy bloga z plików artykułów, a stronę główną i strony prawne zostawia w spokoju.

Co należy do pliku:

  • Tak: pełne adresy z https:// stron, które odpowiadają statusem 200, mogą być indeksowane i mają pojawiać się w wyszukiwarce. Google chce pełnych adresów i skanuje je dokładnie tak, jak są wymienione.
  • Nie: adresy, które przekierowują (pomoc Search Console mówi, żeby zastąpić je adresami, które mają być skanowane), strony zwracające błędy i duplikaty strony, którą już wymieniasz. Naszym zdaniem strony z noindex też zostają poza plikiem: mapa witryny zaprasza Google, a znacznik go odsyła.

Umieść plik w katalogu głównym, na przykład https://example.com/sitemap.xml. Google zaleca katalog główny; mapa witryny w podfolderze obejmuje tylko adresy poniżej niego, chyba że prześlesz ją przez Search Console.

Jak duża może być mapa witryny XML?

Jeden plik może zawierać najwyżej 50 000 adresów i może mieć najwyżej 50 MB po rozpakowaniu. Możesz go skompresować gzipem, ale liczy się rozmiar po rozpakowaniu (sitemaps.org). Powyżej limitów podziel listę i wymień pliki w pliku indeksu map witryn, który może wymieniać do 50 000 map witryn, i to tylko map własnej witryny. Nasz plik jest daleko poniżej obu limitów, więc indeksu nie potrzebujemy.

lastmod: ustawiaj go tylko wtedy, gdy strona naprawdę się zmieniła

<lastmod> to jedyny opcjonalny znacznik, przy którym warto dbać o poprawność. Google mówi, że korzysta z tej wartości, jeśli jest „consistently and verifiably” (konsekwentnie i sprawdzalnie) prawdziwa. Istotna zmiana dotyczy głównej treści, danych strukturalnych lub linków; nowy rok w prawach autorskich się nie liczy. Protokół mówi to dosadniej: data musi być „the date the linked page was last modified, not when the sitemap is generated” (datą ostatniej modyfikacji strony, a nie wygenerowania mapy).

Nie wpisuj więc dzisiejszej daty do każdego wpisu przy każdym budowaniu. Google ignoruje też <priority> i <changefreq>, więc pomiń oba.

W naszym pliku 313 z 425 wpisów ma datę 2026-11-04, 108 ma datę 2026-11-05, a cztery mają 2026-11-02 (curl -sS https://seogrinder.com/sitemap.xml | grep -o '<lastmod>[^<]*' | sort | uniq -c, 5 listopada 2026). Wpisy artykułów biorą datę z wiersza updated każdego artykułu, dlatego wiele wpisów ma wspólną datę, gdy artykuły są pisane lub poprawiane tego samego dnia.

Jak przesłać mapę witryny XML do Google?

Są trzy sposoby i można je łączyć:

  1. robots.txt. Dodaj Sitemap: https://example.com/sitemap.xml z pełnym adresem. Ten wiersz nie należy do żadnej grupy user agent, więc jego miejsce w pliku nie ma znaczenia, a możesz podać kilka. Google znajdzie go przy następnym pobraniu twojego robots.txt. Jeśli masz plik indeksu, przesyłasz plik indeksu. U nas to ostatni wiersz robots.txt z 4 listopada 2026: Sitemap: https://seogrinder.com/sitemap.xml.
  2. Raport Mapy witryn w Search Console. Kroki poniżej.
  3. Search Console API, jeśli chcesz przesyłać z kodu.

Przesłanie oznacza poinformowanie Google, gdzie leży plik. Pomoc do raportu Mapy witryn mówi: „You cannot actually upload a sitemap to Google.” (nie możesz tak naprawdę wgrać mapy witryny do Google). Kroki:

  1. Upewnij się, że masz uprawnienia właściciela usługi. Bez nich wymień mapę witryny w robots.txt.
  2. Opublikuj mapę witryny w swojej witrynie.
  3. Wykonaj test na żywo jej adresu w narzędziu Kontrola adresu URL i sprawdź, czy pobranie strony ma status „Udało się”.
  4. Otwórz raport Mapy witryn, wklej adres w polu „Dodaj nową mapę witryny” i kliknij „Prześlij”.

Google mówi, że plik powinien zostać pobrany natychmiast, ale skanowanie adresów w nim może potrwać i nie wszystkie zostaną przeszukane. Słowami Google: „submitting a sitemap is merely a hint” (przesłanie mapy witryny to tylko wskazówka; Google). Raport pokazuje stan każdej mapy witryny („Sukces”, „Nie udało się pobrać”, „Zawiera błędy”), kiedy Google ostatnio ją odczytał i ile stron wykrył. Wykryte nie znaczy zaindeksowane: Google mówi, że nie ma gwarancji, iż wykryta strona została lub zostanie przeszukana albo zaindeksowana. Raport wymienia też tylko mapy witryn przesłane przez niego lub przez API, a nie te, które Google znalazł przez robots.txt.

Ten artykuł opiera się na dokumentacji Google. Nie zawiera zrzutu ekranu z Search Console i nie podaje wyniku przesłania naszego własnego pliku.

Jak sprawdzić mapę witryny XML

  1. Pobierz ją. curl -sSI https://example.com/sitemap.xml powinno pokazać status 200 i typ zawartości XML. U nas 4 listopada 2026 było to HTTP/2 200 i content-type: application/xml; charset=utf-8.
  2. Przeczytaj początek. Plik zaczyna się od <urlset i przestrzeni nazw, jest w UTF-8 i nie zawiera adresów względnych.
  3. Odpytaj każdy adres. Pętla poniżej nie podąża za przekierowaniami, więc przekierowanie pokaże się jako 301 lub 302.
  4. Sprawdź, czy Google może ją pobrać. Użyj testu na żywo opisanego wyżej. Google respektuje robots.txt przy pobieraniu mapy witryny, więc reguła blokująca plik to zatrzyma.
  5. Przeczytaj raport Mapy witryn po przesłaniu i kliknij mapę z błędami, żeby zobaczyć szczegóły.
for u in $(curl -sS https://seogrinder.com/sitemap.xml | grep -o 'https://seogrinder.com/[^<]*'); do
  curl -sS -o /dev/null -w '%{http_code}\n' "$u"
done | sort | uniq -c

5 listopada 2026, około 13:40 UTC, wypisało to 425 200: wszystkie 425 adresów odpowiedziało kodem 200.

SEOgrinder to nasze własne, darmowe narzędzie, i my je budujemy. Przeskanuj stronę i zajrzyj do listy zadań („Zadania”) oraz do punktu „Wskazać agentom drogę” (znacznik „Sitemap”) w zakładce „Gotowość na AI”. Czyta mapę witryny wskazaną w robots.txt albo /sitemap.xml, jeśli robots.txt żadnej nie wskazuje, i może zgłosić:

ZnaleziskoKiedy się pojawia
Nie znaleziono mapy witrynyAni robots.txt, ani /sitemap.xml nie udostępniły mapy witryny
Mapa witryny nie zadeklarowana w robots.txtMapa witryny istnieje, ale robots.txt jej nie wymienia
Wpisy w mapie witryny bez daty lastmodMniej niż połowa wpisów ma datę
„3 z 15 sprawdzonych adresów z mapy witryny nie odpowiada kodem 200” (przykładowe liczby)Próbka wykazała błędy lub przekierowania
Mapa witryny podaje stronę z noindexZnalezione przez przegląd witryny

Sprawdza próbkę do 15 adresów rozłożonych równomiernie na liście, a nie każdy adres, dlatego warto uruchomić powyższą pętlę. Czyta też najwyżej 3 MB na plik i dziesięć map witryn z indeksu, a większą oznacza jako niewczytaną w całości.

Najczęstsze błędy

  • Adresy, które przekierowują, zwracają błędy albo mają noindex. Search Console zgłasza te nieosiągalne; zastąp przekierowanie jego celem.
  • Każdy wariant strony. Wymienianie http i https, z www i bez, albo wersji z parametrami: wpisz kanoniczną.
  • Dzisiejsza data jako lastmod przy każdym budowaniu. Google używa daty, gdy jest konsekwentnie i sprawdzalnie prawdziwa.
  • Adresy, których plik nie może zawierać. Raport nazywa to „Niedozwolony adres URL”: inna domena, inny protokół albo folder wyżej niż sama mapa witryny.
  • Branie „przesłana” za „zaindeksowana”. Przesłana mapa witryny niczego nie gwarantuje.
  • Zostawienie uszkodzonego pliku. Google ponawia nieudane pobranie przez kilka dni, a potem przestaje. Napraw przyczynę i prześlij ponownie.

Najczęstsze pytania

Czy muszę ją przesłać, jeśli robots.txt już ją wymienia?

Nie. Google znajduje mapę witryny z robots.txt przy następnym pobraniu tego pliku. Przesłanie daje ci raport: widzisz, kiedy Googlebot pobrał plik i na jakie błędy trafił.

Czy mapa witryny XML poprawia moje pozycje?

Google opisuje jej cel jako odkrywanie: pomaga wyszukiwarkom znajdować adresy i może poprawić skanowanie większych lub bardziej złożonych witryn. Cytowane przez nas strony nie obiecują nic o pozycjach i nikt nie może.

Twój następny krok

Uruchom pętlę z góry na własnej mapie witryny i napraw każdy adres, który nie odpowiada kodem 200. Potem przeskanuj swoją witrynę w SEOgrinder, otwórz listę zadań i zacznij od znalezisk dotyczących mapy witryny. Po zmianach kliknij Sprawdź ponownie, a jeśli plik nie został jeszcze przesłany, prześlij go w raporcie Mapy witryn w Search Console.

Zobacz także

Więcej z bloga