Eine XML-Sitemap teilt Google mit, welche URLs Ihrer Website existieren und wann sie zuletzt aktualisiert wurden. Für kleine Websites ist das optional – für mittlere und große Websites ist es ein wichtiges Signal für den Crawling-Prozess. Der Schlüssel liegt darin, die Sitemap automatisch aktuell zu halten, statt sie manuell zu pflegen.
Was Google von Sitemaps braucht – und was nicht
Google liest Sitemaps, aber verlässt sich nicht blind auf sie. Wichtig zu verstehen:
Was Sitemaps leisten:
- Google auf neue oder geänderte URLs aufmerksam machen
- Crawling-Frequenz für wichtige Seiten erhöhen
- Bei sehr großen Websites (10.000+ URLs) Crawl-Budget effizient nutzen
Was Sitemaps nicht leisten:
- Schlechte Seiten ranken lassen
- Indexierung erzwingen (Google entscheidet selbst)
- Crawling-Prioritäten erzwingen (das
priority-Feld wird von Google weitgehend ignoriert)
Für Websites mit weniger als 500 URLs bringt eine Sitemap kaum SEO-Vorteil – Google findet diese URLs durch interne Links. Ab 500+ URLs oder nach häufigen Änderungen ist eine Sitemap jedoch sinnvoll.
Pflichtfelder in der Sitemap:
<loc>: Die vollständige URL (mit https://, mit Trailing Slash wenn zutreffend)<lastmod>: Datum der letzten Änderung (ISO 8601:2025-01-15)
Optionale Felder (meist ignoriert von Google):
<changefreq>: Theoretische Aktualisierungsfrequenz – Google ignoriert dieses Feld<priority>: Relative Priorität – Google ignoriert dieses Feld seit Jahren
WordPress: Sitemap automatisch generieren
Nativ (seit WordPress 5.5)
WordPress generiert seit Version 5.5 automatisch eine Sitemap unter /wp-sitemap.xml. Sie enthält alle öffentlichen Beiträge, Seiten und Taxonomien. Grundfunktional, aber nicht konfigurierbar.
Einschränkungen der nativen Sitemap:
- Keine Kontrolle über ausgeschlossene Seiten
- Keine Bild-Sitemap
- Kein
lastmodfür Taxonomien
Mit Rank Math (empfohlen)
Rank Math generiert automatisch eine vollständige Sitemap mit:
- Konfigurierbarem Inhalt (welche Post Types, welche Taxonomien)
- Bild-Sitemap
- News-Sitemap (optional)
- Automatischer Aktualisierung bei Änderungen
Aktivierung: Rank Math → Sitemap → Module aktivieren.
Mit Yoast SEO
Yoast SEO bietet eine ähnliche Sitemap-Funktionalität. Aktivierung über SEO → Allgemein → Features → XML-Sitemap auf „An” setzen.
Beide Plugins reichen die Sitemap automatisch bei der Google Search Console ein, wenn die Search Console verbunden ist.
Astro: Sitemap via Plugin
Astro bietet ein offizielles Sitemap-Integration-Plugin:
npx astro add sitemap
In astro.config.mjs:
import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';
export default defineConfig({
site: 'https://seofx.de',
integrations: [
sitemap({
filter: (page) => !page.includes('/admin/'),
changefreq: 'weekly',
lastmod: new Date(),
})
],
});
Die Sitemap wird automatisch bei jedem Build unter /sitemap-index.xml generiert.
Next.js: Sitemap generieren
Next.js generiert Sitemaps direkt über Code – ohne externes Plugin. Next.js 13.3+ (App Router, native Sitemap):
// app/sitemap.ts
import { MetadataRoute } from 'next'
export default function sitemap(): MetadataRoute.Sitemap {
return [
{
url: 'https://example.de',
lastModified: new Date(),
changeFrequency: 'weekly',
priority: 1,
},
{
url: 'https://example.de/blog',
lastModified: new Date(),
changeFrequency: 'daily',
priority: 0.8,
},
]
}
Für dynamische Routen (Blog-Artikel aus CMS):
// app/sitemap.ts
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
const posts = await fetchAllPosts()
const postUrls = posts.map((post) => ({
url: `https://example.de/blog/${post.slug}`,
lastModified: new Date(post.updatedAt),
}))
return [
{ url: 'https://example.de', lastModified: new Date() },
...postUrls,
]
}
Hugo: Automatische Sitemap
Hugo generiert automatisch eine Sitemap aus allen Inhalten. Die Standard-Sitemap liegt unter /sitemap.xml. Anpassung in config.toml:
[sitemap]
changefreq = "monthly"
filename = "sitemap.xml"
priority = 0.5
Für benutzerdefinierte Sitemap: Template in layouts/_default/sitemap.xml anlegen.
Praxistipp: Fügen Sie die Sitemap-URL in Ihre robots.txt ein – das ist der schnellste Weg, Google auf die Sitemap hinzuweisen, ohne die Search Console nutzen zu müssen:
User-agent: *
Allow: /
Sitemap: https://example.de/sitemap.xml
Sitemap-Größe und Index-Sitemaps
Eine einzelne Sitemap darf maximal 50.000 URLs und 50 MB unkomprimiert enthalten. Bei größeren Websites nutzen Sie eine Sitemap-Index-Datei, die auf mehrere Unter-Sitemaps verweist:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.de/sitemap-posts.xml</loc>
<lastmod>2025-01-15</lastmod>
</sitemap>
<sitemap>
<loc>https://example.de/sitemap-pages.xml</loc>
<lastmod>2025-01-15</lastmod>
</sitemap>
</sitemapindex>
WordPress-SEO-Plugins, Astro’s Sitemap-Integration und die meisten modernen CMS generieren automatisch eine Sitemap-Index-Struktur.
Sitemap in der Google Search Console einreichen
Nach der Erstellung die Sitemap bei Google einreichen:
- Google Search Console → Ihr Property
- Linke Navigation → „Sitemaps”
- Sitemap-URL eingeben (z. B.
sitemap.xmlodersitemap-index.xml) - „Senden” klicken
Google zeigt dann die Anzahl der gefundenen und indexierten URLs an. Eine Diskrepanz (z. B. 200 URLs entdeckt, aber nur 180 indexiert) ist normal – Google indexiert nur Seiten, die es für indexierungswürdig hält.
Sitemap vs. Crawl-Budget: Eine Sitemap hilft Googlebot, alle URLs effizient zu finden – aber sie ersetzt keine gute interne Verlinkungsstruktur. Seiten die nirgendwo intern verlinkt sind (Orphan Pages) werden auch mit Sitemap selten gut indexiert. Interne Links sind wichtiger als Sitemaps.