Sitemap XML vers JSON
Transformez un sitemap en liste d'adresses propre : une entrée pour example.com/a ressort avec son lastmod du 2026-07-01, une priorité de 0,8 et une fréquence hebdomadaire. Les chemins relatifs sont résolus et les caractères encodés décodés, prêts pour un tableur. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
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.
Pourquoi un sitemap est rarement une simple liste
Un fichier sitemap.xml accepte au plus 50 000 URL. Les sites plus grands se divisent donc en un index qui renvoie vers des dizaines ou des centaines de fichiers enfants, parfois sur plusieurs niveaux et en mêlant pages, images et actualités. Le lire à la main oblige à ouvrir chaque fichier, à repérer ceux qui sont eux-mêmes des index et à gérer des formats différents. Pour un audit de contenu, une migration ou la chasse aux liens morts, on veut surtout la liste finale des adresses.
Un format ancien, des fichiers très variés
Le protocole des sitemaps est apparu en 2005 et a été adopté conjointement par les grands moteurs l'année suivante, pour aider à découvrir les pages des sites vastes ou mal reliés. Vingt ans plus tard, le format n'a guère changé, mais chaque système l'applique à sa façon : XML mal formé, fichiers compressés, protocoles mélangés. La conversion résout les chemins relatifs et décode les caractères spéciaux des adresses, pour que la liste arrive propre dans votre tableur ou votre outil d'audit.
Du fichier XML à la liste
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. 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
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.
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.
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.
Est-ce gratuit ?
Le mode collé l’est, sans compte ni limite.
Combien d'URL un seul sitemap peut-il contenir ?
Un fichier sitemap.xml contient au maximum 50 000 URL. Au-delà, un site se divise en un index qui pointe vers des dizaines ou des centaines de fichiers enfants, et une liste unique devient précieuse.
Les dates et la priorité de chaque page sont-elles conservées ?
Oui. Quand le fichier source indique lastmod, changefreq et priority, ces valeurs accompagnent chaque adresse dans la liste, si bien que rien ne se perd en route.
Outils associés
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 '{"url":"https://example.com/sitemap.xml"}'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({
"url": "https://example.com/sitemap.xml"
})
});
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={
"url": "https://example.com/sitemap.xml"
},
)
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" => '{"url":"https://example.com/sitemap.xml"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com/sitemap.xml"}`)
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
{
"url": "https://example.com/sitemap.xml"
}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. |
Notes techniques
Cet outil transforme un sitemap XML en JSON, format bien plus commode à manipuler dans un tableur ou un script.
Du XML au JSON
La conversion en JSON restitue la même information sous une forme structurée, où chaque URL est un objet doté de ses attributs.
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.
Gratuit dans le navigateur
Vos adresses ne partent nulle part, ce qui compte pour un site interne ou en préparation. Collez votre sitemap : la conversion se déroule dans le navigateur, sans rien transmettre ni stocker, gratuitement et sans inscription. 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'intégration
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 techniques
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.
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.