Sitemap 404 Error

Sitemap 404 Error

Yoast’s XML Sitemap 404 Error, posso dire che questo genere di errore è molto frustrante sopratutto se non si riesce a correggere! ;-(
Credo che sitemap XML di Yoast sia una soluzione ottimale perché, da quello che ho visto, l'indicizzazione dei motori di ricerca funziona molto bene, ma se si verificano errori come risorverli?
Dopo una serie dio ricerche sul web sono riuscito a trovare la soluzione, che condivido con voi.

1 Soluzione la più semplice:
1. A volte, tutto quello che dovete fare è quello di deselezionare (disabilitare) la sitemap XML, salvare le impostazioni, quindi controllare (abilitare) indietro e salvare nuovamente le impostazioni.

Fare attenzione dopo un Yoast o un aggiornamento a tema. Anche se la sitemap XML funziona bene, dopo aver aggiornato il plug-in o il tema, potrebbe essere visualizzato l'errore 404. Se questo accade, applicare la soluzione di cui sopra, dovrebbe funzionare.

2. Se nr. 1 non funziona, quindi disattivare e riattivare il plugin. Verificare.

3. Ripristinare i permalink. Got to Admin (WordPress) -> Impostazioni -> Permalinks, e basta premere Salva modifiche senza modificare nulla.

2 Soluzione correzione di W3 Total Cache:
Come ho detto sopra, a volte il 404 pagina non trovata errore può essere causato dal tema + W3 Total Cache. Questo è quello che è successo nel mio caso. Mappa del sito di Yoast ha funzionato bene con il tema, ma con W3 Total Cache ho avuto i primi problemi, le pagine e post cancellati risultavano ancora all'interno della Sitemap generando l'errore! (404)

Quindi potremmo settare il plugin W3 Total Chahe:
Vai su -> Browser Cache -> Prevent caching exception list.
aggiungi questa stringa: sitemap(_index|[0-9]+)?\.xml
e abilita la spunta come sotto.

undefined


Potremmo intervenire anche lato server:

Apache

Quello che dovete fare è quello di aggiungere un po 'di codice nel vostro .htaccess.
Aggiungere questo codice prima che le principali regole di riscrittura di WordPress vengano scritte:

 # WordPress 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?xsl=$1 [L]
# END WordPress SEO - XML Sitemap Rewrite Fix

Se stai usando WordPress in una sottocartella, ad esempio / wordpress /, quindi si dovrebbe utilizzare questo codice invece:

 # WordPress SEO - XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^sitemap_index.xml$ /wordpress/index.php?sitemap=1 [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /wordpress/index.php?sitemap=$1&sitemap_n=$2 [L]
# END WordPress SEO - XML Sitemap Rewrite Fix

Nginx

Aggiungere all'interno del Nginx config*:

#Yoast sitemap
location ~ ([^/]*)sitemap(.*)\.x(m|s)l$ {
## this redirects sitemap.xml to /sitemap_index.xml
rewrite ^/sitemap\.xml$ /sitemap_index.xml permanent;
## this makes the XML sitemaps work
rewrite ^/([a-z]+)?-?sitemap\.xsl$ /index.php?xsl=$1 last;
rewrite ^/sitemap_index\.xml$ /index.php?sitemap=1 last;
rewrite ^/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
## The following lines are optional for the
rewrite ^/news-sitemap\.xml$ /index.php?sitemap=wpseo_news last;
rewrite ^/locations\.kml$ /index.php?sitemap=wpseo_local_kml last;
rewrite ^/geo-sitemap\.xml$ /index.php?sitemap=wpseo_local last;
rewrite ^/video-sitemap\.xsl$ /index.php?xsl=video last;
} 

*Fondamentalmente è necessario trovare il file nginx.conf dove inserire il codice, ovviamante non a nulla a che vedere con il file .htaccess.

ATTENZIONE! C'è la possibilità che le soluzioni lato server (Nginx e Apache) possano causare errori, quindi se non si è pienamente sicuri...
Evitate le soluzioni ;-)