XML-Sitemap validieren
Die Funktion prüft eine eingefügte XML-Sitemap auf gültiges XML, korrektes Datumsformat im lastmod-Feld, absolute URLs und die zulässigen Grenzen von 50.000 URLs beziehungsweise 50 MB unkomprimiert je Datei. Für alle, die eine Sitemap vor der Einreichung bei Google fehlerfrei wissen wollen.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Warum eine ungültige Sitemap unbemerkt bleibt
Google meldet Fehler in einer eingereichten Sitemap oft erst mit Verzögerung in der Search Console, manchmal erst Tage später und ohne genaue Zeilenangabe. Die Funktion prüft die Datei sofort und zeigt jeden Fehler mit der betroffenen Stelle, bevor die Sitemap überhaupt eingereicht wird, statt erst nach Tagen von einem Fehler zu erfahren, der sich längst hätte beheben lassen, wäre er früher aufgefallen.
Diese Punkte werden kontrolliert
Geprüft werden gültiges XML ohne Syntaxfehler, absolute statt relative URLs in jedem loc-Feld, ein zulässiges Datumsformat im lastmod-Feld sowie die Grenzen von höchstens 50.000 URLs und 50 MB unkomprimierter Dateigröße je Sitemap, wie sie der Sitemap-Standard vorschreibt. Jeder Fund wird mit der betroffenen Stelle in der Datei angezeigt, ohne dass Sie selbst danach suchen müssen, Zeile für Zeile, bis Sie fündig werden.
Große Sitemaps und Sitemap-Indexe
Überschreitet eine Website diese Grenzen, verteilt man die URLs auf mehrere einzelne Sitemaps und bündelt sie über eine übergeordnete Sitemap-Index-Datei. Die Funktion erkennt eine solche Index-Datei und weist bei Bedarf darauf hin, wenn eine eingefügte Datei selbst bereits die Grenze überschreitet, statt die Datei stillschweigend als fehlerhaft abzulehnen, ohne den eigentlichen Grund dafür zu nennen. Große Redaktionen mit mehreren zehntausend Artikeln stoßen auf dieses Problem regelmäßig.
Kostenlos und ohne Serverübertragung
Sie fügen den Inhalt der XML-Datei hier ein; die Prüfung läuft vollständig in Ihrem Browser, ohne Übertragung an einen Server. Die manuelle Nutzung ist kostenlos und ohne Limit, auch bei mehreren Sitemaps nacheinander am selben Tag oder im Rahmen einer größeren Migration. Für die automatisierte Prüfung einer Sitemap direkt über ihre URL, ohne den Inhalt selbst einzufügen, steht die API-Anfrage für $0.002 bereit.
Anwendungsfälle
Neue Sitemap vor der Einreichung
Bäckerei Hoffmann e. K. validiert eine neu erzeugte Sitemap, bevor sie in der Google Search Console eingereicht wird, und findet zwei relative statt absolute URLs.
Fehlerursache nach Search-Console-Warnung
Nach einer Fehlermeldung in der Search Console fügt Lukas Fischer die betroffene Sitemap ein, um die genaue fehlerhafte Zeile zu finden.
Große Website mit mehreren Sitemaps
Eine Redaktion mit über 60.000 Artikeln prüft, ob die aufgeteilten Sitemaps jeweils unter der Grenze von 50.000 URLs bleiben.
Häufige Fragen
Welche Fehler erkennt die Prüfung?
Ungültiges XML, relative statt absolute URLs, ein falsches Datumsformat im lastmod-Feld und eine Überschreitung der Grenzen von 50.000 URLs oder 50 MB je Sitemap.
Was ist eine Sitemap-Index-Datei?
Eine übergeordnete Datei, die auf mehrere einzelne Sitemaps verweist, wenn eine Website mehr URLs hat, als eine einzelne Sitemap zulässt.
Wird meine Sitemap an einen Server übertragen?
Nein, bei der kostenlosen Nutzung nicht. Die Prüfung läuft vollständig auf Ihrem Gerät.
Kann ich stattdessen nur die URL der Sitemap angeben?
Ja, über die API für $0.002 pro Anfrage. Die Sitemap wird dann automatisch abgerufen.
Ändert die Prüfung die Datei?
Nein. Sie liest die Sitemap nur aus, verändert wird nichts.
Ist ein Konto erforderlich?
Nein. Die kostenlose Prüfung im Browser läuft ganz ohne Registrierung.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/seo/sitemap-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/seo/sitemap-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/sitemap-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/sitemap-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/sitemap-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"input": "…"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.sitemap_validate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |