Mapa witryny (ang. sitemap) to specjalny plik XML, który informuje wyszukiwarki (np. Google) o strukturze Twojej strony i wszystkich dostępnych podstronach. Dzięki niej roboty indeksujące szybciej odnajdują nowe treści i lepiej rozumieją hierarchię witryny.
Wielu użytkowników korzysta z gotowych wtyczek, takich jak Yoast SEO czy Rank Math, ale w rzeczywistości — stworzenie prostego i lekkiego generatora sitemap XML w czystym WordPressie jest bardzo proste.
Poniżej znajdziesz gotowy kod, który możesz dodać do swojego motywu lub wtyczki.
Dlaczego warto stworzyć własną sitemap?
Własny generator sitemap to:
- brak zależności od wtyczek SEO,
- pełna kontrola nad tym, jakie elementy są dodawane,
- mniejsze obciążenie serwera,
- lepsza wydajność przy dużych witrynach.
Jeśli Twoja strona nie wymaga zaawansowanej analizy SEO, samodzielne rozwiązanie jest wystarczające i bezpieczniejsze.
Krok 1: Utwórz własną funkcję generującą sitemap
Dodaj poniższy kod do pliku functions.php lub do swojej wtyczki niestandardowej:
function pp_generate_sitemap() {
header('Content-Type: application/xml; charset=utf-8');
$postsForSitemap = get_posts(array(
'numberposts' => -1,
'post_type' => array('post', 'page'),
'post_status' => 'publish'
));
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
foreach ($postsForSitemap as $post) {
$postdate = explode(" ", $post->post_modified);
echo '<url>'.
'<loc>' . get_permalink($post->ID) . '</loc>'.
'<lastmod>' . $postdate[0] . '</lastmod>'.
'<changefreq>weekly</changefreq>'.
'<priority>0.8</priority>'.
'</url>';
}
echo '</urlset>';
}
Ten kod pobiera wszystkie opublikowane wpisy i strony, a następnie tworzy z nich plik XML z podstawowymi tagami <url>.
Krok 2: Utwórz adres URL sitemap
Aby mapa była dostępna pod adresem np. https://twojastrona.pl/sitemap.xml, dodaj nowy rewrite rule:
function pp_add_sitemap_rewrite() {
add_rewrite_rule('sitemap\.xml$', 'index.php?sitemap=1', 'top');
}
add_action('init', 'pp_add_sitemap_rewrite');
function pp_sitemap_query_var($vars) {
$vars[] = 'sitemap';
return $vars;
}
add_filter('query_vars', 'pp_sitemap_query_var');
function pp_template_redirect() {
if (get_query_var('sitemap')) {
pp_generate_sitemap();
exit;
}
}
add_action('template_redirect', 'pp_template_redirect');
Teraz WordPress sam rozpozna żądanie sitemap.xml i wywoła naszą funkcję.
Po wklejeniu kodu wejdź w Ustawienia → Bezpośrednie odnośniki i kliknij „Zapisz zmiany”, by odświeżyć reguły przepisywania.
Krok 3: Dodaj sitemap do Google Search Console
Po utworzeniu sitemap odwiedź Google Search Console, wybierz swoją witrynę i w zakładce Mapy witryn dodaj adres:
https://twojastrona.pl/sitemap.xml
Po kilku minutach Google rozpocznie analizę i indeksację Twojej strony.
Krok 4: Rozszerzenie funkcji
Jeśli chcesz, możesz rozbudować generator o:
- dodanie niestandardowych typów postów,
- uwzględnienie obrazów (image sitemap),
- dynamiczne generowanie sitemap dla kategorii i tagów,
- automatyczne aktualizacje po publikacji nowych treści.
Podsumowanie
Tworzenie własnej mapy witryny w czystym WordPressie to świetny sposób na odchudzenie strony i lepszą kontrolę nad procesem indeksowania.
Nie potrzebujesz do tego ciężkich wtyczek SEO — wystarczy kilkadziesiąt linijek kodu, a Twoja sitemap XML będzie działać automatycznie.
Dzięki temu Twoja strona będzie:
- szybsza,
- bardziej zoptymalizowana,
- lepiej widoczna w wynikach wyszukiwania.