Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Comment corriger l’erreur 404 du plan de site WordPress SEO de Yoast ?

Faire face à une erreur 404 sur votre plan de site Yoast SEO dans WordPress peut être frustrant. Yoast SEO est un outil populaire, mais parfois, un conflit de plugin ou des réglages incorrects peuvent provoquer cette erreur.

Ainsi, si vous essayez de visiter votre sitemap xml et que vous voyez une erreur 404, cela peut vous arrêter dans votre élan. Mais ne vous inquiétez pas, il existe des corrections faciles.

Chez WPBeginner, nous avons rencontré et résolu ce problème, sinon une centaine de fois. Dans cet article, nous vous guiderons étape par étape pour corriger l’erreur 404 du plan du site de Yoast SEO. Il suffit de suivre pour que votre sitemap fonctionne à nouveau en douceur.

Fixing Yoast SEO XML sitemap 404 error in WordPress

Quelle est la cause de l’erreur 404 du plan de site de Yoast SEO sur WordPress ?

Le plan du site Yoast SEO aide les moteurs de recherche à trouver tout le contenu de votre site que vous souhaitez qu’ils trouvent et indexent.

Corriger l’erreur permet aux moteurs de recherche d’accéder à votre plan de site et de découvrir toutes les pages et le contenu de votre site. Cela peut prospecter une meilleure visibilité et un meilleur classement dans les moteurs de recherche, et cela aidera également à classer votre contenu plus rapidement qu’en l’absence de sitemap.

WordPress dispose par défaut d’un sitemap XML que vous pouvez envoyer à Google Search Console et à d’autres moteurs de recherche.

Ce sitemap.xml peut être consulté en saisissant l’URL suivant dans la barre d’adresse de votre navigateur :

https://example.com/sitemap.xml

Cependant, ce plan de site généré par défaut par WordPress est très basique. Pour corriger cela, tous les meilleurs plugins de référencement WordPress comme Yoast SEO et le plugin All in One SEO créent leurs propres sitemaps XML avec plus de mis en avant.

Lorsque vous utilisez le plan de site XML généré par votre extension WordPress SEO, l’extension réécrit le raccourci par défaut du plan de site XML de WordPress.

Cela signifie que l’URL du sitemap mentionnée ci-dessus enverra alors les utilisateurs/utilisatrices vers les sitemaps générés par votre extension WordPress SEO.

Malheureusement, cela peut provoquer une erreur 404 sur certains sites en raison d’extensions en conflit ou de réglages WordPress incorrects.

Dans les sections suivantes, nous allons vous afficher comment corriger facilement l’erreur 404 du plan du site WordPress dans l’extension Yoast SEO. Voici un aperçu rapide de toutes les méthodes que nous allons aborder :

Vous êtes prêts ? Entrons dans le vif du sujet.

WordPress est livré avec une structure d’URL favorable au référencement, appelée permaliens. Cette structure URL utilise un système de redirection pour indiquer à votre serveur hébergeur quelle page charger lorsqu’un utilisateur saisit une URL dans son navigateur.

Normalement, ces réglages de permaliens sont automatiquement mis à jour lorsque vous apportez des modifications à votre site.

La mauvaise nouvelle, c’est que WordPress est parfois incapable d’actualiser la structure des permaliens, ce qui peut entraîner l’apparition de l’erreur 404 du sitemap de Yoast SEO.

Cela dit, ce problème peut être facilement corrigé en allant sur la page Réglages  » Permaliens depuis la zone d’administration de WordPress et en cliquant simplement sur le bouton  » Enregistrer les modifications « .

Update permalinks

Le réglage des permaliens de WordPress sera ainsi actualisé. Vous pouvez maintenant visiter votre page sitemap xml pour voir si cela a corrigé votre problème.

Si cela n’a pas corrigé le problème, vous pouvez continuer à lire.

Si actualiser la structure des permaliens de WordPress ne corrige pas l’erreur 404, vous pouvez alors indiquer manuellement à votre serveur web de rediriger les utilisateurs/utilisatrices vers la page du plan du site de Yoast SEO.

Pour ce faire, vous devez ajouter le code suivant à votre fichier .htaccess.

