XML-Sitemap in JSON umwandeln
Die Funktion liest eine eingefügte XML-Sitemap und gibt jede enthaltene URL mit lastmod, changefreq und priority als JSON-Liste zurück. Für alle, die die Adressen einer Sitemap in einer Tabelle, einem Skript oder einer eigenen Anwendung weiterverarbeiten wollen, statt XML von Hand zu durchsuchen.
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.
Von XML zu einer verarbeitbaren Liste
Eine XML-Sitemap lässt sich zwar mit einem Texteditor öffnen, aber nur mühsam nach einzelnen Werten durchsuchen. Die Funktion wandelt jeden Eintrag in ein JSON-Objekt mit den Feldern loc, lastmod, changefreq und priority um, in der Reihenfolge, in der sie in der Sitemap stehen, sodass sich die Liste direkt in eine Tabelle importieren oder in einem Skript weiterverarbeiten lässt, ohne die XML-Syntax selbst zu parsen.
Fehlende Felder bleiben erkennbar
Nicht jede Sitemap füllt alle vier Felder; changefreq und priority sind laut Standard optional. Fehlt ein Feld im Original, erscheint es im JSON-Ergebnis als leerer Wert, statt stillschweigend wegzufallen, damit der Unterschied zwischen „nicht vorhanden“ und „leer angegeben“ nachvollziehbar bleibt und sich in einer eigenen Auswertung sauber weiterverarbeiten lässt, ohne spätere Rückfragen zur Datenqualität der ursprünglichen Quelldatei überhaupt zu riskieren.
Kostenlos, mit sofortigem Ergebnis
Sie fügen den Inhalt der XML-Datei ein und erhalten die JSON-Liste unmittelbar zum Kopieren oder Herunterladen. Die manuelle Nutzung ist kostenlos und ohne Limit, ohne Anmeldung, auch bei größeren Sitemaps mit mehreren tausend URLs auf einmal oder mehreren Dateien kurz nacheinander an einem Tag. Für die automatisierte Umwandlung direkt über die URL der Sitemap steht die API-Anfrage für $0.002 bereit.
Anwendungsfälle
URL-Liste für ein internes Reporting-Tool
Sabine Schneider wandelt die Sitemap eines Kundenprojekts in JSON um, um die enthaltenen URLs in ein internes Reporting-Tool zu importieren.
Änderungsdatum je Seite auswerten
Anna Hoffmann liest aus der JSON-Liste das lastmod-Feld jeder Seite aus, um zu prüfen, welche Bereiche der Website zuletzt aktualisiert wurden.
Grundlage für einen eigenen Crawl-Plan
Ein Entwickler wandelt die Sitemap in JSON um, um daraus automatisiert eine Liste von URLs für einen eigenen, begrenzten Crawl zu erzeugen.
Häufige Fragen
Welche Felder enthält das JSON-Ergebnis?
loc, lastmod, changefreq und priority für jede URL, in derselben Reihenfolge wie in der eingefügten Sitemap.
Was passiert, wenn ein Feld in der Sitemap fehlt?
Es erscheint im JSON-Ergebnis als leerer Wert, statt einfach zu fehlen, damit der Unterschied nachvollziehbar bleibt.
Bleibt meine Sitemap dabei auf meinem Gerät?
Ja, solange Sie den Inhalt selbst einfügen, verlässt er Ihren Browser nicht.
Was kostet die Umwandlung direkt über die URL der Sitemap?
$0.002 pro Anfrage über die API. Mit eingefügtem Inhalt bleibt die Umwandlung kostenlos.
Ist dafür ein Konto nötig?
Nein. Weder für die kostenlose Nutzung noch für die API-Anfrage ist ein Konto erforderlich.
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-to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/seo/sitemap-to-json", {
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-to-json",
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-to-json", 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-to-json", 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_to_json",
"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. |