Introduction au SEO

Créez votre sitemap XML à la main : le guide pas à pas

Assez des plugins qui alourdissent votre serveur ! Apprenez à créer un sitemap XML à la main en 10 minutes, comprendre chaque balise et reprendre le contrôle total de votre fichier, sans dépendre d'aucun outil automatique.

Créez votre sitemap XML à la main : le guide pas à pas

Bon, on va arrêter de tourner autour du pot. Vous avez probablement cherché "comment créer un sitemap XML" et vous êtes tombé sur des tonnes de plugins WordPress, de générateurs automatiques et de tutoriels qui vous disent de "cliquer sur Générer".

Mais vous êtes ici pour une raison précise : vous voulez le faire manuellement. Vous contrôlez votre fichier, vous comprenez chaque balise, et vous n'avez pas besoin d'un plugin qui gonfle votre serveur avec 500 requêtes SQL pour un simple fichier texte.

Franchement, je ne vous blâme pas. J'ai passé des années à configurer des sites avec des générateurs automatiques, et un jour, j'ai voulu ajouter une URL avec un paramètre de tri spécifique. Le plugin l'écrasait systématiquement. Résultat : j'ai fini par écrire le fichier à la main, et je n'ai jamais regardé en arrière depuis.

Voici une vérité que personne ne vous dit : un sitemap XML, c'est un fichier texte avec des balises. C'est tout. Vous pouvez l'ouvrir dans le Bloc-notes, le Sublime Text, ou même l'éditeur de votre serveur. Et vous pouvez l'écrire vous-même en 10 minutes une fois que vous avez compris la structure.

Points clés à retenir

  • Un sitemap XML suit une structure stricte en UTF-8, mais chaque balise a un rôle précis que vous pouvez maîtriser.
  • La balise lastmod est souvent mal comprise : elle dit à Google quand la page a été modifiée, pas quand vous l'avez envoyée.
  • Vous n'avez pas besoin d'un plugin pour un site qui ne change pas toutes les 5 minutes.
  • Un sitemap de 5 URLs se valide et se soumet en moins de 10 minutes, à la main.
  • Les erreurs les plus courantes sont les URL relatives (manque le domaine complet) et les balises non fermées.
  • Pour les gros sites, vous devrez fractionner en sitemap index — et là aussi, manuellement, c'est d'une simplicité déconcertante.

Pourquoi diable créer un sitemap XML à la main en 2026 ?

Vous vous dites peut-être : "Mais les plugins existent, pourquoi s'embêter ?"

Spoiler : parce que les plugins font des sitemaps moches. Voilà.

Quand j'ai audité un site de e-commerce avec un plugin populaire, j'ai trouvé 347 URLs dans le sitemap qui retournaient une erreur 404. Le plugin avait été configuré pour inclure les anciennes URLs de produits supprimés, et personne ne l'avait vérifié.

Le problème, c'est que les générateurs automatiques ne réfléchissent pas. Ils balancent tout ce qui ressemble à une page dans votre sitemap, y compris les pages de pagination, les filtres, les URLs de tri, les résultats de recherche internes...

Résultat : votre sitemap dit à Google "indexez tout ça !" — et Google vous répond "ok, mais 40% de ces pages sont des doublons ou des 404".

Quand vous écrivez le fichier à la main, vous faites ce travail de filtrage vous-même. Et devinez quoi ? Votre taux d'indexation s'en ressent. Dans mon cas, après avoir nettoyé le sitemap d'un site client, le nombre de pages indexées est passé de 68% à 94% en trois semaines. Le crawl budget s'était concentré sur les pages qui comptaient vraiment.

La structure exacte : chaque balise, chaque attribut

Bon, il faut bien commencer quelque part. Voici le squelette exact d'un fichier sitemap XML valide :

La structure exacte : chaque balise, chaque attribut
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"

xmlns:xhtml="http://www.w3.org/1999/xhtml">

https://www.monsite.fr/ 2026-06-15 weekly 1.0 https://www.monsite.fr/guide-sitemap/ 2026-07-20 monthly 0.8

Décortiquons ça, car si vous copiez-collez aveuglément, vous raterez l'essentiel.

La déclaration XML et le namespace

La première ligne (``) dit aux robots : "je suis un fichier XML en UTF-8". Ne l'oubliez jamais. Sans elle, certains parsers refuseront le fichier.

La ligne `` définit le schéma officiel du protocole Sitemap. C'est la norme reconnue par Google, Bing, et tous les autres. Ne changez pas l'URL du schéma, même si vous trouvez une version plus récente ailleurs sur internet.

La balise loc : l'unique obligatoire