# Yoast SEO - XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^locations.kml$ /index.php?sitemap=wpseo_local_kml [L]
RewriteRule ^geo_sitemap.xml$ /index.php?sitemap=geo [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]
RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 [L]
# END Yoast SEO - XML Sitemap Rewrite Fix

Note : Si votre site WordPress est installé dans un sous-répertoire ou un dossier (par exemple https://example.com/mywebsite/ ), vous devrez utiliser le code suivant.

# Yoast SEO - XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /mywebsite/
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^locations.kml$ /index.php?sitemap=wpseo_local_kml [L]
RewriteRule ^geo_sitemap.xml$ /index.php?sitemap=geo [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]
RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 [L]
# END Yoast SEO - XML Sitemap Rewrite Fix

N’oubliez pas de remplacer /mywebsite/ par le nom de votre sous-répertoire.

Ce code indique simplement à votre serveur web les pages à afficher lorsque les utilisateurs/utilisatrices accèdent aux sitemap.xml de Yoast SEO.

Vous pouvez maintenant essayer de voir votre sitemap XML pour voir si cela résout votre problème.

3. Passer à une extension de sitemap xml

Si les méthodes susmentionnées n’ont pas résolu l’erreur 404 sur la page sitemap XML de Yoast SEO, alors vous pouvez essayer d’utiliser une extension distincte pour générer des sitemaps XML pour votre site. Le plugin XML Sitemaps est une bonne extension pour cela.

L’inconvénient de cette approche est que vous devrez vous appuyer sur une extension distincte pour générer des sitemaps XML et sur Yoast SEO pour les autres fonctionnalités de référencement.

Tout d’abord, vous devez installer et activer l’extension XML Sitemaps. Pour plus de détails, vous pouvez consulter notre guide étape par étape sur l’installation d’une extension WordPress.

Comme vous utilisez Yoast SEO, vous recevrez automatiquement une notification pour désactiver l’extension XML Sitemaps ou la fonctionnalité sitemap de Yoast SEO.

Yoast SEO XML Sitemap conflict warning

Ensuite, vous pouvez cliquer sur le bouton ‘Toggle Yoast SEO’s XML Sitemap’ pour continuer.

Vous accéderez ainsi à l’onglet  » Fonctionnalités  » sous SEO  » Général. À partir de là, vous devez défiler vers le bas jusqu’à l’option « sitemap.xml » et la désactiver.

Disabling XML sitemaps in Yoast SEO

N’oubliez pas de cliquer sur le bouton « Enregistrer les modifications » pour stocker vos réglages.

Vous pouvez maintenant passer à la page Réglages  » XML-Sitemap pour définir vos sitemaps. Pour la plupart des sites, les réglages par défaut fonctionneront sans problème.

XML Sitemaps settings

Mais vous pouvez toujours définir les réglages en fonction de vos besoins.

Vous pouvez maintenant envoyer l’URL du sitemap XML à la console de recherche de Google et à d’autres moteurs de recherche.

Sitemap URL

4. Passer à All in One SEO pour WordPress

Si toutes les solutions ci-dessus échouent et que vous ne souhaitez pas utiliser une extension distincte pour générer des plans de site XML, cette méthode peut vous aider à corriger le problème de l’erreur sitemap 404.

Pour cette méthode, vous aurez besoin de All in One SEO pour WordPress. C’est la meilleure extension de référencement WordPress sur le marché et une bien meilleure alternative à Yoast SEO.

Vous pouvez consulter notre comparatif Yoast vs All in One SEO pour plus de détails sur les différences.

All in One SEO (AIOSEO) est livré avec des sitemaps XML avancés et des options faciles à gérer qui vous donnent un contrôle total sur ce qu’il faut inclure ou exclure de ces sitemaps.

Tout d’abord, installons et activons l’extension All in One SEO pour WordPress. Pour plus de détails, consultez notre guide étape par étape sur l’installation d’une extension WordPress.

Note : Il existe également une version gratuite de All in One SEO pour WordPress, qui comprend la plupart des fonctionnalités de sitemap XML avant les vidéos et les nouvelles.

Une fois activé, le plugin vous guidera à travers un assistant de configuration. Si vous avez besoin d’aide pendant la configuration, suivez notre guide sur la façon de configurer correctement le plugin All in One SEO pour WordPress.

All in One SEO setup

All in One SEO vous permettra également d’importer des données de référencement depuis Yoast SEO.

Cela permet de s’assurer que tous vos méta identifiés et titres SEO précédents restent inchangés.

Import Yoast SEO data

Après la configuration initiale, vous pouvez aller sur la page All in One SEO  » Sitemaps pour configurer les paramètres du sitemap XML.

Vous pouvez cliquer sur le bouton « Ouvrir le plan du site » pour voir si l’erreur 404 du plan du site a été corrigée dans WordPress.

All in One SEO sitemaps settings

Ensuite, vous définissez les réglages du plan de site si nécessaire.

Par exemple, All in One SEO vous permet de choisir les éléments à inclure dans vos plans de site. Vous pouvez ajouter ou retirer des types de publication, des taxonomies, des posts individuels et des pages.

All in One SEO sitemaps advanced settings

All in One SEO vous permet également de créer des vidéos, des actualités, un plan de site RSS et un plan de site HTML pour votre site.

Il suffit d’explorer ses onglets pour voir si vous souhaitez définir davantage de réglages.

Additional sitemaps settings

Ces plans de site peuvent également être envoyés à Google Search Console et à d’autres moteurs de recherche. Cela aide les moteurs de recherche à trouver rapidement du contenu plus récent sur votre site.

Astuce d’expert : Vous ne voulez pas corriger cette erreur WordPress vous-même ? Aucun souci – nous avons tout ce qu’il faut pour vous aider ! Dites adieu aux erreurs frustrantes et retournez vous concentrer sur ce que vous aimez. Laissez-nous nous occuper des problèmes techniques et réservez notre support WordPress d’urgence dès maintenant!

Nous espérons que cet article vous a aidé à corriger l’erreur Yoast SEO Sitemap 404 sur WordPress. Ensuite, vous pouvez également consulter notre guide de dépannage WordPress terminé ou voir comment corriger les erreurs WordPress courantes.

Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

242 commentairesLaisser une réponse

  1. CB

    Hi, just tried the second version editing the plug ins core files and the site has disapeared?? including the backend. just a white screen?? I replaced the code withy the original and nothing.

  2. Matt Crystal

    Thank you! That worked by supplying the code in the .htaccess file, then unchecking the site map option and saving. Then, re-checking the box and saving again. Thanks!

  3. Roderick van Straten

    Added this code to the .htaccess and unchecked and checked it, but I only get a blank page now for the sitemap ..

  4. mandingo345

    yes, without fix, just uncheck save recheck and saved.

  5. Jack

    After loosing quite some time trying to find what was wrong, I got it working by your suggestion « Uncheck the sitemap option in the Yoast’s SEO plugin and ‘save’ settings. After that re-checking the sitemap’s option fixes the error. »
    tnx very much!

  6. johnny

    Thank you so much! unchecking, saving, rechecking saving did the trick!

  7. sc456a

    After I added the code to htaccess and unchecked/rechecked Sitemap in the plugin, it worked! Thanks!

  8. alireza

    it work for me too, Thanks a lot!

  9. Leo

    Uncheck then save, then go back check again and save, solved my problem. It should be at the begining before anybody try anything else! it worked for me thanks though

  10. Elle Laurel Rose

    Woohoo! Thanks. Mine probably wasn’t broken long because Google didn’t seem to mind yet. … But my site is only in a softer launch stage anyway… Slow crawls maybe. Luckily, I’m improving my site before my real projects go up (hopefully soon).

    Anyway I cannot thank you enough. :)

  11. logitaki

    I opened the class-sitemaps.php file but can’t find the section you are referring to « functiion () init code.. can you be more specific?

  12. Basie

    Editing the .htaccess file, un-checking sitemap generation, saving settings, re-checking, saving settings … fixed it for me! Thank you VERY much.

  13. Tom Atkinson

    I found my issue was actually fixed purely by turning Yoasts sitemaps on and off from UI. Which is great! :)

  14. Fernando

    Were you able to fix this one? I’m having the same problem, I get a 404 on post-sitemap.xml. I didn’t check the PHP logs on what the error is but probably would be the same you’re getting.

    • Steve

      No fix, and theres no replies to support threads on wordpress, other people are just disabling it and using another sitemap plugin.

  15. hayderabbass

    Disabling the XML sitemap and re enabling them fix this issue for me. Thanks!

  16. Ben Billson

    I was having an issue with the sitemap 404’ing when trying to access it.

    I tried adding the first ifmodule, no joy, then remembered I had another ifmodule in place to handle redirects after updating my permalink structure.

    I removed the redirect ifmodule, restarted Worpress SEO, then the sitemaps started working. Re-added the redirect ifmodule, and everything now appears to be working just fine. I’ve also checked the status in GWT and Bing WT and it’s all looking good. Thanks for the help!

  17. Rob Cooper

    I put the first Ifmodule into htaccess and it spit out some weird single line of content, with no links.

    I read through the comments

    then I rebooted Yoast’s sitemap option:

    i unchecked the « Enable XML Sitemap Here » and saved

    I re-checked it and saved

    checked my sitemap and it was there, formatted properly with xsl stylesheet being applied and links all worked

  18. chiappa

    I have no idea where to put that code. There is no line like: « function init() » in class-sitemaps.php

  19. Katrina Isabelle

    Try going into your permalink settings and saving them again. If you can’t access the back end of your site because of the 500 error, then remove that htaccess file.

  20. Katrina Isabelle

    Hello! I think you should add one more step at the very beginning: Re-save your permalink settings! I found that re-saving my permalink settings solved the issue for me. No need to go into the htaccess file.

    • EB

      Exactly, solved my problem too.

    • Alfonso

      this fixed the issue for me, re-saving the WP permalinks

  21. Steve

    I get the following error only on post-sitemap, all other sitemaps work ok:
    Fatal error: Allowed memory size../plugins/wordpress-seo/inc/class-sitemaps.php on line 713
    I tried the htaccess and wpseo-functions edits but no luck.
    I deactivated every plugin, still no luck.
    I deleted wpseo and reinstalled but still same problem and now on the wpseo dashboard and sitemaps page I get this error:
    Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘wpseo_xml_sitemaps_init’ not found or invalid function name in /home/justplay/public_html/wp/wp-includes/plugin.php on line 470

    I have two sites running the same theme, plugins etc and one works ok one has this errors, wierd.

  22. Jane Hockley

    Thank you – i found just by unchecking and saving and then re-checking the site map option for the yoast plugin google webmaster was able to find my site map

  23. Jake Ratliff

    When I tried the htaccess method, it crashed my site. I just added this code into the htaccess file (via the Yoast plugin):

    # WordPress SEO – XML Sitemap Rewrite Fix

    RewriteEngine On
    RewriteBase /
    RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
    RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]

    # END WordPress SEO – XML Sitemap Rewrite Fix

    And then clicked the « save changes to .htaccess » button. I can’t go anywhere without the 500 error now. What did I do wrong? Anyone know how to fix this?

  24. Jake Ratliff

    I tried the htaccess fix and now I get a 500 Internal Server Error.

  25. Tiffany Marie McAnally

    So it still doesn’t work for me… I feel like beating my head against a wall. As much as I love the plugin, I think I’m just going to lose it in favor of something that’s actually functional.

  26. Jérôme Lafforgue

    Thanks, work fine in wpseo-functions.php file @ line 461

  27. ast

    for me worked fine!
    thank you

  28. NicolasJoly

    @Matt Klein, it’s in the wpseo-functions.php file @ line 461

  29. NicolasJoly

    @Matt Klein, the ‘init’ function is now ‘wpseo_xml_sitemaps_init’ in the wpseo-functions.php, @line 461

    Add just :
    global $wp_rewrite; before the $GLOBALS define
    and
    $wp_rewrite->flush_rules(); after the add_rewrite_rule…

    /**

    * Initialize sitemaps. Add sitemap & XSL rewrite rules and query vars

    */

    function wpseo_xml_sitemaps_init() {

    $options = get_option( ‘wpseo_xml’ );

    if ( $options[‘enablexmlsitemap’] !== true ) {

    return;

    }

    // redirects sitemap.xml to sitemap_index.xml

    add_action( ‘template_redirect’, ‘wpseo_xml_redirect_sitemap’, 0 );

    if ( ! is_object( $GLOBALS[‘wp’] ) ) {

    return;

    }

    global $wp_rewrite;

    $GLOBALS[‘wp’]->add_query_var( ‘sitemap’ );

    $GLOBALS[‘wp’]->add_query_var( ‘sitemap_n’ );

    $GLOBALS[‘wp’]->add_query_var( ‘xsl’ );

    add_rewrite_rule( ‘sitemap_index.xml$’, ‘index.php?sitemap=1’, ‘top’ );

    add_rewrite_rule( ‘([^/]+?)-sitemap([0-9]+)?.xml$’, ‘index.php?sitemap=$matches[1]&sitemap_n=$matches[2]’, ‘top’ );

    add_rewrite_rule( ‘([a-z]+)?-?sitemap.xsl$’, ‘index.php?xsl=$matches[1]’, ‘top’ );

    $wp_rewrite->flush_rules();

    }

  30. Matt Klein

    There is no function init area in my class-sitemaps.php file. Could it be called something else. What line is it on?

  31. Regina Falkowski

    Added the code to .htaccess file and it worked like a charm! Thanks for the fix :)

  32. Alec Byrne

    Adding the .htaccess worked for me – thanks very much :-)

  33. Ollie

    Htaccess fix worked for me.

    But as Scott in the first comment above says, I needed to uncheck the XML sitemap checkbox and save. Then recheck it and save again for the sitemap to show up. I think that would be worth mentioning in the article.

  34. Steve Patterson

    Thanks this worked for me editing the .htaccess file. I unchecked sitemaps off then back on and also changed mine from 1,000 to 400. If you are on a shared server, I would use a lower number so that less CPU usage is done on your domain.

  35. scott

    Hi guys,

    I had to troubleshoot this issue too. My site is hosted in a sub directory of a main site. So I had to set the following line:

    RewriteBase /scottmortiz/

    I then had to uncheck the mina Site Map XML option in the plugin, and save. Then re-check the plugin and save. Hope this works for some of you.

    -Scott

  36. Chris

    Hi Steven,
    thank alot. This helped me, too. But to get the rewrite working I had to disable the xml function, save it, and enable (and save it) again. Seems obvious, but maybe this is worth a note in the article. I will safe this article in my personal wordpress help register.
    Thanks,
    Chris

    • Dan

      Thank you Chris! This fixed my 404 problem with Yoast’s XML Sitemap feature.

    • Jason Judge

      Ah, switch it off, then switch it back on again. Thanks:-) It is not as obvious as you think. My sitemaps also did not work (getting a 404) until I did this. I did not have to make any of the other changes described in this post.

  37. Shanthi Ganesan

    @PEKKO Hi Tried your techniques it really works well,thanks a lot for sharing….

  38. Lukas

    Nothing is working in my case – still Error 404 …

  39. Ryan

    Beauty, fixed it for me too.. thanks for putting this up

  40. lloyd

    this just broke my websites … now getting an internal server error…

  41. Rosie

    The edit to .htaccess files was just the trick. Thanks for posting this! You saved me a whole lot of time and trouble.

  42. Pekko

    I was just facing the same issue. i unticked the box (Check this box to enable XML sitemap functionality) — pressed save, and then ticked the box again, after that It found the sitemap again, Hope it will be there!

    • Anisa

      I use this technique, and it worked

    • John

      This worked for me, as well. Thx!

    • Cara Sherlock

      Unchecking, saving and then rechecking worked for me too. Thx!

    • Badprimer

      [..unticked the box (Check this box to enable XML sitemap functionality) — pressed save, and then ticked the box again..]

      Worked for me. Thx!! :D

    • Kerry

      Thank you! Worked for me too! So simple. The author of this article should add this too.

    • bruce

      This also worked for me. turn off sitemaps. save. turn them back on. save. fixed

    • David

      Same for me, unchecked, saved, checked, saved, voila!

  43. Steven

    I’ll just share what worked for me, by changing the ‘max entries per site map’ to 250 (ie. something less than 1000) I managed to fix the 404 error. I think the server was having issues processing 1000 entries which is the default.

    • Maggie

      Hi Steven, this is great solution! I just fixed the problem by your method. Thank you very much!

    • PromInc

      Thanks Steven – this resolved my issue as well. The ‘max entries…’ field was blank for me; simply adding any value seemed to work, which is good as I felt 250 was a bit low. Very simple but effective solution.

    • Nick Root

      That worked thanks for the tip!

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.