Poradnik

Mapa witryny XML - co to jest, jak ją zrobić i sprawdzić

Mapa witryny XML to plik z listą adresów, które chcesz mieć w Google. Trafiają do niej tylko kanoniczne strony z kodem 200 i bez noindex, a zgłaszasz ją w Search Console i w pliku robots.txt.

Poradniki
8 min czytania

Mapa witryny XML to plik z listą adresów, które chcesz mieć w wynikach Google, opcjonalnie z datą ostatniej istotnej zmiany każdej strony. W WordPressie i w większości systemów CMS powstaje automatycznie, a Twoja praca polega na tym, żeby trafiały do niej tylko kanoniczne strony z kodem 200 i bez znacznika noindex. Gotową mapę zgłaszasz w Google Search Console i wpisujesz do pliku robots.txt, a potem sprawdzasz w raportach, ile z tych adresów Google faktycznie zindeksował.

Co to jest mapa witryny i kiedy jej potrzebujesz

Mapa witryny (sitemap) to spis podstron przygotowany dla wyszukiwarek, najczęściej w formacie XML. Nie należy jej mylić z mapą strony w HTML, czyli podstroną z listą linków dla odwiedzających. Google podkreśla, że mapa pomaga odkrywać adresy, ale nie gwarantuje, że wszystkie zostaną zeskanowane i zindeksowane (Google: informacje o mapach witryn).

Według tej samej dokumentacji mapa przydaje się najbardziej, gdy:

  • strona jest duża i trudno dopilnować, żeby do każdej podstrony prowadził link z innej,
  • strona jest nowa i ma mało linków z innych witryn,
  • masz dużo filmów lub obrazów albo treści dla Google News.

Mała strona, czyli według Google mająca około 500 podstron lub mniej, dobrze połączona linkami wewnętrznymi, może się bez mapy obejść. W praktyce i tak ją zostawiam, bo nic nie kosztuje, a w Search Console pozwala zawęzić raport indeksowania do adresów, na których Ci zależy. Mapa nie zastępuje jednak linków: Google znajduje strony przede wszystkim przez odnośniki z innych stron, dlatego równolegle warto sprawdzić, jak zaplanować linkowanie wewnętrzne.

Co powinno być w mapie witryny XML

Mapa ma zawierać adresy, które chcesz zobaczyć w wynikach wyszukiwania, w wersji kanonicznej (Google: jak utworzyć mapę witryny). Przy każdym typie adresów sprawdzam:

  • Kod odpowiedzi 200 - bez przekierowań, błędów 404 i stron, które wymagają logowania.
  • Adres kanoniczny - adres w mapie jest tym samym adresem, który strona wskazuje w znaczniku canonical.
  • Brak noindex - strona z noindex w mapie to sprzeczny sygnał: zgłaszasz adres i jednocześnie zakazujesz jego indeksowania.
  • Brak blokady w robots.txt - Google nie zeskanuje adresu, który plik robots.txt wyklucza.
  • Pełny adres - Google wymaga adresów bezwzględnych, z protokołem i domeną. Używam jednej wersji: https, z www albo bez, tak samo jak w adresach kanonicznych.
  • Kodowanie UTF-8 - plik mapy musi być zapisany w tym kodowaniu.

Do mapy nie trafiają wyniki wyszukiwarki wewnętrznej, adresy z filtrami i sortowaniem, koszyk, panel klienta, strony podziękowania po wysłaniu formularza i wersje do druku. Jeśli którąś z takich stron chcesz jednak mieć w wynikach, na przykład filtr po marce, który ma własny ruch z wyszukiwarki, najpierw dostaje własny adres kanoniczny i treść, a dopiero potem miejsce w mapie.

Indeks map, lastmod, priority i changefreq

  • Limity - jedna mapa może mieć najwyżej 50 000 adresów albo 50 MB przed kompresją. Większy serwis dzielisz na kilka plików.
  • Indeks map witryn - plik sitemap index wskazuje pozostałe mapy, więc w Search Console zgłaszasz jeden adres. Mapy z indeksu muszą leżeć w tym samym katalogu co indeks albo głębiej (Google: indeks map witryn).
  • Podział według typu treści - osobne mapy dla stron, wpisów, usług czy produktów. Google tego nie wymaga, ale w raportach Search Console od razu widać, w której grupie adresy nie trafiają do indeksu.
  • lastmod - Google korzysta z daty ostatniej zmiany, jeśli jest konsekwentnie zgodna z rzeczywistością. Chodzi o zmianę istotną: głównego tekstu, danych strukturalnych albo linków, a nie poprawkę w stopce czy panelu bocznym. Data, która codziennie zmienia się bez zmian w treści, z czasem przestaje być dla Google wiarygodna. Tam, gdzie system nie zna prawdziwej daty zmiany, na przykład na stronie głównej czy liście kategorii, lepiej lastmod pominąć (Google Search Central Blog, 26 czerwca 2023).
  • priority i changefreq - Google ignoruje oba pola. Ich obecność niczego nie psuje, ale ustawienie wysokiego priorytetu dla wybranych stron nie zmieni tego, jak Google je skanuje.

Jak zrobić mapę witryny

Sposób zależy od tego, na czym stoi strona:

  • WordPress - od wersji 5.5 sam generuje mapę pod adresem /wp-sitemap.xml, z wpisami, stronami, publicznymi typami treści, taksonomiami i archiwami autorów. Jeden plik mieści tam do 2000 adresów, a cała mapa wyłącza się, gdy w ustawieniach poprosisz wyszukiwarki o nieindeksowanie witryny (WordPress: mapy witryn w wersji 5.5). Wtyczki SEO, na przykład Yoast SEO, mogą wyłączyć mapę wbudowaną i podać własną. Sprawdzam wtedy, czy w Search Console nie są zgłoszone obie.
  • Sklep na WooCommerce lub PrestaShop - mapę generuje wtyczka albo moduł. W sklepach najczęściej wyłączam w nim adresy, które nie powinny trafić do wyników: filtry, wyniki wyszukiwania i produkty wycofane bez odpowiednika.
  • Strona na własnym systemie - mapa powstaje z bazy danych przy każdej publikacji, więc nowa treść pojawia się w niej od razu, a lastmod pochodzi z daty edycji. Tak ustawiam ją przy tworzeniu stron internetowych, zanim strona trafi do wyszukiwarki.
  • Generator online - tworzy zdjęcie strony z jednego dnia. Nadaje się do strony, która prawie się nie zmienia. Przy regularnie dodawanych treściach taka mapa szybko przestaje odpowiadać stanowi strony.

Jak zgłosić mapę witryny w Search Console i w robots.txt

  1. Otwórz mapę w przeglądarce i sprawdź, czy wyświetla się poprawny XML, a nie strona błędu albo przekierowanie.
  2. W Google Search Console wejdź w raport Mapy witryn i wpisz adres mapy albo indeksu map.
  3. Dopisz do pliku robots.txt wiersz z pełnym adresem mapy, na przykład: Sitemap: https://twojadomena.pl/sitemap.xml. To drugi sposób wskazania mapy, który Google wymienia w dokumentacji obok Search Console.
  4. Sprawdź status w raporcie Mapy witryn.

Raport pokazuje jeden z trzech statusów: „Sukces”, gdy mapa została pobrana i przetworzona, „Nie można pobrać”, gdy robot nie dostał pliku, na przykład przez blokadę w robots.txt, błąd 404 albo niedostępny serwer, oraz „Zawiera błędy”, gdy plik pobrano, ale część zapisu jest niepoprawna (pomoc Search Console: raport Mapy witryn).

Stary sposób powiadamiania Google przez adres „ping” już nie działa. Google ogłosił jego wycofanie 26 czerwca 2023 roku, z sześciomiesięcznym okresem przejściowym. Wtyczki, które nadal wysyłają takie powiadomienia, niczego nie psują, ale też nic nie dają.

Jak sprawdzić, czy mapa witryny działa

  • Liczba wykrytych adresów w raporcie Mapy witryn zgadza się z liczbą opublikowanych stron, które mają być w wynikach. Duża różnica oznacza, że do mapy trafia za dużo albo za mało.
  • Raport Indeksowanie stron z filtrem „Wszystkie przesłane strony” pokazuje, ile adresów z mapy jest zindeksowanych i dlaczego reszta nie jest. Co oznaczają poszczególne powody, opisuję we wpisie o statusach indeksowania stron w Search Console.
  • Próbka adresów - kilka adresów z każdej mapy sprawdzam narzędziem do sprawdzania adresów URL: kod odpowiedzi, adres kanoniczny wybrany przez Google, brak noindex.
  • Porównanie ze skanem strony - adresy, które są w mapie, ale skan prowadzony po linkach ich nie znajduje, to podstrony bez linków wewnętrznych. Adresy znalezione w skanie, a brakujące w mapie, to zwykle typ treści, którego generator nie obsługuje.
  • Daty lastmod - zmieniam tekst na jednej podstronie i sprawdzam, czy data w mapie zmieniła się tylko przy niej.

