WordPress SEO by Yoast: correggere l’errore 404 della sitemap XML

La sitemap XML generata da WordPress SEO by Yoast restituisce spesso un errore 404. Questo bug può essere causato da temi codificati male o conflitti tra plugin.

WordPress SEO by Yoast non ha bisogno di presentazioni: è uno dei migliori plugin WordPress per la SEO insieme ad All in one SEO pack.
Avete 2 modi per risolvere il problema.

Soluzione 1: modifica del file .htaccess

  • Aprite il file .htaccess [WordPress SEO plugin > Edit Files option].
  • Inserite la porzione di codice indicata.
# Codice per riparare l'errore sitemap XML
<IfModule mod_rewrite.c>
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]
</IfModule>
# Fine codice per riparare l'errore della sitemap XML

Questa soluzione di solito è definitiva e consente di sistemare l’errore, altrimenti potete provare con il rimedio numero 2.

Soluzione 2: modifica del file class-sitemaps.php

  • Aprite il file class-sitemaps.php [/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php].
  • Modificate la riga function init (riga 80) come indicato.
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( '([^/]+?)-sitemap([0-9]+)?\.xml$', 'index.php?sitemap=$matches[1]&sitemap_n=$matches[2]', 'top' );
        $wp_rewrite->flush_rules();
    }