Cum de a Fix WordPress SEO Yoast Sitemap 404 Eroare
După ce a fost descărcat de peste 1 milion de ori, WordPress SEO by Yoast plugin este de departe cel mai bun și cel mai complet plugin SEO pentru WordPress. Deși nu ne-a dat probleme în trecut, pentru unii utilizatori a fost o durere. Recent, unul dintre clienții noștri a intrat în problema primirii unei erori de 404 pentru sitemap-urile lor generate de plugin-ul WordPress SEO de la Yoast. După ce am încercat câteva lucruri, am reușit să găsim soluția. În acest articol, vă vom arăta cum să remediați eroarea sitemap 404 în pluginul WordPress SEO de către Yoast.
Actualizare: Este important să înțelegeți că această problemă este cel mai probabil cauzată de funcția sau pluginul tematic slab codificat. Plugin-ul lui Yoast funcționează bine pe site-urile noastre. Doar vroiam să fiu foarte clar despre asta.
Primul lucru pe care ar trebui să-l încercați este să deschideți fișierul .htaccess (puteți să faceți acest lucru din pluginul WordPress SEO> Editare fișiere) și pur și simplu adăugați următorul cod acolo:
# WordPress SEO - Sitemap XML Rewrite Fixați RewriteEngine pe 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 - Sitemap XML Rewrite Fix
Pentru majoritatea oamenilor acest lucru a rezolvat problema. Cineva a raportat că, în timp ce acest cod a rezolvat problema, pagina a fost în continuare trimisă antetul de răspuns 404, ceea ce înseamnă că instrumentul Google Webmasteri nu a putut să-l găsească. Ei bine, în cazul clientului nostru, soluția de mai sus NU a rezolvat problema.
În timp ce nu am preferat, nu am avut de ales decât să editați fișierele plugin-ului principal pentru a rezolva problema. Așa cum a sugerat hasjedj.vincent, am editat clasa-sitemaps.php situat în "/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php".
Trebuie să te uiți la codul funcției init () și să faci ca acea secțiune să arate astfel:
/ ** * Inițializați sitemap-urile. Adăugați regulile de rescriere a sitemap-ului și interogarea 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 = '); $ Wp_rewrite-> flush_rules ();
În esență, ceea ce facem este adăugarea valorii globale $ wp_rewrite; înainte de tot ceea ce este deja acolo și adăugând flush_rules după cod. Prin adăugarea acestui element în plugin, se pare că rezolvă problema 404 pe site-ul clientului nostru. Nu avem nicio idee de ce Yoast nu face acest lucru în mod implicit, dar se pare că destul de puțini utilizatori au acest sitemap 404 problemă. Această problemă este explicată în comentarii.
Actualizați: Întrucât unii dintre utilizatorii noștri au raportat că, după aplicarea remedierii de mai sus, aceștia aveau încă nevoie de a debifa opțiunea sitemap-ului în plugin-ul SEO al lui Yoast și să-și salveze setările. După aceasta, verificarea opțiunii sitemap-ului a stabilit eroarea pentru ele.
Dacă ați căutat această problemă, sperăm că această soluție vă ajută.