Mapa witryny XML

Czym jest mapa witryny XML, jej budowa, ignorowane tagi (priority/changefreq), dokładny lastmod, limity 50 000/50 MB, hreflang w mapach witryny oraz jak ją przesłać.

Opublikowano po raz pierwszy: 22 cze 2026 · Ostatnia aktualizacja: 11 sie 2026 · Advanced
Języki
1 sygnał dowodowy na tej stronie

Mapa witryny XML to plik UTF-8 zawierający listę kanonicznych, indeksowalnych adresów URL, które chcesz, aby wyszukiwarki znały — każdy w bloku <url> z wymaganym <loc> i opcjonalnym <lastmod>. Pomaga wyszukiwarkom odkrywać adresy URL, ale nie gwarantuje indeksacji; jej prawdziwa wartość to diagnostyka przesłane-a-zaindeksowane w Search Console. Google ignoruje <priority> i <changefreq>, a <lastmod> używa tylko wtedy, gdy jest weryfikowalnie dokładny (znaczące aktualizacje, a nie zbiorcze „dzisiaj”). Jedna mapa witryny ma limit 50 000 adresów URL lub 50 MB nieskompresowanych — powyżej tego dzielisz pliki i odwołujesz się do nich z indeksu map witryny. Uwzględniaj tylko kanoniczne, indeksowalne adresy URL ze statusem 200; pominięcie adresu URL w mapie witryny nie jest tym samym co noindex. Mapy witryny to także najłatwiejsze miejsce do zarządzania hreflang na dużą skalę. Odwołaj się do niej w robots.txt i prześlij ją w Search Console i Bing Webmaster Tools.

TL;DR — Mapa witryny XML to plik UTF-8 z kanonicznymi, indeksowalnymi adresami <loc>, każdy opcjonalnie z <lastmod>. Pomaga w odkrywaniu, nie w indeksowaniu — korzyścią jest sygnał przesłane-vs-zaindeksowane w Search Console. Google ignoruje <priority> i <changefreq> i używa <lastmod> tylko wtedy, gdy jest weryfikowalnie dokładny (znaczące aktualizacje, nigdy zbiorcze „dzisiaj”). Jeden plik ma limit 50 000 adresów URL lub 50 MB nieskompresowanych — powyżej tego podziel i użyj indeksu mapy witryny. Uwzględniaj tylko 200, kanoniczne, indeksowalne adresy URL; wykluczenie adresu URL nie jest tym samym co noindexowanie go. XML to nie jedyny akceptowany format (RSS/Atom/txt też działają), a mapy witryny to najłatwiejsze miejsce do zarządzania hreflang na dużą skalę — chociaż te adnotacje pojawiają się z opóźnieniem, nie natychmiast. Odwołaj się do niej w robots.txt i prześlij ją w Search Console + Bing Webmaster Tools.

Evidence for this claim The XML sitemap protocol lists canonical URL locations and optional metadata, with limits of 50,000 URLs and 50 MB uncompressed per sitemap. Scope: Sitemaps protocol and current Google-supported limits. Confidence: high · Verified: Sitemaps XML format Evidence for this claim Google treats sitemaps as discovery hints rather than guarantees and supports submission through Search Console or robots.txt references. Scope: Current Google sitemap behavior and submission methods. Confidence: high · Verified: Google Search Central: Build and submit a sitemap

Czym właściwie jest mapa witryny XML

Mapa witryny XML to plik, zapisany zgodnie z protokołem sitemaps.org 0.9, który zawiera listę adresów URL Twojej witryny, o których chcesz poinformować wyszukiwarki. Definicja Google: “Sitemap to plik, w którym podajesz informacje o stronach, filmach i innych plikach w swojej witrynie oraz o relacjach między nimi.” To narzędzie ułatwiające odkrywanie i diagnostyka pokrycia — wyraźnie nie gwarancja: “Mapa witryny pomaga wyszukiwarkom odkrywać adresy URL w Twojej witrynie, ale nie gwarantuje, że wszystkie elementy w mapie witryny zostaną zaindeksowane i przeszukane.”

