Sitemap XML vers JSON
Cet outil transforme un sitemap XML en JSON, format bien plus commode à manipuler dans un tableur ou un script. Chaque adresse devient un objet avec sa date, sa priorité et sa fréquence quand elles existent. Utile pour inventorier les pages d’un site ou comparer deux versions du sitemap.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
Du XML au JSON
Le sitemap XML est fait pour les moteurs de recherche, pas pour le travail au quotidien : le lire ou le filtrer à la main est fastidieux. La conversion en JSON restitue la même information sous une forme structurée, où chaque URL est un objet doté de ses attributs. On peut alors compter les pages, les trier par date, les charger dans un tableur ou les passer à un autre traitement, sans se battre avec les balises XML.
Ce que contient le résultat
Pour chaque entrée du sitemap, le JSON reprend l’adresse, la date de dernière modification, la fréquence de changement déclarée et la priorité, lorsque ces champs sont présents. Les fichiers d’index qui regroupent plusieurs sitemaps sont reconnus, de sorte que vous obtenez une liste à plat, facile à parcourir. Le format de sortie est propre et prévisible, prêt à être relu par n’importe quel script.
Gratuit dans le navigateur
Collez votre sitemap : la conversion se déroule dans le navigateur, sans rien transmettre ni stocker, gratuitement et sans inscription. Vos adresses ne partent nulle part, ce qui compte pour un site interne ou en préparation. Pour convertir un sitemap déjà en ligne en le chargeant depuis son adresse, la variante par URL passe par l’API et se facture $0.002 par requête.
Cas d’usage
Inventaire des pages
Studio Lumen SAS reprend un site dont personne n’a la liste des pages. En convertissant le sitemap en JSON, l’agence obtient l’ensemble des URL dans un tableur et dresse l’état des lieux en quelques minutes.
Audit en lot
Un consultant veut vérifier le title de chaque page d’un site. Il convertit le sitemap en JSON pour alimenter son propre script d’analyse avec la liste complète des adresses, sans les recopier une à une.
Comparer deux versions
Atelier Garnier SARL refond sa boutique et veut savoir quelles URL ont disparu. Les deux sitemaps convertis en JSON se comparent facilement pour repérer les adresses à rediriger.
Questions fréquentes
Les fichiers d’index de sitemaps sont-ils gérés ?
Oui. Un fichier d’index qui pointe vers plusieurs sitemaps est reconnu, et vous obtenez une liste d’URL à plat plutôt qu’une imbrication difficile à exploiter. C’est le cas courant des gros sites.
Quels champs sont conservés dans le JSON ?
L’adresse de chaque page, et selon ce que déclare le sitemap : la date de dernière modification, la fréquence de changement et la priorité. Les champs absents ne sont pas inventés — le résultat reflète le fichier d’origine.
Mon sitemap est-il envoyé sur un serveur ?
Non, en mode collé. La conversion se fait dans votre navigateur ; le fichier et ses adresses ne quittent pas la page. Seule la conversion d’un sitemap en ligne via l’API implique un traitement à distance.
Le JSON obtenu est-il directement utilisable dans un script ?
Oui. La sortie suit une structure propre et régulière, que n’importe quel langage sait relire. Vous pouvez la charger telle quelle, la filtrer ou l’injecter dans un autre outil.
Est-ce gratuit ?
Le mode collé l’est, sans compte ni limite. Seule la conversion d’un sitemap chargé depuis son adresse, via l’API, est facturée $0.002 la requête, en dollars US.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.sitemap_to_json",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |