Skip to content

Tout pour WordPress, le développement web — et plus encore

🗂️ Comment exclure des pages du sitemap Yoast SEO

🗂️ Comment exclure des pages du sitemap Yoast SEO

Vous ouvrez la Search Console et vous constatez ceci: sur 200 pages du site, 340 sont indexées. Les 140 supplémentaires sont des pages d’archives par tags, des doublons avec des paramètres UTM, des brouillons de test et des pages de pièces jointes. Google dépense du budget de crawl sur du contenu inutile pendant que vos vraies URL attendent leur tour pendant des semaines.

Le problème ne vient pas de Google. Le sitemap que Yoast SEO génère rapporte honnêtement tout ce qu’il voit au robot. Et par défaut, il voit beaucoup de choses superflues. Votre travail consiste à indiquer au plugin quelles pages ne doivent pas figurer dans le sitemap.

Voici quatre méthodes pour nettoyer votre sitemap XML: d’un simple clic dans l’interface jusqu’aux filtres dans functions.php. Avec des captures d’écran réelles et du code à jour.

💡 Aperçu rapide:

  • Exclure une page individuelle via l’onglet «Avancé» dans la metabox de Yoast SEO, sans code.
  • Supprimer des dizaines d’URL en masse via le filtre wpseo_exclude_from_sitemap_by_post_ids, avec un seul tableau.
  • Désactiver des taxonomies entières dans Apparence dans les résultats de recherche ou via wpseo_sitemap_exclude_taxonomy.
  • Vérifier le résultat dans sitemap_index.xml et ajouter un noindex si nécessaire.

Pourquoi vous devez absolument nettoyer votre sitemap

Un sitemap n’est pas une simple liste de liens. C’est une instruction donnée au robot d’exploration: «voici les pages qui comptent vraiment, indexez-les en priorité». Quand du contenu inutile se retrouve dans le sitemap, Google est confronté à trois problèmes.

Premièrement, les doublons. Un même contenu à deux URL (par exemple, /blog/ et /blog/?utm_source=telegram) signale un site de faible qualité au moteur de recherche. Deuxièmement, le contenu pauvre. Les pages quasi vides, les archives d’auteur sans contenu et les pages de pièces jointes n’apportent aucune valeur pour la recherche, mais consomment du budget de crawl. Troisièmement, les URL de service. Les pages de destination de test, les pages de remerciement post-achat et les tableaux de bord utilisateur n’ont rien à faire dans les résultats de recherche.

Auditer régulièrement son sitemap relève de l’hygiène SEO de base. Surtout si le site a plus d’un an: des URL supplémentaires finissent presque inévitablement par s’infiltrer dans le sitemap.

Yoast SEO offre plusieurs niveaux de contrôle, de l’exclusion ciblée d’une seule page au filtrage de taxonomies entières via un hook. Passons-les en revue un par un.

Comment exclure une page individuelle du sitemap

Le scénario le plus simple: retirer un article ou une page spécifique de l’index. Yoast SEO vous permet de le faire directement depuis l’éditeur WordPress, sans écrire une seule ligne de code.

Ouvrez l’entrée souhaitée dans le panneau d’administration, faites défiler jusqu’à la metabox Yoast SEO et allez dans l’onglet «Avancé». Repérez la question «Autoriser les moteurs de recherche à afficher cet article dans les résultats de recherche?» et passez de «Oui» à «Non». Cliquez sur «Mettre à jour».

Bouton d'indexation de page dans l'onglet Avancé de Yoast SEO

Après l’enregistrement, Yoast retirera l’entrée du sitemap et une balise meta <meta name="robots" content="noindex, follow"> apparaîtra dans le code source de la page. La page elle-même restera accessible via un lien direct. Elle sera exclue de la recherche et du sitemap.

C’est la méthode standard et la plus sûre. Elle convient pour masquer une ou deux pages. Pour une exclusion massive de dizaines d’URL, reportez-vous à la section suivante.

Comment exclure des pages en masse via du code

Quand vous devez exclure 20 à 30 pages d’un coup, cliquer sur chacune manuellement est une perte de temps. Yoast SEO fournit le filtre wpseo_exclude_from_sitemap_by_post_ids: il prend un tableau d’identifiants d’articles et les retire du sitemap.

Ajoutez le code au fichier functions.php de votre thème actif ou via le plugin Code Snippets:

1add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', function() {
2 return array( 311, 322, 450, 512 );
3} );
Code PHP pour l'exclusion groupée de pages via le filtre wpseo_exclude_from_sitemap_by_post_ids

Comment trouver l’ID d’une page? Dans le panneau d’administration WordPress, ouvrez la liste des pages ou des articles, survolez le titre et vous verrez post=311 dans l’URL du lien. Le nombre après post= est l’ID.

Après avoir ajouté le filtre, allez sur yourdomain.com/sitemap_index.xml, ouvrez le sitemap enfant (par exemple, page-sitemap.xml) et vérifiez: les ID spécifiés ont disparu de la liste.

Important: le filtre retire uniquement les ID du sitemap. Il n’ajoute pas de noindex à la page elle-même. Si la page est déjà dans l’index de Google, ajoutez en plus un noindex via l’interface (section précédente) ou demandez le retrait de l’URL via la Google Search Console.

Comment augmenter la limite de liens du sitemap

Par défaut, Yoast SEO inclut jusqu’à 1000 liens dans un seul sitemap enfant. Pour un site volumineux (une boutique avec 5000 produits ou un annuaire avec des dizaines de milliers d’articles), cela signifie soit plus de fichiers (en réduisant la limite), soit plus d’URL dans un même fichier (en augmentant la limite).

Le réglage se trouve dans Yoast SEO → Réglages → Types de contenu:

Types de contenu et limite de liens du plan de site dans Yoast SEO

Ce que vous pouvez ajuster ici:

  • Désactiver les types de contenu inutiles. Par exemple, si vous publiez uniquement des articles et que vous utilisez les pages comme pages de service, retirez «Pages» du sitemap.
  • Configurer les médias. L’onglet Médias (pièces jointes) est inclus dans le sitemap par défaut. Pour les blogs photo, cela a du sens; pour un site classique, cela gaspille du budget de crawl.
  • Limite de liens. Techniquement, le filtre wpseo_sitemap_entries_per_page vous permet de définir un nombre arbitraire d’entrées par fichier de sitemap:
1add_filter( 'wpseo_sitemap_entries_per_page', function() {
2 return 500;
3} );

Le modèle 1000 standard constitue le point d’équilibre idéal pour la plupart des projets. Ne modifiez cette limite que si vous maîtrisez parfaitement les conséquences sur la vitesse d’indexation.

Comment supprimer les catégories et les taxonomies du sitemap

Les catégories, les étiquettes et les taxonomies personnalisées encombrent souvent le sitemap avec des archives vides ou de faible valeur. Cela concerne particulièrement les sites WooCommerce: les attributs de produit («couleur», «taille») génèrent des centaines d’URL sans aucun intérêt pour le référencement.

La première méthode, visuelle, passe par l’onglet Taxonomies dans les réglages de Yoast SEO:

Onglet Taxonomies dans les réglages du plan de site de Yoast SEO

Chaque taxonomie dispose d’un interrupteur «Afficher dans les résultats de recherche?». «Oui» signifie que la taxonomie est incluse dans le sitemap, «Non» qu’elle en est exclue. Pour la plupart des sites, il est pertinent de ne conserver que les catégories dans le sitemap et de désactiver les étiquettes ainsi que les attributs de produit.

Liste des taxonomies avec boutons de visibilité de recherche dans Yoast SEO

Si la taxonomie dont vous avez besoin n’apparaît pas dans la liste (parce qu’elle est déclarée par du code personnalisé ou par une extension tierce), utilisez un filtre. Voici le code pour exclure une seule taxonomie par son slug:

1/* Exclude one taxonomy from Yoast SEO sitemap */
2function sitemap_exclude_taxonomy( $value, $taxonomy ) {
3 if ( $taxonomy === 'taxonomy_slug' ) {
4 return true;
5 }
6 return $value;
7}
8add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomy', 10, 2 );

Pour plusieurs taxonomies en une seule fois:

1/* Exclude multiple taxonomies from Yoast SEO sitemap */
2function sitemap_exclude_taxonomies( $value, $taxonomy ) {
3 $taxonomy_to_exclude = array(
4 'taxonomy_slug1',
5 'taxonomy_slug2',
6 'taxonomy_slug3'
7 );
8 if ( in_array( $taxonomy, $taxonomy_to_exclude, true ) ) {
9 return true;
10 }
11 return $value;
12}
13add_filter( 'wpseo_sitemap_exclude_taxonomy', 'sitemap_exclude_taxonomies', 10, 2 );
Code PHP pour exclure plusieurs taxonomies via le filtre de plan de site de Yoast SEO

Remplacez taxonomy_slug1, taxonomy_slug2 et taxonomy_slug3 par les slugs réels de vos taxonomies. Après avoir enregistré le code, rendez-vous sur sitemap_index.xml et vérifiez le sitemap enfant: les archives des taxonomies exclues doivent avoir disparu.

⁉️🤔 Foire aux questions

Une page exclue du sitemap apparaît toujours dans les résultats de recherche. Pourquoi?

Un sitemap n’est qu’une recommandation pour Google, pas une directive. Exclure une page du sitemap ne signifie pas lui appliquer un noindex. Si la page est déjà indexée et que des liens externes pointent vers elle, Google peut continuer à l’afficher. Solution: en plus de l’exclusion du sitemap, activez le noindex (le même interrupteur dans l’onglet «Avancé» de Yoast) et, si nécessaire, demandez le retrait de l’URL via la Google Search Console.

Peut-on exclure complètement un type de contenu du sitemap sans coder?

Oui. Dans Yoast SEO → Réglages → Types de contenu, chaque type de contenu enregistré dispose d’un interrupteur «Afficher dans les résultats de recherche?». Réglez-le sur «Non» et l’intégralité du type (par exemple «Pages» ou «Produits») cessera d’apparaître dans le sitemap. Cela fonctionne également pour les taxonomies via l’onglet Taxonomies.

Comment vérifier qu’une page a bien été retirée du sitemap?

Ouvrez yoursite.com/sitemap_index.xml dans un navigateur, vous verrez une liste de sitemaps enfants. Trouvez celui qui vous intéresse (par exemple page-sitemap.xml ou post-sitemap.xml), suivez le lien et cherchez par titre ou par URL. Si la page n’y figure pas, le filtre a fonctionné. Pour une comparaison en masse, Screaming Frog ou Sitebulb sont pratiques: ils montrent les écarts entre le sitemap et les pages réelles du site.

Que faire si le code du filtre ne fonctionne pas?

Vérifiez trois points. Premièrement: le code est bien ajouté au thème actif (functions.php) ou via Code Snippets, et le fichier est sauvegardé sans erreur de syntaxe (ouvrez le site dans un autre onglet; un écran blanc = erreur PHP). Deuxièmement: les identifiants des pages sont correctement renseignés, sans espaces superflus dans le tableau. Troisièmement: le cache. Yoast SEO met en cache le sitemap; après modification, videz le cache du plugin (SEO → Outils → Optimiser les données SEO) ou patientez jusqu’à 24 heures.

L’exclusion du sitemap affecte-t-elle le maillage interne?

Non. Le sitemap et les liens internes sont des signaux indépendants. Une page exclue du sitemap continue de transmettre du «link equity» via les liens internes si d’autres pages du site pointent vers elle. En revanche, Google la ré-indexera moins souvent: elle a disparu de la principale source d’information sur la structure du site.

Que privilégier: l’interface ou le code

Pour trois à cinq pages, utilisez uniquement l’interface. C’est rapide, sûr et cela ne nécessite pas d’accéder aux fichiers du thème.

Pour des dizaines de pages, utilisez le filtre wpseo_exclude_from_sitemap_by_post_ids. Un seul tableau avec les identifiants au lieu d’activer manuellement chaque publication.

Pour les taxonomies, utilisez l’interrupteur visuel dans Apparence de recherche si la taxonomie figure dans la liste. Si ce n’est pas le cas (taxonomie personnalisée), utilisez le filtre wpseo_sitemap_exclude_taxonomy.

Et surtout: l’exclusion du sitemap ne signifie pas l’exclusion de l’index. Si une page doit disparaître complètement des résultats de recherche, ajoutez toujours un noindex. Yoast SEO fournit une interface unifiée pour cela; ne la négligez pas.

🔗 Yoast SEO sur WordPress.org