top of page

Mapa strony teraz w każdym WordPressie. Co musisz wiedzieć

Mapa XML w WordPressie

WordPress 5.5 wprowadza istotną zmianę: mapa strony (ang. XML sitemap) zostanie automatycznie wygenerowana dla każdej witryny posadzonej na WordPressie.

Choć intencje autorów pomysłu były dobre, okazuje się, że temat ten budzi sporo kontrowersji.

Rodzą się pytania:

  1. Czy to dobrze czy źle?

  2. Po co mi w ogóle mapa strony?

  3. Jak wygląda przykładowa mapa generowana przez WordPressa?

  4. Jaką ma nazwę i gdzie jej szukać?

  5. Czy można ją modyfikować?

  6. Czy Google automatycznie wykryje tę mapę?

  7. A co, jeśli ja już używam mapy, którą generuję wtyczką? Będzie konflikt?

  8. Można całkowicie wyłączyć generowanie tej mapy?

Odpowiedzi na te i wiele innych pytań dotyczących XML-owej mapy strony w WordPressie znajdziesz w tym wpisie.

Co to jest XML sitemap?

Wyobraź sobie, że stworzyłeś stronę na WordPressie. Ma ona mnóstwo stron i podstron, wpisów, może nawet jakiś wpisów opartych o custom post types.

Zależy ci, żeby Google czy inne wyszukiwarki poznały całą twoją witrynę i zindeksowały wszystkie twoje treści. Żeby nie pominęły żadnej ważnej podstrony, a w przyszłości nowych, które będą pojawiać się później.

Potrzebujesz mapy witryny, czyli spisu wszystkich twoich stron i podstron WordPressa w formie odnośników do nich.

Dzięki takiej mapie boty indeksujące łatwiej znajdą każdy kawałek twojej witryny i zapoznają się z jej treścią. Ale żeby tak się stało, taka mapa nie może być zwykłym spisem linków w HTMLu. Musi mieć ustalony format.

Za chwilę dowiemy się, że będzie to format XML, ale póki odpowiedzmy na bardziej zasadne pytanie:

Po co mi w ogóle taka mapa?

Czy coś poważnego się stanie, jak moja witryna nie będzie mieć mapy strony?

Nie.

Boty wyszukiwarek zwykle odkrywają kolejne podstrony poprzez analizę istniejących odnośników w ramach twojej witryny.

Ale jeśli takiej mapy strony nie wygenerujesz, jest ryzyko, że niektóre z twoich podstron zostaną niezauważone, szczególnie takie, które nie pojawiają się w menu głównym i odnośniki do nich są gdzieś „zakopane” w zakamarkach innych treści, albo zapomnieliśmy te nowe podstrony gdziekolwiek podlinkować.

Mapa witryny szczególnie przydaje się w dużych, rozbudowanych witrynach, o złożonej strukturze stron i podstron.

Przykładowa mapa witryny w formacie XML

Mapa witryny stanowi zatem uporządkowany dodatek do informacji, którą boty indeksujące i tak jakoś, prędzej czy później by odnalazły. Podaje na tacy botom indeksującym wszystkie linki do stron w ramach twojej witryny.

Żeby informacje zapodać w sposób uporządkowany i ustandaryzowany, potrzeba przedstawić je w odpowiednim formacie. Dla mapy witryny obowiązującym standardem jest format XML.

Poniżej załączam przykład mapy witryny w formacie XML wygenerowany dla bloga, który właśnie czytasz. A właściwie jej niewielki fragment.

Fragment przykładowej mapy strony w formacie XML

Jeśli chcesz poczytać więcej na temat formatu XML dla sitemap, zajrzyj na stronę https://www.sitemaps.org/protocol.html.

Sitemap XML teraz w twoim WordPressie

Od WordPressa w wersji 5.5 (wdrożenie masowe planowane na sierpień 2020), każda witryna dostanie taką mapę automatycznie.

Dlatego wypadałoby wiedzieć coś więcej na ten temat…

Zacznijmy od najważniejszych rzeczy.

Jaką nazwę ma mapa witryny generowana przez WordPressa?

Mapa, którą wygeneruje ci WordPress będzie mieć nazwę:

wp-sitemap.xml

Czyli, zobaczy ją każdy, kto do adresu witryny siedzącej na WordPressie doda końcówkę /wp-sitemap.xml. Przykładowo, dla tego bloga będzie to:

https://webfaces.pl/blog/wp-sitemap.xml

… bo ten blog siedzi pod adresem webfaces.pl/blog.

Co znajdzie się na mapie witryny generowanej przez WordPressa?

Gdy odwiedzimy mapę wp-sitemap.xml wygenerowaną przez WordPressa, czeka nas mała niespodzianka.

