Dokumentacja
Dodaj mapę strony
Dodaj mapę strony
Mapa strony (sitemap) to plik XML z listą podstron, często z datą ostatniej zmiany każdej z nich. Google i tak znajduje strony po linkach, ale dzięki mapie szybciej odwiedza nowe i zmienione podstrony i dociera do tych, do których prowadzi mało linków: produktów głęboko w sklepie, starych wpisów na blogu, stron docelowych spoza menu. W Google Search Console pokazuje też, ile z wymienionych stron jest faktycznie zaindeksowanych.
Lista kontrolna strony oznacza brak mapy strony jako Sprawdź. To nie jest sytuacja awaryjna, ale na większości stron ustawisz ją w kilka minut.
Czego szuka lista kontrolna
Sprawdzamy dwa miejsca, w tej kolejności:
https://example.com/sitemap.xml(przekierowanie na inny adres jest w porządku);- pierwszą linię
Sitemap:wrobots.txt, dla map pod innymi adresami, np./sitemap_index.xmllub/wp-sitemap.xml.
Plik musi zwracać 200 i być prawdziwą mapą strony: <urlset> (lista stron) albo <sitemapindex> (lista map). Strona główna zwracana dla każdego nieznanego adresu się nie liczy.
Sprawdź sam
Zamiast example.com wpisz swoją stronę:
curl -sL https://example.com/sitemap.xml | head -c 400
curl -sL https://example.com/robots.txt | grep -i '^sitemap:'
Pierwsze polecenie powinno wypisać XML zawierający <urlset lub <sitemapindex. Jeśli wypisze HTML lub błąd, drugie pokaże, czy robots.txt wskazuje gdzie indziej. Wystarczy jedno z dwóch.
Jak to naprawić
Większość systemów już tworzy mapę strony, a poprawka polega na jej włączeniu lub wskazaniu. Wskaż ją w robots.txt jedną linią w dowolnym miejscu pliku, z pełnym adresem:
Sitemap: https://example.com/sitemap_index.xml
WordPress
WordPress ma wbudowaną mapę strony od wersji 5.5, pod /wp-sitemap.xml. /sitemap.xml na nią przekierowuje, a generowany robots.txt ją wymienia. Jest wyłączona, gdy zaznaczone jest Settings → Reading → Search engine visibility, co jest kolejnym powodem, by na działającej stronie to odznaczyć.
Wtyczki SEO zastępują ją własną, pod /sitemap_index.xml:
- Yoast SEO: Yoast SEO → Settings → Site features, włącz XML sitemaps.
- Rank Math: Rank Math SEO → Dashboard → Modules, włącz Sitemap; ustawienia są w Rank Math SEO → Sitemap Settings.
Używaj jednej mapy, nie dwóch. Jeśli /sitemap.xml po włączeniu nadal zwraca 404, wejdź w Settings → Permalinks i kliknij Save Changes (odświeża to reguły przepisywania), potem wyczyść pamięć podręczną strony. Jeśli strona ma fizyczny plik robots.txt, dodaj do niego linię Sitemap: samodzielnie.
cPanel
Panel hostingu nie tworzy map strony; robi to CMS albo generator. Jeśli strona to zwykły HTML, wygeneruj sitemap.xml narzędziem do generowania map strony, potem prześlij go przez Files → File Manager do folderu głównego strony (zwykle public_html), obok index.html. W tym samym folderze dodaj linię Sitemap: do robots.txt.
Pamiętaj, żeby wygenerować plik ponownie po dodaniu stron. Dla strony, która często się zmienia, lepszy jest CMS lub aplikacja, która sama buduje mapę.
Node.js i Next.js
W Next.js App Router dodaj app/sitemap.js; Next.js serwuje go pod /sitemap.xml:
export default async function sitemap() {
const posts = await getPosts(); // Twoje dane
return [
{ url: 'https://example.com/', lastModified: new Date() },
...posts.map((post) => ({
url: `https://example.com/blog/${post.slug}`,
lastModified: post.updatedAt,
})),
];
}
Wskaż go w app/robots.js przez sitemap: 'https://example.com/sitemap.xml'. W Pages Router lub innych frameworkach to samo robi krok budowania, który zapisuje public/sitemap.xml.
Laravel
Pakiet spatie/laravel-sitemap buduje mapę strony z Twoich modeli albo przez przeszukanie strony:
composer require spatie/laravel-sitemap
use Spatie\Sitemap\Sitemap;
use Spatie\Sitemap\Tags\Url;
Sitemap::create()
->add(Url::create('/'))
->add(Post::all()) // model implementuje Sitemapable
->writeToFile(public_path('sitemap.xml'));
Uruchamiaj to z zaplanowanego polecenia (raz dziennie wystarczy), żeby nowe strony pojawiały się same, i dodaj linię Sitemap: do public/robots.txt.
Statyczny HTML
Napisz sitemap.xml w katalogu głównym strony, jeden <url> na stronę:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2026-10-01</lastmod>
</url>
<url>
<loc>https://example.com/contact/</loc>
</url>
</urlset>
Używaj pełnych adresów z tym samym https:// i www (lub bez www) co działająca strona. Generator stron statycznych (Hugo, Eleventy, Astro, Jekyll) może tworzyć ten plik przy każdym budowaniu.
Shopify
Shopify sam tworzy mapę strony pod /sitemap.xml i wymienia ją w robots.txt. Nie trzeba niczego włączać. Jeśli lista kontrolna jej nie znajduje, sprawdź, czy sklep nie jest chroniony hasłem (Online Store → Preferences).
Wix
Wix sam tworzy mapę strony pod /sitemap.xml, gdy strona jest opublikowana na domenie. Strony ukryte przed wyszukiwarkami są w niej pominięte.
Webflow
Otwórz Site settings → SEO, włącz Auto-generate sitemap i kliknij Publish. Mapa jest pod /sitemap.xml i jest odbudowywana przy każdej publikacji.
Squarespace
Squarespace sam tworzy mapę strony pod /sitemap.xml. Nie trzeba niczego włączać.
Powiedz o tym Google
Gdy mapa strony już istnieje, prześlij ją raz w Google Search Console: Indexing → Sitemaps, wpisz adres (na przykład sitemap_index.xml) i kliknij Submit. Raport pokaże potem, kiedy Google ostatnio ją odczytał i ile jej stron jest zaindeksowanych. Bing Webmaster Tools ma to samo w Sitemaps.
Mapa strony powinna wymieniać tylko strony, które chcesz mieć w wyszukiwarce: działający adres każdej, zwracający 200, bez noindex. Mapa pełna przekierowań i błędów 404 uczy Google, by ufał jej mniej.
Potwierdź poprawkę
Uruchom ponownie oba polecenia curl z sekcji Sprawdź sam, potem otwórz cel w PulseKeeper i kliknij Sprawdź teraz na zakładce Lista kontrolna. Pozycja zmieni się na OK w ciągu kilku minut, a nie dopiero przy kolejnym codziennym sprawdzeniu.