Cómo corregir el error de WordPress SEO Sitemap 404 de Yoast
Habiendo sido descargado más de 1 millón de veces, el plugin WordPress SEO by Yoast es el mejor y más completo plugin SEO para WordPress. Si bien no nos ha dado problemas en el pasado, para algunos usuarios ha sido un dolor. Recientemente, uno de nuestros clientes se encontró con el problema de obtener un error 404 para sus mapas de sitio generados por el plugin WordPress SEO de Yoast. Después de probar algunas cosas, pudimos encontrar la solución. En este artículo, le mostraremos cómo corregir el error del mapa del sitio 404 en el complemento WordPress SEO de Yoast.
Actualización: es importante que entienda que este problema probablemente se deba a una función de tema o un complemento mal codificados. El plugin de Yoast funciona bien en nuestros sitios. Solo quería ser muy claro al respecto..
Lo primero que debes intentar es abrir tu archivo .htaccess (puedes hacerlo desde el complemento de WordPress SEO> opción Editar archivos) y simplemente agregar el siguiente código allí:
# WordPress SEO - XML Sitemap Rewrite Repare 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 - XML Sitemap Rewrite Fix
Para la mayoría de la gente esto solucionó el problema. Alguien informó que, si bien este código solucionaba el problema, la página seguía enviando el encabezado de respuesta 404, lo que significaba que la herramienta Google Webmasters no podía encontrarlo. Bueno, en el caso de nuestro cliente, la solución anterior NO solucionó el problema.
Si bien no se prefiere, no tuvimos más remedio que editar los archivos del complemento del núcleo para solucionar el problema. Según lo sugerido por hadjedj.vincent, editamos el class-sitemaps.php ubicado en "/wp-content/plugins/wordpress-seo/inc/class-sitemaps.php".
Necesitas mirar el código de la función init () y hacer que esa sección se vea así:
/ ** * Inicializar sitemaps. Agregue reglas de reescritura de sitemap y consulte 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]', ' '); $ wp_rewrite-> flush_rules ();
Básicamente, lo que estamos haciendo es agregar el $ wp_rewrite global; antes de todo lo que ya está allí y agregar flush_rules después del código. Al agregar esto en el complemento, parece solucionar el problema 404 en el sitio web de nuestro cliente. No tenemos idea de por qué Yoast no está haciendo esto por defecto, pero parece que muchos usuarios tienen este problema de mapa del sitio 404. Este tema se explica en los comentarios..
Actualizar: Como algunos de nuestros usuarios informaron que después de aplicar la solución anterior, aún tenían que desmarcar la opción del mapa del sitio en el complemento SEO de Yoast y guardar su configuración. Después de volver a revisar la opción del mapa del sitio, se solucionó el error..
Si estaba buscando este problema, esperamos que esta solución le haya ayudado.