Sitemap : Erreur 404 avec WordPress sous Nginx
Comme je viens de passer un petit moment à trouver une solution pour ce problème, je me suis dit que je partagerais la solution ici comme mémo mais aussi pour ceux qui seraient confronté au problème.
Mon plugin WordPress pour créer un sitemap est Better WordPress Google XML Sitemaps. Mais le problème semble être le même avec Yoast SEO. Vous pourrez surement donc adapter la solution pour Yoast.
En configurant votre Nginx pour WordPress, vous devez avoir créé une ligne qui ressemble à ceci :
location / { # include the "?$args" part so non-default permalinks doesn't break when using query string try_files $uri $uri/ /index.php?$args; }
Comme les plugins de WordPress n’écrive pas le fichier sitemap.xml en dure sur le serveur, il génère en dynamique (avec cache) le sitemap. Il faut donc diriger sitemap.xml vers la bonne URL qui va générer le sitemap. Voici pour ma part ce que j’ai utilisé dans mon fichier nginx.conf (dans la racine de mon site, mais vous pouvez le mettre dans votre fichier de config de nginx ou de vhost directement).
## Sitemap XML config rewrite ^/sitemapindex\.xml$ /index.php?gxs_module=sitemapindex last; rewrite ^/post\.xml$ /index.php?gxs_module=post last; rewrite ^/page\.xml$ /index.php?gxs_module=page last; rewrite ^/post_google_news\.xml$ /index.php?gxs_module=post_google_news last; rewrite ^/taxonomy_category\.xml$ /index.php?gxs_module=taxonomy_category last;
ATTENTION : À ce stade, si vous souhaitez tester si ça fonctionne il faut REDÉMARRER NGINX
Soit faire la commande suivante :
sudo systemctl restart nginx
Voilà, votre sitemap a retrouvé ces couleurs et est prêt à servir google et autres répertoires …
Si vous avez des questions, n’hésitez pas.
Pas de commentaire