Hur fixar Yoast's WordPress SEO Sitemap 404 Error

Hur fixar Yoast's WordPress SEO Sitemap 404 Error / Handledningar

Efter att ha laddats ner över 1 miljon gånger, är WordPress SEO by Yoast plugin den absolut bästa och mest kompletta SEO-plugin för WordPress. Medan det inte har givit oss några problem tidigare, har det varit en smärta för vissa användare. Nyligen har en av våra kunder stött på problemet med att få ett 404-fel för sina webbplatskartor genererade av Yoasts WordPress SEO-plugin. Efter att ha försökt några saker kunde vi räkna ut lösningen. I den här artikeln kommer vi att visa dig hur du fixar sitemap 404-felet i WordPress SEO-plugin av Yoast.

Uppdatering: Det är viktigt att du förstår att problemet är sannolikt orsakat av dåligt kodad temafunktion eller plugin. Yoast plugin fungerar bra på våra webbplatser. Ville bara vara väldigt tydlig om detta.

Det första du bör försöka är att öppna .htaccess-filen (du kan faktiskt göra det från WordPress SEO-plugin> Edit Files-alternativet) och lägg bara till följande kod där:

# WordPress SEO - XML ​​Sitemap Rewrite Fix RewriteEngine På 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 - XML ​​Sitemap Omskrivning Fix

För de flesta fixade problemet problemet. Någon rapporterade att medan den här koden fixade problemet, skickade sidan fortfarande 404 svarhuvudet vilket innebar att verktyget Google Webmasters inte kunde hitta det. Tja i vår kunds fall fixade inte lösningen ovan problemet.

Medan det inte var föredraget, hade vi inget annat val än att redigera kärnproppfilerna för att åtgärda problemet. Som föreslagits av hadjedj.vincent redigerade vi klass-sitemaps.php ligger i "/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php".

Du måste titta på funktionen init () -koden och göra det avsnittet ser så här ut:

/ ** * Initiera webbplatskartor. Lägg till översiktsregler för sitemap och fråga 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 = $ matchningar [1] & sitemap_n = $ matchningar [2]', 'top '); $ Wp_rewrite-> flush_rules ();  

I grund och botten vad vi gör lägger vi till den globala $ wp_rewrite; före allt som redan finns där och lägger till flush_rules efter koden. Genom att lägga till detta i plugin ser det ut att fixa 404-problemet på vår kunds hemsida. Vi har ingen aning om varför Yoast inte gör det som standard, men det verkar som om en hel del användare har denna sitemap 404-fråga. Denna fråga förklaras i kommentarerna.

Uppdatering: Som några av våra användare rapporterade att efter att ha tillämpat ovanstående fix, behövde de fortfarande avmarkera alternativet sitemap i Yoasts SEO-plugin och spara sina inställningar. Efter att ha kontrollerat alternativet för webbplatskartan fixade felet för dem.

Om du letade efter problemet, hoppas vi att den här åtgärden har hjälpt dig.