To podejście ma znaczenie, ponieważ to tutaj marnuje się wiele wysiłku. Mapa witryny nie jest dźwignią rankingową ani poleceniem indeksowania. Oto opatrzony komentarzami minimalny przykład:

<?xml version="1.0" encoding="UTF-8"?>            <!-- XML declaration; UTF-8 -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">  <!-- root + namespace -->
  <url>                                           <!-- one entry per page -->
    <loc>https://www.example.com/foo.html</loc>   <!-- required: absolute URL -->
    <lastmod>2026-06-04</lastmod>                 <!-- optional: last significant change -->
  </url>
</urlset>

Anatomia

  • Deklaracja XML<?xml version="1.0" encoding="UTF-8"?>. Google jest tutaj jednoznaczne: “Plik mapy witryny musi być zakodowany w UTF-8.” Jeśli kodowanie będzie błędne, znaki specjalne się zepsują.
  • <urlset> + przestrzeń nazw — element główny, z xmlns="http://www.sitemaps.org/schemas/sitemap/0.9". Przestrzeń nazw to element, który informuje parser, że to mapa witryny; błędna lub brakująca przestrzeń nazw to częsty błąd w Search Console.
  • <url> — jeden blok na stronę.
  • <loc> — wymagane. “Używaj w pełni kwalifikowanych, bezwzględnych adresów URL w swoich mapach witryny” — nie ścieżek względnych, i poniżej ~2048 znaków. Wszystkie wartości muszą być escapowane encjami: & staje się &amp;, ' staje się &apos;, " staje się &quot;, > staje się &gt;, a dosłowny znak mniejszości staje się &lt;.
  • <lastmod> — opcjonalne; data ostatniej znaczącej zmiany strony (więcej o zasadzie uczciwości poniżej).
Evidence for this claim Each loc must be a fully qualified absolute URL and XML special characters must be entity escaped. Scope: XML/HTTP sitemap generation, hosting and submission Confidence: high · Verified: Build and submit a sitemap

Prawda o ignorowanych tagach

To najbardziej nieaktualna rzecz w większości poradników o mapach witryny. Dwa przestarzałe tagi — <priority> i <changefreq> — są ignorowane przez Google. Gary Illyes nazwał priority “zasadniczo workiem szumu,” a John Mueller powiedział, że priority i częstotliwość zmian “nie odgrywają już większej roli w przypadku map witryny.” Bing potwierdził to samo: changefreq i priority nie wpływają już na jego indeksowanie ani ranking. Możesz je zostawić (nie szkodzą) lub je usunąć — po prostu nic nie robią.

<lastmod> jest inne — nie wrzucaj go do jednego worka z ignorowanymi tagami. Google rzeczywiście używa <lastmod>, ale tylko wtedy, gdy mu ufa, a to zaufanie jest mniej więcej binarne: albo Google wierzy w Twoje daty, albo nie. Zasada jest taka, że data powinna odzwierciedlać znaczącą zmianę — “aktualizacja głównej treści, danych strukturalnych lub linków na stronie jest ogólnie uznawana za znaczącą, jednak aktualizacja daty praw autorskich nie jest.” Tryb awarii, który stale widuję, to przypisywanie każdemu adresowi URL dzisiejszej daty przy każdej kompilacji. To samobójcze: Mueller nazwał to “po prostu lenistwem,” zauważając, że wyszukiwarkom łatwo to rozpoznać, a to tylko utrudnia im dostrzeżenie naprawdę zaktualizowanych stron. Kłam wystarczająco często, a — jak mówi Google — “w końcu przestaniemy Ci wierzyć.” Bing opiera się na <lastmod> jako sygnale świeżości nawet bardziej niż Google — więc dokładna data pomaga Ci w obu wyszukiwarkach, a fałszywa szkodzi w obu.

