Comment réparer l'erreur Sitemap 404 de WordPress SEO de Yoast
Après avoir été téléchargé plus d'un million de fois, le plugin WordPress SEO by Yoast est de loin le meilleur et le plus complet des plugins SEO pour WordPress. Bien que cela ne nous ait posé aucun problème par le passé, cela a été pénible pour certains utilisateurs. Récemment, un de nos clients a eu le problème d'obtenir une erreur 404 pour leurs sitemaps générés par le plugin WordPress SEO de Yoast. Après avoir essayé quelques solutions, nous avons pu trouver la solution. Dans cet article, nous allons vous montrer comment corriger l'erreur de sitemap 404 dans le plugin WordPress SEO de Yoast..
Mise à jour: Il est important que vous compreniez que ce problème est probablement causé par une fonction de thème ou un plugin mal codé. Le plugin de Yoast fonctionne bien sur nos sites. Je voulais juste être très clair à ce sujet.
La première chose que vous devriez essayer est d’ouvrir votre fichier .htaccess (vous pouvez le faire depuis l’option Plugin WordPress SEO> Éditer les fichiers) et d’ajouter simplement le code suivant:
# WordPress SEO - XML Sitemap Rewrite Fixer RewriteEngine sur RewriteBase / RewriteRule ^ sitemap_index.xml $ /index.php?sitemap=1 [L] RewriteRule ^ ([^ /] +?) - plan du site ([0-9] +)? .xml $ /index.php?sitemap=$1&sitemap_n=$2 [L] # FIN WordPress SEO - Correction de la réinscription de la sitemap XML
Pour la plupart des gens, le problème était résolu. Quelqu'un a signalé que bien que ce code corrige le problème, la page envoyait toujours l'en-tête de réponse 404, ce qui signifiait que l'outil Google Webmasters ne pouvait pas le trouver. Dans le cas de notre client, la solution ci-dessus n'a PAS résolu le problème..
Bien que non préféré, nous n'avions pas d'autre choix que de modifier les fichiers du plugin principal pour résoudre le problème. Comme suggéré par hadjedj.vincent, nous avons édité le class-sitemaps.php situé dans «/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php».
Vous devez regarder le code de la fonction init () et donner à cette section l'apparence suivante:
/ ** * Initialise les sitemaps. Ajoutez des règles de réécriture de sitemap et interrogez var * / function init () global $ wp_rewrite; $ GLOBALS ['wp'] -> add_query_var ('sitemap'); $ GLOBALS ['wp'] -> add_query_var ('sitemap_n'); add_rewrite_rule ('sitemap_index.xml $', 'index.php? sitemap = 1', 'top'); add_rewrite_rule ('([^ /] +?) - plan du site ([0-9] +)?. xml $', 'index.php? sitemap = $ correspond [1] & sitemap_n = $ correspond [2]', 'top '); $ wp_rewrite-> flush_rules ();
Fondamentalement, nous ajoutons le global $ wp_rewrite; avant tout ce qui est déjà là et en ajoutant flush_rules après le code. En ajoutant ceci dans le plugin, cela semble résoudre le problème 404 sur le site web de notre client. Nous ne savons pas du tout pourquoi Yoast ne le fait pas par défaut, mais il semble que de nombreux utilisateurs ont ce problème de sitemap 404. Ce problème est expliqué dans les commentaires.
Mettre à jour: Certains de nos utilisateurs ont signalé qu'après avoir appliqué le correctif ci-dessus, ils devaient tout de même décocher l'option sitemap dans le plug-in SEO du Yoast et enregistrer leurs paramètres. Après avoir revérifié l'option du plan du site, ils ont résolu l'erreur.
Si vous recherchiez ce problème, nous espérons que ce correctif vous aura aidé.