Chaque `` doit contenir exactement une balise ``. C'est l'URL absolue et complète. Pas de chemin relatif, pas de "www" oublié, pas de majuscules mal placées.

Une erreur que j'ai commise à mes débuts : j'avais écrit `monsite.fr/contact` au lieu de `https://www.monsite.fr/contact`. Google a ignoré la moitié du sitemap. Le protocole exige une URL absolue, avec protocole (https://) et domaine complet.

J'ai aussi appris à mon détriment que si votre site est accessible via `https://monsite.fr` ET `https://www.monsite.fr`, vous devez choisir UNE version et vous y tenir. Mettez la version canonique dans votre sitemap.

lastmod : la balise la plus mentie du web

`` indique la date de dernière modification au format ISO 8601 (AAAA-MM-JJ). Vous pouvez ajouter l'heure : `2026-07-20T14:30:00+02:00`, mais c'est rarement nécessaire.

La vraie question : que mettre dedans ?

Si votre page n'a pas réellement changé, ne mettez pas la date du jour. Google s'en rend compte. J'ai vu des sites qui dataient toutes leurs URL au jour de la soumission du sitemap, et leurs pages se faisaient dé-indexer. Pourquoi ? Parce que Google visitait la page, ne voyait aucun changement, et perdait confiance.

La règle que je vous recommande : mettez la date de la dernière modification réelle du contenu. Pas de modification ? Ne mettez pas la balise du tout ; elle est optionnelle.

changefreq et priority : les balises à faible valeur

Franchement ? Je les mets encore par habitude, mais leur importance est marginale. Google l'a dit plusieurs fois : il ignore largement ces métadonnées pour ses décisions de crawl.

`` peut prendre : `always`, `hourly`, `daily`, `weekly`, `monthly`, `yearly`, `never`.

`` va de 0.0 à 1.0, 1.0 étant la plus prioritaire. C'est relatif aux autres pages du même sitemap, pas absolu.

Le seul intérêt que j'y vois : documenter pour un futur contributeur quelles pages sont importantes. Mais pour le crawl, ne comptez pas dessus.

Le premier encodage : attention aux caractères spéciaux

Vos URLs peuvent contenir des caractères qui doivent être échappés en XML :

CaractèreÉquivalent XML
&&
<<
>>
""

Un exemple concret : si votre URL est `https://www.monsite.fr/page?param=1&autre=2`, dans le sitemap vous écrivez `https://www.monsite.fr/page?param=1&autre=2`.

J'ai passé une soirée entière à debugger un sitemap qui échouait à la validation pour cette raison. Une seule URL avec un `&` non échappé suffit à casser tout le fichier. Vraiment.

Créer votre premier sitemap manuellement : le pas à pas

Voici une méthode qui fonctionne, que vous ayez 5 pages ou 500.

Créer votre premier sitemap manuellement : le pas à pas

Étape 1 : lister vos URLs à indexer

Prenez un tableur ou un simple document texte. Listez toutes les pages que vous voulez voir indexées.

Mais attention : pas toutes les pages. Excluez :

  • Les pages de connexion (`/login`, `/mon-compte`)
  • Les résultats de recherche interne
  • Les pages de filtres et de pagination (sauf si vous avez une stratégie spécifique)
  • Les pages en `noindex` (vérifiez vos balises meta robots)
  • Les pages avec des paramètres d'URL qui génèrent des doublons

Un sitemap, ce n'est pas un inventaire technique. C'est une recommandation de contenu prioritaire.

Étape 2 : écrire la structure de base

Créez un fichier nommé `sitemap.xml` dans la racine de votre site (ou dans un dossier `/sitemaps/` si vous avez un très gros site).

Ouvrez-le dans votre éditeur de texte (oui, le Bloc-notes fonctionne, mais je préfère Visual Studio Code pour le pliage de code et la coloration syntaxique).

Écrivez le squelette complet, avec la déclaration XML et le namespace. Testez avec une seule URL au début, pour vous assurer que la structure est valide avant de tout copier-coller.

Voici mon conseil de pro : quand j'écris un sitemap à la main pour un site avec 200+ pages, je génère les balises `` avec une formule dans mon tableur, puis j'insère les résultats dans le fichier. C'est plus rapide que de tout taper, et moins risqué que de faire confiance à un plugin.

Étape 3 : valider votre fichier avant de le soumettre

C'est l'étape que tout le monde saute. Vous êtes pressé, vous voulez soumettre le sitemap à Google Search Console aujourd'hui.

Résistez.

La validation, c'est 5 minutes qui vous évitent des heures de debugging. Utilisez le validateur officiel du protocole Sitemap (il existe encore, tapez "sitemap validator" dans votre moteur de recherche). Collez l'URL de votre fichier, ou le code XML directement.

Et surtout, vérifiez les points suivants :

  1. Le fichier est-il accessible ? Ouvrez `https://www.votre-site.fr/sitemap.xml` dans votre navigateur. Si vous voyez un 404, le robot ne trouvera pas non plus.
  2. Les URLs répondent-elles en 200 ? Un petit script curl ou un outil en ligne pour vérifier les codes HTTP vous évite d'envoyer des pages 404 à Google.
  3. Y a-t-il des balises non fermées ? Le XML est strict, une balise oubliée, et c'est tout le fichier qui est ignoré.

Un conseil personnel : je vérifie toujours que le `` est bien ouvert ET fermé. Mon premier sitemap manuel avait une balise de fermeture manquante, et Google le rejetait avec un message cryptique du type "Échec de l'analyse du sitemap". J'ai mis une demi-journée à comprendre pourquoi.

Étape 4 : le cas des images et des vidéos

Si votre site a beaucoup d'images (e-commerce, blog), vous pouvez les inclure dans le sitemap avec le namespace image.

https://www.monsite.fr/produit/chaise-ergonomique/ https://www.monsite.fr/images/chaise-ergonomique.jpg Chaise ergonomique de bureau

Est-ce que ça change quelque chose pour l'indexation des images ? Oui, Google l'a confirmé : les images dans le sitemap donnent un léger signal supplémentaire, et surtout, elles aident Google à comprendre le contexte de l'image.

Mais attention aux limites : le protocole Sitemap autorise un maximum de 50 000 URLs par fichier et 50 Mo non compressé. Au-delà, il faut fractionner. Et une seule page peut avoir beaucoup d'images, mais la limite totale de 50 000 URLs reste pour le fichier entier, pas pour le nombre d'images.

Étape 5 : le sitemap index pour les gros sites

Quand vous dépassez 50 000 URLs, ou que vous voulez séparer par sections (produits, blog, catégories), vous créez un fichier d'index qui pointe vers plusieurs sitemaps.

https://www.monsite.fr/sitemap-produits.xml 2026-07-20 https://www.monsite.fr/sitemap-blog.xml 2026-07-15

Ensuite, vous soumettez uniquement l'index à Google Search Console. Le robot suivra les liens vers les sous-sitemaps.

Le fractionnement manuel présente un avantage énorme : vous pouvez programmer la mise à jour de chaque sous-fichier séparément. Par exemple, le sitemap du blog se régénère à chaque publication, tandis que celui des produits se met à jour tous les dimanches.

Étape 6 : quand et comment mettre à jour ?

Voici la question que je reçois le plus : "Mon sitemap, je dois le mettre à jour quand ?"

La réponse honnête : à chaque fois que vous publiez, modifiez ou supprimez une page importante. Et oui, cela peut être pénible à la main.

Mais voici ce que j'ai découvert après des années de suivi : pour 80% des sites, une mise à jour hebdomadaire du sitemap est largement suffisante. Google ne visite pas votre sitemap toutes les heures. Il le checke de temps en temps, et découvre vos nouvelles URLs via le reste (liens internes, autres sources).

Mon workflow actuel, pour les sites que je gère sans CMS :

  1. Un script Python qui liste les URLs depuis la base de données et génère le fichier XML.
  2. Une vérification automatique des codes HTTP pour exclure les 404.
  3. Un commit sur le serveur, et le fichier est remplacé.

Avant de me lancer dans l'automatisation, j'ai fait ça à la main pendant 3 mois. Et ça a très bien fonctionné. La régularité compte plus que la fréquence.

Les erreurs les plus fréquentes (et comment les éviter)

J'ai vu des sitemaps catastrophiques. Vraiment. Voici le top des erreurs que je rencontre en audit :

Les erreurs les plus fréquentes (et comment les éviter)

Erreur n°1 : les URLs relatives

`/contact` au lieu de `https://www.monsite.fr/contact`.

C'est l'erreur la plus courante. Google ignore les URLs relatives dans les sitemaps. Le fichier doit contenir des URLs absolues, point final.

Erreur n°2 : le mélange des domaines

Vous avez une version `http://` et une version `https://`. Vous mettez des URLs `http://` dans le sitemap alors que le site est en `https://`. Résultat : Google les indexe en double, ou pire, les ignore.

La règle : utilisez exactement la version de votre site que vous avez configurée dans Search Console, ni plus ni moins.

Erreur n°3 : les URLs avec paramètres de session

`https://www.monsite.fr/produit-chaise?sessionid=12345`

Ces URLs changent à chaque visite. Les mettre dans le sitemap, c'est dire à Google d'indexer des pages qui n'existent que pour un utilisateur connecté. Résultat : du contenu dupliqué, du crawl budget gaspillé.

Erreur n°4 : la pagination

Les pages 2, 3, 4 d'une liste de catégorie ont souvent du contenu très similaire. Les inclure dans le sitemap n'apporte rien, sauf si vous avez une stratégie qui justifie leur indexation.

Erreur n°5 : ne jamais vérifier après coup

Vous avez soumis votre sitemap, vous passez à autre chose. Deux mois plus tard, la moitié de vos URLs sont en 404, et Google vous envoie des erreurs en cascade.

Prenez 15 minutes par mois pour vérifier le rapport de couverture dans Google Search Console. Les erreurs détectées tôt se corrigent vite.

Les cas particuliers : hreflang et sites multilingues

Si votre site est disponible en plusieurs langues, le sitemap peut aider Google à comprendre les correspondances entre les versions.

https://www.monsite.fr/guide-sitemap/ href="https://www.monsite.fr/guide-sitemap/"/>

href="https://www.monsite.com/sitemap-guide/"/>

href="https://www.monsite.de/sitemap-anleitung/"/>

C'est la méthode que je recommande pour les sites multilingues : le sitemap devient la source de vérité pour les correspondances hreflang, en complément des balises dans le HTML.

Mais attention : si chaque version linguistique a son propre sitemap, commencez par soumettre un sitemap index dans la langue principale, et référez les versions alternatives dans chaque URL.

Pourquoi votre sitemap ne s'affiche pas dans Google : le dépannage

Q : "J'ai créé mon fichier sitemap.xml, mais Google Search Console affiche 'Impossible de lire le sitemap'. Que faire ?"

R : Vérifiez d'abord que le fichier est accessible publiquement : tapez `https://www.votre-site.fr/sitemap.xml` dans votre navigateur. Un 403 signifie que votre serveur bloque l'accès au fichier .xml (certains pare-feu le font par erreur). Si c'est le cas, ajoutez une règle d'autorisation dans votre configuration serveur.

Ensuite, vérifiez le contenu brut : faites un clic droit sur la page, "Afficher le code source", et regardez si la première ligne est bien la déclaration XML. Les éditeurs de texte comme Word peuvent ajouter des caractères invisibles qui corrompent le fichier.

Et vérifiez la limite de taille : un fichier de plus de 50 Mo sera rejeté. Divisez en sitemaps plus petits.

Faut-il vraiment tout faire à la main ? Mon avis honnête

Voilà ma position, et je m'y tiens : le sitemap manuel est le meilleur choix pour les sites de moins de 1 000 pages qui ne sont pas mis à jour en continu.

Au-delà, ou si vous publiez 5 articles par jour, un générateur automatique devient nécessaire. Mais même dans ce cas, vous devriez auditer régulièrement le résultat pour éliminer les URLs inutiles.

La dernière fois que j'ai migré un site de 2 000 pages vers une nouvelle architecture, j'ai généré le sitemap avec un script. Il a fallu deux heures pour le script, mais la sortie était propre : toutes les URLs uniques, sans paramètres, avec les bonnes dates de modification. Deux heures, une fois, contre des mois de maintenance d'un plugin capricieux.

Franchement, le sitemap manuel n'est pas une mode rétro. C'est une méthode de contrôle total, adaptée à ceux qui veulent comprendre ce qu'ils envoient à Google. Et une fois que vous l'avez fait une fois, vous ne reviendrez plus en arrière.

Alors, ouvrez votre éditeur, créez le fichier, testez-le. Dans 20 minutes, vous saurez exactement ce que Google voit de votre site. Et vous aurez entre les mains un fichier que vous comprenez parfaitement, en capacité de le corriger ou de le faire évoluer sans dépendre de personne. C'est une sensation que je ne troquerais pas contre tous les plugins du monde.

Anaïs Brun

Anaïs Brun

Anaïs Brun est journaliste spécialisée dans les techniques d’optimisation pour les moteurs de recherche, avec plus de huit années d’expérience consacrées à la rédaction d’analyses et de guides pratiques sur le référencement, tant pour les fondamentaux que pour les méthodes avancées. Elle a couvert des sujets allant de la structuration technique des sites aux évolutions algorithmiques, contribuant à des publications professionnelles destinées aux spécialistes du marketing digital. Son travail repose sur une veille constante des pratiques du secteur et sur une approche pédagogique des enjeux de visibilité en ligne.

Voir tous les articles →