Cómo corregir el error de Yoast WordPress SEO Sitemap 404

Después de haber sido descargado más de 1 millón de veces, WordPress SEO por Yoast plugin es, con mucho, el mejor y más completo plugin de SEO para WordPress. Aunque no nos ha dado ningún problema en el pasado, para algunos usuarios ha sido una molestia. Recientemente uno de nuestros clientes se topó con el problema de obtener un error 404 para sus sitemaps 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 sitemap 404 en el plugin SEO de WordPress de Yoast.

Actualización: Es importante que entiendas que este problema es probablemente causado por una función o plugin de tema mal codificado. El plugin de Yoast funciona bien en nuestros sitios. Sólo quería ser muy claro sobre esto.

Lo primero que debes intentar es abrir tu archivo.htaccess (puedes hacerlo desde el plugin SEO de WordPress> la opción Editar Archivos) y simplemente añadir el siguiente código allí:

12345678# WordPress SEO – XML Sitemap Rewrite FixRewriteEngine OnRewriteBase /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 soluciona el problema. Alguien informó que mientras este código corregía el problema, la página seguía enviando el encabezado de respuesta 404, lo que significaba que la herramienta Webmasters de Google no podía encontrarlo. Bueno, en el caso de nuestro cliente, la solución anterior NO solucionó el problema.

Aunque no se prefirió, no tuvimos más remedio que editar los archivos de los plugins principales para solucionar el problema. Como sugirió hadjedj.vincent, editamos el class-sitemaps.php ubicado en “/wp-content/plugins/wordpress-seo/inc/classs-sitemaps.php”.

Necesitas mirar el código de la función init() y hacer que esa sección se vea así:

1234567891011/*** Inicializar mapas de sitio. Añadir reglas de reescritura de sitemaps y consultas 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();} }

Básicamente lo que estamos haciendo es añadir el $wp_rewrite global; antes de todo lo que ya está allí y añadir flush_rules después del código. Al añadir esto en el plugin, parece que arregla el problema del 404 en el sitio web de nuestro cliente. No tenemos idea de por qué Yoast no está haciendo esto por defecto, pero parece que bastantes usuarios están teniendo este problema con el sitemap 404. Esta cuestión se explica en los comentarios.

Actualización: Como algunos de nuestros usuarios reportaron que después de aplicar la corrección anterior, todavía necesitaban deseleccionar la opción de mapa de sitio en el plugin SEO de Yoast y guardar su configuración. Después de volver a comprobar la opción del sitemap, se corrigió el error para ellos.

Si estabas buscando este problema, esperamos que este arreglo te haya ayudado.

Valora el post

Deja un comentario