seodev
SEO Technique

Sitemap XML : 7 erreurs qui plombent l’indexation

Lastmod erroné, URLs non canoniques, priorités absurdes : 7 erreurs de sitemap XML qui freinent votre indexation, et comment les corriger une par une.

Fathellah TAHIRI, Fondateur seodevFathellah TAHIRI
21 fév. 20265 min

Le sitemap XML, c’est le fichier qui liste les URLs de votre site que vous voulez voir indexées par Google. Bien construit, il accélère la découverte de vos pages. Mal construit, il envoie des signaux contradictoires qui freinent votre indexation. Les 7 erreurs qu’on rencontre le plus souvent et ce qu’elles coûtent.

À retenir
  • lastmod doit refléter la vraie date de modification du contenu, sinon Google finit par l’ignorer.
  • Un sitemap ne contient que des URLs indexables en 200 : pas de noindex, pas de redirections, pas de paramètres de filtre.
  • priority est un signal relatif entre vos pages, pas un levier de ranking.
  • Déclarez le sitemap dans robots.txt et segmentez en sitemap index au-delà de 50 000 URLs.

Erreur 1 : un lastmod figé ou inexact#

Ce que ça coûte : Google utilise lastmod pour décider quand revenir crawler une page. Un lastmod toujours à la date du jour (parce qu’il pointe sur la date de génération du sitemap, pas sur la vraie modification du contenu) finit par être ignoré : le moteur ne sait plus quelles pages ont réellement changé.

La règle est simple : lastmod reflète la date de dernière modification du contenu, rien d’autre.

Le bon vs le mauvais lastmod, pour vos devs

// Mauvais : la date de génération du sitemap, jamais stable
{ url: 'https://seodev.fr/blog/post', lastModified: new Date() }
 
// Bon : la vraie date de modif du contenu
{ url: `https://seodev.fr/blog/${post.slug}`, lastModified: new Date(post.updatedAt) }

Erreur 2 : inclure des URLs en noindex#

Ce que ça coûte : une URL en noindex placée dans le sitemap envoie deux ordres contradictoires (« indexe-la » via le sitemap, « ne l’indexe pas » via la balise). Google tranche dans le doute, et ça brouille la lecture de tout votre site. C’est l’une des causes classiques quand un site n’apparaît pas sur Google.

La règle : ne mettre dans le sitemap que les URLs que vous voulez réellement voir indexées. Tout le reste (pages noindex, espaces privés) en est exclu à la génération.

Erreur 3 : inclure des redirections#

Ce que ça coûte : une URL qui répond en 301 ou 302 dans le sitemap fait perdre du temps de crawl et signale une liste mal tenue. Le sitemap ne doit contenir que des URLs qui répondent en 200.

Vérifier les codes de réponse en une commande, pour vos devs

while IFS= read -r url; do
  status=$(curl -s -o /dev/null -w "%{http_code}" "$url")
  echo "$status $url"
done < sitemap-urls.txt | grep -v "^200"

Tout ce qui sort de ce filtre n’a rien à faire dans le sitemap.

Erreur 4 : laisser passer les paramètres de tri et de filtre#

Ce que ça coûte : les URLs à paramètres (?sort=prix&couleur=rouge) multiplient les variantes d’une même page et diluent le crawl sur des pages quasi identiques.

Mauvais  https://monsite.fr/produits?sort=prix&couleur=rouge
Bon      https://monsite.fr/produits
Bon      https://monsite.fr/produits/rouge (si page canonique séparée)

Ces URLs doivent avoir un canonical vers l’URL propre et rester hors du sitemap.

Erreur 5 : remplir priority au hasard#

Ce que ça coûte : rien de direct, et c’est justement le piège. priority est un signal relatif entre vos propres pages, pas un levier de classement. Mettre 1.0 partout revient à n’envoyer aucun signal de hiérarchie.

Une échelle qui a du sens :

  • Homepage : 1.0
  • Pages piliers et catégories : 0.8
  • Articles récents : 0.7
  • Articles anciens : 0.5
  • Pages légales : 0.3

Erreur 6 : oublier de déclarer le sitemap dans robots.txt#

Ce que ça coûte : sans la ligne Sitemap: dans le robots.txt, Google découvre votre sitemap plus tard, voire pas du tout s’il n’est pas soumis dans la Search Console. C’est une ligne, souvent oubliée : notre vérificateur de visibilité repère en une minute si votre sitemap est déclaré et si la page analysée y figure.