Google podpowiada w pomocy Search Console jeszcze jedno zastosowanie: osobną mapę z najważniejszymi stronami. Po przefiltrowaniu raportu według niej prośba o weryfikację poprawek obejmuje mniejszą grupę adresów i może zakończyć się szybciej (pomoc Search Console: raport Indeksowanie stron).

Ile trwa indeksowanie adresów z mapy

Zgłoszenie mapy nie oznacza natychmiastowego indeksowania. Według pomocy Search Console rozpoczęcie skanowania i indeksowania nowej strony lub witryny może potrwać około tygodnia, a od chwili, gdy Google pozna adres, do zindeksowania części lub całości witryny może minąć do kilku tygodni. Dla pojedynczych, ważnych adresów możesz użyć opcji „Poproś o zindeksowanie” w narzędziu do sprawdzania adresów URL. Ma ona limit, więc nie zastępuje mapy przy większej liczbie stron.

Mapa witryny po migracji i zmianie adresów

Po zmianie domeny, systemu albo struktury adresów nowa mapa zawiera wyłącznie nowe adresy, które zwracają kod 200. Mapa to jeden z punktów większej listy, którą opisuję w checkliście migracji strony bez utraty pozycji. Po przełączeniu zgłaszam nową mapę w Search Console i przez pierwsze tygodnie obserwuję, czy liczba zindeksowanych adresów z mapy rośnie.

Stara mapa przydaje się jeszcze przed przełączeniem. Gdy strona przechodzi z kreatora, który nie daje pełnego eksportu, to z jego mapy biorę listę dawnych adresów do przekierowań. Tak wygląda to na przykład przy przeniesieniu strony z Wix na WordPress.

Najczęstsze pytania

Czy mapa witryny przyspiesza indeksowanie?

Pomaga Google odkryć nowe adresy, a poprawne daty lastmod pomagają zaplanować ponowne skanowanie zmienionych stron. Nie gwarantuje jednak indeksowania. O tym, czy strona trafi do indeksu, Google decyduje na podstawie jej treści i dostępności.

Ile adresów może mieć jedna mapa witryny?

Najwyżej 50 000 adresów albo 50 MB przed kompresją. Większy serwis dzieli mapę na kilka plików i łączy je w indeks map witryn, który zgłaszasz jako jeden adres.

Mapa witryny XML a mapa strony w HTML - czym się różnią?

Mapa XML jest dla wyszukiwarek i nie musi być nigdzie podlinkowana. Mapa w HTML to zwykła podstrona z linkami dla odwiedzających. Na małej stronie z czytelnym menu zwykle jej nie dodaję, bo powiela nawigację.

Co zrobić, gdy Search Console pokazuje status „Nie można pobrać”?

Otwórz adres mapy w przeglądarce w oknie prywatnym i sprawdź, czy zwraca kod 200. Pomoc Google jako przyczyny wymienia między innymi blokadę w robots.txt, błąd 404 i niedostępność serwera. Sprawdzam też, czy zapora na serwerze albo ochrona przed botami nie odrzuca zapytań robota Google.

Czy w mapie umieszczać strony kategorii i tagów?

Kategorie z własnym opisem i listą wpisów lub produktów tak, bo to często strony z ruchem. Tagi przypisane do jednego czy dwóch wpisów zwykle wyłączam z mapy i z indeksu, bo powielają treść innych list.

Mapę witryny razem z plikiem robots.txt, adresami kanonicznymi i adresami z parametrami porządkuję w ramach optymalizacji mapy witryny i indeksacji. Przy małej stronie na WordPressie zwykle wystarczy jednak sprawdzić mapę z wtyczki według listy z tego wpisu.

Bezpłatnie, bez zobowiązań

Optymalizacja mapy witryny i indeksacji

Porządkuję to, co Google widzi i odwiedza na Twojej stronie

Zadzwoń Wyceń projekt