Sitemap.xml to plik — zazwyczaj w katalogu głównym, zgłoszony w robots.txt i przesłany w Search Console — który listuje URL-e mające zostać zaindeksowane. Dla każdego URL można podać datę ostatniej modyfikacji (`lastmod`), częstotliwość aktualizacji i względny priorytet. Google dziś w dużej mierze ignoruje `priority` i `changefreq`, ale uważnie czyta `lastmod`, by priorytetyzować crawl. Czysty sitemap przyspiesza indeksację nowych stron o kilka dni, a na dużych serwisach nawet o tygodnie.
Sitemap staje się krytyczny powyżej kilkuset stron, a niezbędny w SEO programmatic (10 000+ URL-i). Limity formatu: 50 000 URL-i i 50 MB na plik — powyżej dzieli się go na kilka sitemap zebranych w sitemap index. Można specjalizować: sitemap-pages.xml, sitemap-blog.xml, sitemap-products.xml plus dedykowane sitemapy (obrazów, wideo, news dla Google News). Na dużej stronie generujemy sitemap dynamicznie przy buildzie Next.js w SSG — route'em `app/sitemap.ts`, który skanuje bazę danych i emituje XML.
Klasyczne pułapki: URL-e z canonical wskazującym gdzie indziej (Google ignoruje), URL-e w noindex (sprzeczność), URL-e zwracające 404 lub 301 (Google traci zaufanie do konserwacji), `lastmod` nigdy nieaktualizowany, niedoprzesłanie do Search Console. Pilnujemy w raporcie „Strony” w GSC: ile URL-i zadeklarowano vs ile zaindeksowano. Rozbieżność > 30 % sygnalizuje problem jakości lub linkowania wewnętrznego. Audytujemy sitemap i pokrycie indeksacji w bezpłatnym audycie SEO.
Dobre praktyki sitemapy
- Listować tylko kanoniczne URL-e w 200, indeksowalne, bez parametrów trackingowych (UTM).
- `lastmod` automatycznie aktualny (nie wpisywać dzisiejszej daty wszędzie — Google wykrywa oszustwo).
- Sitemap index, jeśli > 50 000 URL-i, dedykowane sitemapy (obraz, wideo, news), jeśli istotne.
- Przesłany w Search Console i zadeklarowany w robots.txt (`Sitemap: https://...`).