Otóż najpierw zobaczymy jedynie króciutki zbiór linków (a nie jak można by się spodziewać całe stado odnośników).

Mapa wygenerowana przez WordPress może wyglądać tak:

Przykładowa mapa wygenerowana przez WordPressa

Przykładowa mapa wygenerowana przez WordPressa

A więc zobaczymy najpierw coś w rodzaju spisu treści kolejnych map, a niej znajdziemy:

  1. link do mapy wszystkich wpisów witryny

  2. link do mapy wszystkich stron witryny

  3. link do mapy wszystkich wpisów opartych o danych typ wpisu (CPT) – dla każdego typu wpisu będzie osobny link (osobna podmapa)

  4. link do mapy wszystkich kategorii

  5. link do mapy wszystkich tagów

  6. link do mapy wszystkich taksonomii (dla każdej taksonomii będzie osoby link)

  7. link do mapy wszystkich użytkowników

I dopiero każdy z tych linków zawiera konkretne już adresy stron. Dla przykładu, po kliknięciu w pierwszy z plików xml z obrazka wyżej zobaczymy:

Przykładowa "podmapa" wygenerowana przez WordPressa, dostępna po kliknięciu w jeden z linków mapy głównej.

Przykładowa „podmapa” wygenerowana przez WordPressa, dostępna po kliknięciu w jeden z linków mapy głównej.

A zatem mapa strony w formacie XML generowana przez WordPressa jest dwupoziomowa.

Ilustruje to poniższy schemat:

Struktura mapy strony generowanej przez WordPressa

Struktura mapy strony generowanej przez WordPressa

Na powyższym schemacie dla przykładu rozwinęłam tylko dwie z map: mapę wpisów i mapę termów taksonomi.

Czy można coś usunąć z tej mapy?

Tak, będzie można usuwać elementy z mapy, ale tylko programistycznie – poprzez wykorzystanie tzw. hooków: filtrów i akcji.

Co będzie można usunąć z mapy:

  1. konkretny wpis/stronę

  2. konkretny typ wpisu

  3. konkretną taksonomię

  4. konkretny term

  5. konkretnego użytkownika

  6. wszystkich użytkowników o wskazanej roli

Nazwy tych hooków znajdziemy w opisie wtyczki Core Sitemap, w ramach której była rozwijana koncepcja zanim weszła do silnika WordPressa.

Czy można wyłączyć generowanie mapy witryny?

Tak, można wyłączyć automatyczne generowanie mapy witryny przez WordPressa, ale tylko programistycznie.

  1. przy pomocy filtra wp_sitemaps_enabled:

add_filter('wp_sitemaps_enabled', '__return_false');
 
  1. albo wykorzystując funkcję:

remove_action( 'init', 'wp_sitemaps_get_server' );
 

Dlaczego ktoś miałby pozbywać się tej mapy? W końcu jej obecność ma pomóc w lepszej indeksacji naszej witryny…

Przyczyny mogą być różne. Oto najczęstsze:

  1. twoja witryna już posiada mapę generowaną przez wtyczkę

  2. twoja strona indeksuje się dobrze i bez mapy, a na mapie masz sporo stron, które chciałbyś ukryć i nie chce ci się bawić w wyłączanie poszczególnych z nich

Czy można sterować tą mapą z poziomu panelu WordPressa?

Nie.

Wszelkich manipulacji na tej mapie generowanej przez WP można dokonać tylko programistycznie, poprzez wykorzystanie hooków (filtrów i akcji, jak w przykładach wyżej).

Być może niebawem w ekosystemie WordPressa pojawią się wtyczki, które umożliwią lepszą kontrolę nad mapą poprzez wygodny interfejs użytkownika.

Autorzy WordPressa postawili na prostotę.

A co, jeśli ja używam już wtyczki do generowania mapy witryny?

Wiele stron na WordPress już dziś generuje mapę strony za pomocą wtyczek. Oto kilka popularnych:

  1. Google XML Sitemaps

  2. Yoast SEO

  3. All in One SEP Pack

Użycie wtyczki do wygenerowani mapy strony XML teraz nie będzie już potrzebne.

Jednak nic nie stoi na przeszkodzie, żeby zachować mapę generowaną przez wtyczkę.

Czy mapa wygenerowana automatycznie przez WP wejdzie w konflikt z mapą wygenerowaną przez wtyczkę?

Autorzy nowego rozwiązania zapewniają że nic takiego się nie stanie, nawet jeśli nasza witryna będzie mieć dwie mapy.

Ale lepiej trzymać się jednej, choćby ze względu na fakt, że pająki Google’a same mogą na naszą sitemapę się natknąć…

