Estoy usando wordpress solo como backend para manejar el contenido de un sitio, pero en el front no uso todo el sistema de themes, sino que simplemente llamo a wp-blog-header.php al inicio de mis paginas y luego puedo usar las queries que necesito. Este sistema es lo que el mismo codex de wordpress recomienda. ¡Y funciona!!!
Desarrollé todo el sitio y funcionaba todo bien hasta que… :(
…hasta que vi que google no estaba indexando las páginas y que al usar una herramienta online de generación de sitemaps me arrojaba error 404, me decía que la url no existía ¡y yo la estaba viendo!
Pensé en robots.txt, pensé en la opción que trae wordpress para «disuadir a los motores de búsqueda de indexar el sitio», pensé en algún bloqueo vía .htaccess o en algún bloqueo a nivel de servidor Y NADA. Nada funcionaba.
Luego de googlear un rato llegué al problema y a la solución. Resulta que al usar wp-blog-header.php y no existir una url que pueda traducirse en una ruta válida, de algún modo se lanza una cabecera de error 404 a pesar de que todo el sistema siga funcionando bien, y lo más extraño es que solo afecta a algunos navegadores antiguos y a googlebot. Ese era el drama.
Una de las soluciones era «desarmar» todos los llamados que hace por dentro wp-blog-header.php y dejar solo las líneas necesarias, pero parecía ser mucho código para algo tan simple.
La segunda solución que encontré era la más simple, la probé y funcionó. Era simplemente reemplazar
require('wordpress/wp-blog-header.php');
por
require('wordpress/wp-blog-load.php');
Santo remedio. Ahora el sitio se indexa correctamente y no genera esos errores 404 medio fantasmas que había.
Puedo volver a respirar tranquilo.
- Cómo descargar videos y música de Youtube (usando 4K Video Downloader) - 5febrero 2020
- Himno Colegio Rubén Castro, grabación 2019 - 17agosto 2019
- WordPress y Woocommerce, problema mostrando medios y productos con variaciones - 6octubre 2018