Guide : XML Sitemap

Ce que an XML sitemap est, son anatomy, le ignored balises (priority/changefreq), précis lastmod, le 50 000/50MB limites, hreflang dans sitemaps, et comment submit un.

Première publication : 22 juin 2026 · Dernière mise à jour : 3 août 2026 · Avancé
1 indice probant sur cette page

An XML sitemap est a UTF-8 fichier listing le canonical, indexable URLs vous vouloir moteur de recherches à know à propos de — chaque dans a <url> bloquer avec a requis <loc> et an optional <lastmod>. Il aide moteurs découvrir URLs mais ne fait pas guarantee indexation; son réel payoff est le submitted-vs-indexé diagnostic dans Search Console. Google ignores <priority> et <changefreq>, et utilise <lastmod> seulement quand c’est verifiably précis (significant mises à jour, pas a blanket 'aujourd’hui'). Un sitemap caps à 50 000 URLs or 50MB uncompressed — past que vous split fichiers et référence les depuis a sitemap indexer. Inclure seulement canonical, indexable, 200-status URLs; leaving une URL out de le sitemap n’est pas le même as noindexing il. Sitemaps sont aussi le easiest placer à manage hreflang à scale. Référence il dans robots.txt et submit il dans Search Console et Bing Webmaster Outils.

TL;DR — An XML sitemap est a UTF-8 fichier de canonical, indexable <loc> URLs, chaque optionally carrying a <lastmod>. Il aids discovery, pas indexation — le payoff est le submitted-vs-indexé signal dans Search Console. Google ignores <priority> et <changefreq> et utilise <lastmod> seulement quand c’est verifiably précis (significant mises à jour, jamais a blanket “aujourd’hui”). Un fichier caps à 50 000 URLs or 50MB uncompressed — past que, split et utiliser a sitemap indexer. Inclure seulement 200, canonical, indexable URLs; excluding une URL n’est pas le même as noindexing il. XML n’est pas le seulement accepted format (RSS/Atom/txt fonctionner aussi), et sitemaps sont le easiest placer à manage hreflang à scale — though ceux annotations go actif on a lag, pas instantly. Référence il dans robots.txt et submit il dans Search Console + Bing Webmaster Outils.

Preuve à l’appui de cette affirmation The XML sitemap protocol lists canonical URL locations and optional metadata, with limits of 50,000 URLs and 50 MB uncompressed per sitemap. Portée : Sitemaps protocol and current Google-supported limits. Niveau de confiance : élevé · Vérifié : Sitemaps XML format Preuve à l’appui de cette affirmation Google treats sitemaps as discovery hints rather than guarantees and supports submission through Search Console or robots.txt references. Portée : Current Google sitemap behavior and submission methods. Niveau de confiance : élevé · Vérifié : Google Search Central: Build and submit a sitemap

Ce que an XML sitemap en réalité is