Umiejscowienie, nazewnictwo, kodowanie i kompresja

  • Umiejscowienie/nazewnictwo. Nie ma wymaganego pliku, ale /sitemap.xml w katalogu głównym to konwencja. Domyślnie mapa witryny wpływa tylko na adresy URL na lub poniżej własnej ścieżki, więc trzymaj ją wystarczająco wysoko, aby obejmowała wszystko, co wymienia. Jedyny wyjątek: możesz hostować mapę witryny dla innej witryny, jeśli zweryfikowałeś własność tej witryny, a jej robots.txt wskazuje z powrotem na faktyczną lokalizację mapy — Google nazywa to cross-submission i to jest mechanizm stojący za indeksem map witryn agregującym mapy hostowane gdzie indziej.
  • Kodowanie. Zawsze UTF-8.
  • Kompresja. Możesz skompresować mapę witryny gzip (serwować ją jako .xml.gz), co warto zrobić w przypadku dużych plików. Ważny niuans: limit 50 MB jest mierzony nieskompresowany — gzip oszczędza przepustowość, nie zapas względem limitu rozmiaru.

Limity → podział + indeks map witryn

Pojedyncza mapa witryny jest ograniczona do 50 000 adresów URL lub 50 MB nieskompresowanych, w zależności od tego, co nastąpi pierwsze. Google stwierdza to wprost: “All formats limit a single sitemap to 50MB (uncompressed) or 50,000 URLs.” (tłumaczenie) „Wszystkie formaty ograniczają pojedynczą mapę witryny do 50 MB (nieskompresowanych) lub 50 000 adresów URL.” Gdy przekroczysz którykolwiek z tych limitów, dzielisz listę na wiele plików map witryn i odwołujesz się do nich wszystkich z indeksu map witryn — mapy map witryn. To osobny temat pokrewny; w skrócie: przesyłasz indeks, a jeden indeks może wskazywać na maksymalnie 50 000 podrzędnych map witryn, więc nigdy nie zabraknie Ci pojemności.

Które adresy URL uwzględnić — oraz „wykluczenie ≠ noindex”

Uwzględniaj tylko adresy URL, które są indeksowalne, kanoniczne i zwracają 200. To oznacza brak przekierowań 3xx, brak niekanonicznych duplikatów, brak stron z noindex, brak adresów zablokowanych przez robots. Czysta mapa witryny zawierająca dokładnie Twój zestaw indeksowalny sprawia, że porównanie przesłanych i zaindeksowanych w Search Console jest znaczące — zaśmiecaj ją śmieciami, a wyrzucisz diagnostykę.

Teraz mechaniczny punkt, który ludzie mylą: wykluczenie adresu URL z mapy witryny nie powoduje jego deindeksacji. Mapa witryny to reklama, nie brama. Usunięcie wpisu adresu URL po prostu przestaje reklamować tę stronę; jeśli Google już o niej wie (poprzez linki, historię lub inne źródło), pozostaje w indeksie. Jedynymi mechanizmami, które faktycznie usuwają stronę, są dyrektywa noindex (z zezwoleniem na indeksowanie, aby Google mógł ją zobaczyć), kod 404/410 lub narzędzie do usuwania. Więc „usuń to z mapy witryny” nigdy nie jest właściwą odpowiedzią na pytanie „jak to zdeindeksować”.

Akceptowane formaty plików map witryn

XML to nie jedyny format akceptowany przez Google — warto o tym wiedzieć, aby nie zakładać, że jesteś skazany na ręczne pisanie XML. Google nazywa XML “the most versatile of the sitemap formats,” (tłumaczenie) „najbardziej wszechstronnym z formatów map witryn”, ale czyta również:

  • RSS 2,0 / Atom — przydatne, ponieważ wiele systemów CMS już publikuje jeden; zawierają tylko adresy URL stron.
  • mRSS — kanał RSS dla multimediów, używany do wideo.
  • Zwykły tekst (.txt) — dosłownie jeden adres URL na linię, tylko adresy stron internetowych, UTF-8.

XML nadal jest właściwym domyślnym wyborem, ponieważ to jedyny format obsługujący rozszerzenia (metadane lastmod, obrazy, wideo i adnotacje hreflang). Pozostałe są tylko adresami URL.

hreflang w mapach witryn

Jeśli prowadzisz witrynę wielojęzyczną lub wieloregionalną, mapa witryny jest zwykle najłatwiejszym miejscem do zarządzania hreflang — utrzymujesz cały klaster językowy w jednym pliku zamiast wstrzykiwać tagi zwrotne do każdego szablonu strony. (To jedno z trzech prawidłowych miejsc, w których może znajdować się hreflang; <head> i nagłówki HTTP to pozostałe.)

