Come risolvere Yoast's WordPress SEO Sitemap 404 Errore

Come risolvere Yoast's WordPress SEO Sitemap 404 Errore / Esercitazioni

Essendo stato scaricato più di un milione di volte, WordPress SEO di Yoast plugin è di gran lunga il migliore e più completo plugin SEO per WordPress. Mentre non ci ha dato problemi in passato, per alcuni utenti è stato un dolore. Recentemente uno dei nostri clienti si è imbattuto nel problema di ottenere un errore 404 per i sitemap generati dal plugin SEO di WordPress di Yoast. Dopo aver provato alcune cose, siamo stati in grado di capire la soluzione. In questo articolo, ti mostreremo come correggere l'errore della sitemap 404 nel plugin SEO di WordPress da parte di Yoast.

Aggiornamento: è importante comprendere che questo problema è probabilmente causato da funzioni o plug-in con tema scarsamente codificati. Il plugin di Yoast funziona bene sui nostri siti. Volevo solo essere molto chiaro su questo.

La prima cosa che dovresti provare è aprire il tuo file .htaccess (puoi farlo dal plugin SEO di WordPress> Modifica file) e aggiungere semplicemente il seguente codice:

# WordPress SEO - Sitemap XML Riscriviglia Risolto 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 - Risoluta la Sitemap XML

Per la maggior parte delle persone questo ha risolto il problema. Qualcuno ha riferito che mentre questo codice risolveva il problema, la pagina stava ancora inviando l'intestazione della risposta 404, il che significava che lo strumento Google Webmaster non riusciva a trovarlo. Bene nel caso del nostro cliente, la soluzione di cui sopra NON ha risolto il problema.

Anche se non è stato preferito, non abbiamo avuto altra scelta che modificare i file del plugin principale per risolvere il problema. Come suggerito da hadjedj.vincent, abbiamo modificato il file class-sitemaps.php situato in "/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php".

Hai bisogno di guardare il codice funzione init () e rendere quella sezione simile a questa:

/ ** * Inizializza sitemap. Aggiungi regole di riscrittura delle Sitemap e query 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 ('([^ /] +?) - sitemap ([0-9] +) ?. xml $', 'index.php? sitemap = $ corrisponde a [1] & sitemap_n = $ corrisponde a [2]', 'in alto '); $ Wp_rewrite-> flush_rules ();  

Fondamentalmente quello che stiamo facendo è l'aggiunta del globale $ wp_rewrite; prima di tutto ciò che è già lì e aggiungendo flush_rules dopo il codice. Aggiungendo questo nel plugin, sembra che risolva il problema 404 sul sito web del nostro cliente. Non abbiamo idea del motivo per cui Yoast non lo fa di default, ma sembra che alcuni utenti stiano avendo questo problema con la sitemap 404. Questo problema è spiegato nei commenti.

Aggiornare: Come alcuni dei nostri utenti hanno riferito che dopo aver applicato la correzione sopra, avevano ancora bisogno di deselezionare l'opzione sitemap nel plugin SEO di Yoast e salvare le loro impostazioni. Dopo di che ricontrollare l'opzione della sitemap ha corretto l'errore per loro.

Se stavi cercando questo problema, ci auguriamo che questa soluzione ti abbia aiutato.