«An XML sitemap is a file, written to the sitemaps.org 0.9 protocol, that lists the URLs on your site you want engines to know about. Google’s own definition: “A sitemap is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.” It’s a discovery aid and a coverage diagnostic — explicitly not a guarantee: “A sitemap helps search engines discover URLs on your site, but it doesn’t guarantee that all the items in your sitemap will be crawled and indexed.” » (Traduction) (Résumé en français de la section vingt-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Que framing matters, parce que c’est où a lot de effort obtient misspent. Le sitemap n’est pas a classement lever et il n’est pas an indexation command. Ici’s an annotated minimal exemple:

<?xml version="1.0" encoding="UTF-8"?>            <!-- XML declaration; UTF-8 -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">  <!-- root + namespace -->
  <url>                                           <!-- one entry per page -->
    <loc>https://www.example.com/foo.html</loc>   <!-- required: absolute URL -->
    <lastmod>2026-06-04</lastmod>                 <!-- optional: last significant change -->
  </url>
</urlset>

Anatomy

«- The XML declaration — <?xml version="1.0" encoding="UTF-8"?>. Google is unambiguous here: “The sitemap file must be UTF-8 encoded.” Get the encoding wrong and special characters break. » (Traduction) (Résumé en français de la section vingt-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- <urlset> + namespace — the root element, with xmlns="http://www.sitemaps.org/schemas/sitemap/0.9". The namespace is what tells the parser this is a sitemap; the wrong or missing namespace is a common Search Console error. » (Traduction) (Résumé en français de la section vingt-huit, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- <url> — one block per page. » (Traduction) (Résumé en français de la section vingt-huit, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.) «- <loc> — required. “Use fully-qualified, absolute URLs in your sitemaps” — not relative paths, and under ~2,048 characters. All values must be entity-escaped: & becomes &amp;, ' becomes &apos;, " becomes &quot;, > becomes &gt;, and a literal less-than becomes &lt;. » (Traduction) (Résumé en français de la section vingt-huit, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.) «- <lastmod> — optional; the date the page last significantly changed (more on the honesty rule below).

Preuve à l’appui de cette affirmation Each loc must be a fully qualified absolute URL and XML special characters must be entity escaped. Portée : XML/HTTP sitemap generation, hosting and submission Niveau de confiance : élevé · Vérifié : Build and submit a sitemap

» (Traduction) (Résumé en français de la section vingt-huit, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)

The ignored-tags truth

Ce est le unique la plupart out-de-date chose dans la plupart sitemap tutorials. Deux legacy balises — <priority> et <changefreq> — sont ignored par Google. Gary Illyes appelé priority “essentially a bag of noise,” et John Mueller a said priority et modifier frequency “ne fait pas vraiment play que beaucoup de a role avec Sitemaps anymore.” Bing a confirmed le même: changefreq et priority ne … plus affecter son exploration or classement. Vous pouvez laisser les dans (ils faire aucun harm) or strip les out — ils simplement ne pas faire n’importe quoi.

<lastmod> est différent — ne faites pas lump il dans avec le ignored balises. Google fait utiliser <lastmod>, mais seulement quand il trusts il, et que confiance est roughly binary: soit Google believes votre dates or il ne fait pas. Le règle est que le date devrait reflect a significant modifier — “an mettre à jour à le principal contenu, le données structurées, or liens on lune page est généralement considéré significant, cependant an mettre à jour à le copyright date n’est pas.” Le échec mode Je voir constantly est stamping chaque URL avec aujourd’hui’s date on chaque construire. c’est self-defeating: Mueller a appelé il “simplement lazy,” noting c’est trivial pour moteurs à recognize et seulement rend il harder pour les à spot genuinely mis à jour pages. Lie souvent suffisant et, dans Google’s words, “eventually nous sommes pas going à believe vous anymore.” Bing leans même harder on <lastmod> as a freshness signal que Google fait — donc an précis date aide vous on les deux moteurs, et a fake un hurts vous on les deux.

Placement, naming, encoding, et compression

«- Placement/naming. There’s no required filename, but /sitemap.xml at the root is the convention. By default a sitemap only affects URLs at or below its own path, so keep it high enough to cover everything it lists. The one exception: you can host a sitemap for a different site if you’ve verified ownership of that site and its robots.txt points back to the sitemap’s actual location — Google calls this cross-submission, and it’s the mechanism behind a sitemap index aggregating sitemaps hosted elsewhere. » (Traduction) (Résumé en français de la section trente-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Encoding. UTF-8, always. » (Traduction) (Résumé en français de la section trente-trois, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- Compression. You’re allowed to gzip a sitemap (serve it as .xml.gz), which is worth doing on large files. Important nuance: the 50MB cap is measured uncompressed — gzip saves bandwidth, not headroom against the size limit. » (Traduction) (Résumé en français de la section trente-trois, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)

Limites → split + sitemap index

«A single sitemap is capped at 50,000 URLs or 50MB uncompressed, whichever comes first. Google states it directly: “All formats limit a single sitemap to 50MB (uncompressed) or 50,000 URLs.” When you blow past either limit, you split the list across multiple sitemap files and reference them all from a sitemap index — a sitemap of sitemaps. That’s its own sibling topic; the short version is that you submit the index, and one index can point at up to 50,000 child sitemaps, so you’ll never actually run out of capacity. » (Traduction) (Résumé en français de la section trente-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Qui URLs to inclure — and “exclude ≠ noindex”

Inclure seulement URLs que sont indexable, canonical, et retourner 200. Que signifie aucun 3xx redirections, aucun non-canonical duplicates, aucun noindex pages, aucun robots-bloqué URLs. A clean sitemap de exactly votre indexable définir est ce que rend le Search Console submitted-vs-indexé comparaison meaningful — pollute il avec junk et vous avez thrown away le diagnostic.

«Now the mechanical point people get wrong: excluding a URL from your sitemap does not deindex it. The sitemap is an advertisement, not a gate. Removing a URL’s entry just stops you advertising that page; if Google already knows about it (via links, history, or another source) it stays in the index. The only mechanisms that actually remove a page are a noindex directive (with crawling allowed so Google can see it), a 404/410, or the removals tool. So “take it out of the sitemap” is never the right answer to “how do I deindex this.” » (Traduction) (Résumé en français de la section trente-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Accepted sitemap fichier formats

«XML isn’t the only format Google accepts — worth knowing so you don’t assume you’re stuck hand-writing XML. Google calls XML “the most versatile of the sitemap formats,” but it also reads: » (Traduction) (Résumé en français de la section quarante, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

  • RSS 2,0 / Atom feeds — handy parce que nombreux CMSs déjà publish un; ils carry page URLs seulement.
  • mRSS — a media RSS feed, utilisé pour video.
  • Plain text (.txt) — literally un URL per line, web-page URLs seulement, UTF-8.

XML est encore le correct par défaut parce que c’est le seulement format que prend en charge le extensions (lastmod metadata, image, video, et hreflang annotations). Le others sont URL-seulement.

hreflang in sitemaps

Si vous exécuter a multilingual or multi-regional site, le sitemap est généralement le easiest placer à manage hreflang — vous maintain le entier langue cluster dans un fichier au lieu de injecting renvoyer-balises dans chaque page template. (c’est un de le three valide places hreflang peut actif; le <head> et HTTP headers sont le others.)

Comment c’est implemented. Chaque <url> obtient xhtml:link rel="alternate" children, un per langue/region version, et vous declare le namespace xmlns:xhtml="http://www.w3.org/1999/xhtml" on <urlset>:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.example.com/english/page.html</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/english/page.html"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/english/page.html"/>
  </url>
  <!-- each alternate URL repeats the FULL set, including itself (return tags) -->
</urlset>

«The return-tag rule. This is the part that bites people. Every <url> element must list every alternate version of the page — including itself. Google: “Each <url> element must have a child element <xhtml:link rel="alternate" hreflang="[supported_language-code]"> that lists every alternate version of the page, including itself.” And it has to be bidirectional: “If page X links to page Y, page Y must link back to page X. If this is not the case for all pages that use hreflang annotations, those annotations may be ignored or not interpreted correctly.” Add an x-default entry for the unmatched-language fallback. A single broken or missing return-tag can invalidate the whole set. » (Traduction) (Résumé en français de la section quarante-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)

Le cap counts <loc> URLs seulement. A relief pour big international sites: le 50 000-URL limite counts seulement le <loc> page URLs, pas le hreflang alternates. Donc a sitemap avec 50 000 pages, chaque avec ten langue alternates, encore fits — c’est le emplacement URLs que count, pas le alternative URLs.

Quand il en réalité goes actif — budget days, pas minutes. Ici’s le expectation à définir, et c’est mechanism plutôt que a quotable line. Google parses votre sitemap hreflang quand il re-récupère le sitemap, mais le annotations seulement prendre effect une fois tout l’URLs dans le définir ont été (re)exploré et le renvoyer-balises reconciled contre chaque autre. Que signifie il y a a réel lag entre publishing le hreflang et le alternates étant honored, et un lent-à-recrawl or broken URL dans le définir peut hold le rest up. ne pas expect il à flip on le moment vous submit — plan pour il à settle over days.

Référence it and submit it

  • robots.txt — ajouter a Sitemap: line avec le complet absolute URL. Ce aussi lets moteurs auto-discover il.
  • Recherche Google Console — le sitemaps rapport (or le Search Console API) est le principal submission méthode; c’est aussi où vous lire le submitted-vs-indexé diagnostic.
  • Bing Webmaster Outils — submit là aussi; Bing récupère il quickly et rechecks regularly.

Un automation remarque depuis comment Je think à propos de ce: a sitemap devrait être generated automatiquement depuis lune pages vous en réalité ont, donc il stays actuel. A hand-built sitemap rots le moment votre site changements. Le siblings à ce page — le sitemaps overview, le sitemap indexer pour grand sites, et le image sitemap et video sitemap extensions — cover le rest de le family, et le broader discovery topic ties sitemaps à le autre façons moteurs trouver votre URLs.

Ajouter une note d’expert

Épingler une citation d’expert

Nouvelle personne ? Créez son profil non revendiqué à /admin/experts/ → Épingler une citation d’expert d’abord.