Jak to jest zaimplementowane. Każdy <url> otrzymuje elementy podrzędne xhtml:link rel="alternate", po jednym dla każdej wersji językowej/regionalnej, i deklarujesz przestrzeń nazw xmlns:xhtml="http://www.w3.org/1999/xhtml" na <urlset>:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.example.com/english/page.html</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/english/page.html"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/english/page.html"/>
  </url>
  <!-- each alternate URL repeats the FULL set, including itself (return tags) -->
</urlset>

Zasada tagów zwrotnych. To jest część, która sprawia problemy. Każdy element <url> musi wymienić każdą alternatywną wersję strony — w tym samą siebie. Google: “Each <url> element must have a child element <xhtml:link rel="alternate" hreflang="[supported_language-code]"> that lists every alternate version of the page, including itself.” (tłumaczenie) „Każdy element <url> musi mieć element podrzędny <xhtml:link rel="alternate" hreflang="[supported_language-code]">, który wymienia każdą alternatywną wersję strony, włączając w to samą siebie.” I to musi być dwukierunkowe: “If page X links to page Y, page Y must link back to page X. If this is not the case for all pages that use hreflang annotations, those annotations may be ignored or not interpreted correctly.” (tłumaczenie) „Jeśli strona X linkuje do strony Y, strona Y musi linkować z powrotem do strony X. Jeśli nie jest tak w przypadku wszystkich stron używających adnotacji hreflang, te adnotacje mogą zostać zignorowane lub niepoprawnie zinterpretowane.” Dodaj wpis x-default dla języka domyślnego, gdy żaden język nie pasuje. Pojedynczy zepsuty lub brakujący tag zwrotny może unieważnić cały zestaw.

Limit dotyczy tylko adresów URL <loc>. Ulga dla dużych międzynarodowych witryn: limit 50 000 adresów URL liczy tylko adresy URL stron <loc>, nie alternatywy hreflang. Więc mapa witryny z 50 000 stron, każda z dziesięcioma alternatywami językowymi, nadal się mieści — liczą się adresy URL lokalizacji, a nie adresy URL alternatyw.

Kiedy faktycznie zaczyna działać — licz na dni, nie minuty. Oto oczekiwanie, które warto sobie ustawić, i to jest mechanizm, a nie cytat. Google parsuje hreflang w twojej mapie witryny, gdy ponownie pobiera mapę, ale adnotacje działają dopiero, gdy wszystkie adresy URL w zestawie zostaną (ponownie) zindeksowane, a tagi zwrotne zostaną ze sobą uzgodnione. To oznacza, że jest realne opóźnienie między opublikowaniem hreflang a honorowaniem alternatyw, a jeden wolno indeksowany lub zepsuty URL w zestawie może wstrzymać resztę. Nie oczekuj, że zadziała natychmiast po przesłaniu — planuj, że ustabilizuje się w ciągu dni.

Odwołaj się do niej i prześlij ją

  • robots.txt — dodaj linię Sitemap: z pełnym bezwzględnym adresem URL. To także pozwala wyszukiwarkom automatycznie ją odkryć.
  • Google Search Console — raport Sitemaps (lub API Search Console) to podstawowa metoda przesyłania; to także miejsce, gdzie odczytasz diagnostykę przesłane-vs-zaindeksowane.
  • Bing Webmaster Tools — prześlij ją tam również; Bing pobiera ją szybko i regularnie sprawdza ponownie.

Jedna uwaga o automatyzacji z mojej perspektywy: mapa witryny powinna być generowana automatycznie na podstawie stron, które faktycznie masz, aby pozostała aktualna. Ręcznie budowana mapa witryny dezaktualizuje się w momencie, gdy twoja witryna się zmienia. Strony powiązane z tą — przegląd sitemaps, indeks mapy witryny dla dużych witryn oraz rozszerzenia image sitemap i video sitemap — obejmują resztę rodziny, a szerszy temat odkrywania łączy mapy witryny z innymi sposobami, w jakie wyszukiwarki znajdują twoje adresy URL.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.