# robots.txt
User-agent: *
Allow: /

Sitemap: https://monsite.fr/sitemap.xml

Erreur 7 : un seul sitemap pour 50 000+ URLs#

Ce que ça coûte : au-delà de 50 000 URLs ou 50 MB, le fichier dépasse la limite officielle et n’est plus lu correctement. C’est le quotidien des gros catalogues, où il faut passer à un sitemap index qui référence plusieurs fichiers segmentés. On détaille cette logique dans nos règles d’indexation e-commerce à 50 000 URLs.

Notre sitemap de référence#

Sur un site Next.js, le sitemap se génère depuis le code et reste donc toujours à jour : chaque nouvelle page entre automatiquement, avec sa vraie date de modification.

Le sitemap Next.js qu’on réutilise, pour vos devs

// app/sitemap.ts
import type { MetadataRoute } from 'next'
import { getAllPosts } from '@/shared/content/posts'
 
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
  const posts = await getAllPosts()
  const siteUrl = process.env.NEXT_PUBLIC_SITE_URL ?? 'https://seodev.fr'
 
  const staticPages: MetadataRoute.Sitemap = [
    { url: siteUrl, lastModified: new Date(), changeFrequency: 'weekly', priority: 1 },
    { url: `${siteUrl}/blog`, lastModified: new Date(), changeFrequency: 'daily', priority: 0.8 },
  ]
 
  const blogPages: MetadataRoute.Sitemap = posts.map((post) => ({
    url: `${siteUrl}/blog/${post.slug}`,
    lastModified: new Date(post.updatedISO ?? post.dateISO),
    changeFrequency: 'monthly',
    priority: 0.7,
  }))
 
  return [...staticPages, ...blogPages]
}

Un sitemap valide, à jour et sans erreur, c’est la base d’une indexation propre, pas un bonus. Si vous voulez vérifier que le vôtre coche toutes ces cases, c’est ce qu’on contrôle dans notre audit SEO technique.

Questions fréquentes

À quoi sert le sitemap XML pour le SEO ?

Le sitemap XML liste les URLs que vous voulez voir indexées et aide Google à les découvrir plus vite. Il ne garantit pas l’indexation, mais il accélère le crawl et signale les mises à jour via le champ lastmod.

Faut-il mettre toutes les pages dans le sitemap ?

Non. Le sitemap ne doit contenir que des URLs indexables qui répondent en 200 : pas de pages noindex, pas de redirections, pas d’URLs avec paramètres de filtre. Inclure ces URLs envoie des signaux contradictoires à Google.

Quelle est la limite de taille d’un sitemap XML ?

Un fichier sitemap est limité à 50 000 URLs et 50 MB. Au-delà, il faut passer à un sitemap index qui référence plusieurs fichiers segmentés, par type de page ou par section du site.

Le champ priority du sitemap influence-t-il le ranking ?

Non, priority est un signal relatif entre vos propres pages, pas un levier de classement. Mettre 1.0 partout n’a aucun effet. Il sert surtout à hiérarchiser vos pages aux yeux du crawler.

#sitemap#indexation#xml
Partager cet article

Développeur de métier avant d'être fondateur, il a lancé seodev pour réunir deux savoir-faire qu'on sépare trop souvent : construire le produit et le rendre visible sur Google comme dans les réponses des IA. Il vous explique chaque choix technique avant de le faire, pour que rien ne vous surprenne à la livraison.

Discuter de votre projet

Du concret, par email

Nos méthodes en dev web, mobile, SaaS et SEO, tirées de vrais projets, pas de théorie recopiée. Un email quand on publie, jamais de spam.

Un projet en tête ?

On en parle gratuitement et on vous dit ce qui est faisable, dans quel délai et à quel prix.

Obtenir mon devis gratuit →
  • Réponse sous 24h
  • Sans engagement
  • Prix fixe sur le devis
SEO Technique

Être visible dans l’aperçu IA de Google

L’aperçu IA de Google répond avant vos liens. Comment faire apparaître votre site dans ces résumés générés par IA, sans balise magique ni budget pub.

Fathellah TAHIRI5 min
SEO Technique

Robots.txt : quels robots IA faut-il autoriser ?

GPTBot, OAI-SearchBot, Google-Extended : quels robots IA autoriser dans votre robots.txt pour être lu et cité par ChatGPT, Perplexity et Gemini, sans tout ouvrir.

Fathellah TAHIRI5 min
Retour au blog