Czy Google automatycznie wykryje mapę witryny wygenerowaną przez WordPressa?

Mapę strony zwykle zgłasza się do Google „ręcznie”. Robi się to poprzez Google Search Console wprowadzając link to mapy strony. (Na blogu Yoast SEO we wpisie Submit Your Sitemap to Search Engines możesz przeczytać o zgłaszaniu mapy strony do Google i do innych wyszukiwarek).

Jednak, jeśli twoja witryna zawiera plik robots.txt z linkiem do mapy witryny, to boty Google’a (czy innej wyszukiwarki) automatycznie dowiedzą się o istnieniu mapy witryny.

W WordPressie 5.5 dodano funkcję (add_robots), która dodaje automatycznie mapę witryny do pliku robots.txt generowanego przez WordPressa.

robots

Nie stanie się tak jednak, gdy jawnie poprosiłeś w ustawieniach WordPressa (Ustawienia -> Czytanie), żeby twoja witryna nie była indeksowana. Wówczas link do mapy witryny nie trafi do pliku robots.txt.

Boty Google’s czytają plik robots.txt a więc w ten sposób trafią na link to mapy witryny wygenerowanej przez WordPressa, a więc teoretycznie nie musisz takiej mapy zgłaszać do Google’a jawnie.

Ale…

Nie wszystkie strony WordPressowe mają plik robots.txt.

Ten blog na przykład nie ma…

Czy moja strona na WordPressie posiada plik robots.txt?

WordPress automatycznie generuje plik robots.txt. Ten automatycznie tworzony przez WP to plik wirtualny i nie zobaczysz go w drzewie katalogów. Za to możesz go podejrzeć doklejając do nazwy swojej domeny: /robots.txt.

Tak wygląda klasyczny plik robots.txt generowany automatycznie przez WordPressa:

Plik robots.txt generowany automatycznie przez WordPressa

Plik robots.txt generowany automatycznie przez WordPressa

A tak będzie wyglądać ten plik w WordPressie 5.5+ Mapa witryny zostanie dodana automatycznie:

Plik robots.txt generowany automatycznie przez WordPressa od wersji 5.5 zostanie wzbogacony o link do mapy strony

Plik robots.txt generowany automatycznie przez WordPressa od wersji 5.5 zostanie wzbogacony o link do mapy strony

Uwaga

Jeśli twój WordPress udostępniany jest poprzez podkatalog, tak jak ma to miejsce w przypadku tego bloga:- webfaces.pl/blog, plik robots.txt nie powstanie.

Czy to dobrze, czy źle, że generowanie mapy strony teraz będzie automatycznie?

Skoro autorzy WordPressa wprowadzają automatyczne generowanie mapy do silnika WordPress, to znaczy, że potrzeba jest i należałoby się spodziewać więcej korzyści niż problemów.

Ale czy tak rzeczywiście jest? Zdania są podzielone.

Co na plus?

Okazja do poprawienia SEO bez instalowania kolejnej wtyczki

Sitemapy pomagają (choć nie gwarantują) lepiej zindeksować naszą witrynę w wyszukiwarkach internetowych i przez to poprawić jej widoczność w sieci.

Jeśli potrzebujemy sitemapy, nie musimy już instalować kolejnej wtyczki.

Okazja do poprawienia SEO bez zgłaszania mapy strony do Google Search Console

WordPressowa sitemapa trafia automatycznie do pliku robots.txt generowanego przez WordPressa, który czytają pająki indeksujące. Więc teoretycznie nie trzeba nawet ręcznie jej zgłaszać do Google’a czy innych wyszukiwarek.

Przegląd wszystkich stron bloga w czytelnej formie

Zwróćmy uwagę, że WordPressowa mapa, mimo, że generowana z myślą o botach wyszukiwarkowych jest czytelna również dla człowieka (częściowo dzięki zastosowaniu xml-owego stylesheetu wp-sitemap-index.xsl – jak kogoś ciekawi dlaczego linki ułożone są w elegancką tabelkę typu zebra, gdzie co drugi wiersz jest szary, niech zerknie na ten plik: https://webfaces.pl/blog/wp-sitemap-index.xsl).

Dzięki przejrzystej formie mapy mamy okazję przypomnieć sobie, co my tam w tej naszej WordPressowej stronie trzymamy.

Być może znajdziemy elementy już dawno niewykorzystywane.

Tak było w moim przypadku.

W mojej mapie strony pojawiły się typy wpisów, których już dawno nie używam.

Jest więc okazja do posprzątania.

Co na minus?

Mapa strony - przeciwnicy

Jest wielu przeciwników wprowadzania site mapy do sil