Hur fixar du Yoasts WordPress SEO-webbplatskarta 404-fel

Hur fixar du Yoasts WordPress SEO-webbplatskarta 404-fel

Efter att ha laddats ner mer Àn 1 miljon gÄnger Àr WordPress SEO av Yoast-plugin det absolut bÀsta och mest kompletta SEO-plugin för WordPress. Det har inte gett oss nÄgra problem tidigare, men för vissa anvÀndare har det varit ont. Nyligen stötte en av vÄra kunder pÄ att fÄ ett 404-fel för sina webbplatskartor som genererades av Yoasts WordPress SEO-plugin. Efter att ha provat nÄgra saker kunde vi ta reda pÄ lösningen. I den hÀr artikeln visar vi dig hur du fixar sitemap 404-felet i WordPress SEO-plugin av Yoast.

Uppdatering: Det Àr viktigt att du förstÄr att problemet troligen orsakas av dÄligt kodad temafunktion eller plugin. Yoasts plugin fungerar bra pÄ vÄra webbplatser. Ville bara vara mycket tydlig om detta.

Det första du bör försöka Àr att öppna din .htaccess-fil (du kan faktiskt göra det frÄn WordPress SEO-plugin> Redigera filer-alternativet) och helt enkelt lÀgga till följande kod dÀr inne:

# WordPress SEO - XML Sitemap Rewrite Fix
<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>
# END WordPress SEO - XML Sitemap Rewrite Fix

För de flesta fixade detta problemet. NÄgon rapporterade att medan den hÀr koden löste problemet skickade sidan fortfarande 404-svarshuvudet vilket innebar att Google Webmasters-verktyg inte kunde hitta det. Okej i vÄr kunds fall, lösningen ovan löste INTE problemet.

Även om vi inte föredrog, hade vi inget annat val Ă€n att redigera kĂ€rnans plugin-filer för att lösa problemet. Som föreslagits av hadjedj.vincent redigerade vi class-sitemaps.php finns i “/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php”.

Du mÄste titta pÄ funktionen init () och fÄ det avsnittet att se ut sÄ hÀr:

/**
	 * Initialize sitemaps. Add sitemap rewrite rules and 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=$matches[1]&sitemap_n=$matches[2]', 'top' );
		$wp_rewrite->flush_rules();
	}

I grund och botten Àr vad vi gör att lÀgga till den globala $ wp_rewrite; före allt som redan finns och lÀgga till flush_rules efter koden. Genom att lÀgga till detta i plugin-programmet verkar det lösa 404-problemet pÄ vÄr kunds webbplats. Vi har ingen aning om varför Yoast inte gör det som standard, men det verkar som om mÄnga anvÀndare har det hÀr problemet med sitemap 404. Denna frÄga förklaras i kommentarerna.

Uppdatering: Eftersom nÄgra av vÄra anvÀndare rapporterade att de fortfarande behövde avmarkera alternativet webbplatskarta i Yoasts SEO-plugin och spara deras instÀllningar efter att ha tillÀmpat ovanstÄende fix. Efter det att en ny kontroll av webbplatskartans alternativ fixade felet för dem.

Om du letade efter det hÀr problemet hoppas vi att den hÀr lösningen har hjÀlpt dig.