Ese mensaje de 404 Page not found que te está amargando no es una maldición. Es WordPress diciéndote que la URL que alguien ha pedido no coincide con nada de lo que tiene guardado. Y sí, casi siempre se arregla en menos de lo que tardas en hacerte un café.
Lo primero que tienes que tener claro es que un error 404 en WordPress no es lo mismo que un 500 o un 403. El 404 es un código HTTP que significa «no encuentro esto», y puede venir de tres sitios distintos: el usuario escribió mal, el enlace interno apunta a algo que ya no existe, o tu instalación tiene la estructura de enlaces rota. Distinguir cuál de los tres es el tuyo te ahorra horas.
Por qué aparece el 404 Page not found en WordPress y no en otros sitios
WordPress no genera archivos HTML físicos por cada entrada. Usa un sistema de rewrite rules que traduce URLs bonitas (tipo /mi-entrada/) a consultas a la base de datos. Cuando esas reglas se corrompen, todo empieza a devolver 404 Page not found aunque el contenido siga ahí, intacto, en la tabla wp_posts.
El culpable número uno de que las rewrite rules se rompan es no guardar los permalinks después de tocar algo. Da igual que no hayas cambiado nada: instalar un plugin, migrar el hosting o restaurar un backup puede dejar esa tabla desincronizada. Y entonces, sorpresa: error 404 en WordPress en todas las entradas.
Hay un segundo escenario muy típico: el error 404 aparece solo en las entradas del blog, pero la home y las páginas funcionan. Eso casi siempre es un problema de la estructura de permalinks o de un plugin de SEO que ha metido la pata con las URLs.
La solución que arregla el 80% de los casos (y por qué funciona)
Antes de tocar bases de datos o meterte en el functions.php, haz esto: ve a Ajustes > Enlaces permanentes y pulsa «Guardar cambios» sin cambiar nada. En serio, sin cambiar nada.
Ese botón fuerza a WordPress a regenerar el archivo .htaccess y a reescribir las reglas de reescritura en la base de datos. Es la solución más simple al 404 Page not found y la que menos gente prueba porque parece demasiado tonta para funcionar. Pues funciona, y mucho.
Si tu sitio está en Nginx en lugar de Apache, el truco del botón no basta: necesitas revisar la configuración del servidor. En Nginx no existe .htaccess, y si falta el bloque try_files $uri $uri/ /index.php?$args;, todas las URLs bonitas van a devolver 404 Page not found en WordPress sí o sí. Ahí no hay plugin que lo arregle.
Cuando el 404 solo afecta a algunas páginas: enlaces rotos y contenido movido
Si tu error 404 en WordPress es selectivo, el problema no es la configuración global sino enlaces concretos. Aquí entran en juego tres causas habituales:
- Cambiaste el slug de una entrada y WordPress, por defecto, no redirige la URL antigua. Solución: un plugin de redirecciones (Redirection, Yoast Premium, Rank Math) que capture el 404 y lo mande al destino correcto con un 301.
- Borraste una página o entrada que estaba enlazada desde el menú o desde otro post. El enlace sigue ahí, apuntando al vacío.
- Migraste de dominio y hay URLs absolutas antiguas escondidas en el contenido, en widgets o en el theme. Una búsqueda en la base de datos con WP-CLI o Search-Replace-DB lo detecta rápido.
Mi consejo aquí es claro: no te obsesiones con perseguir cada 404 a mano. Instala un plugin que registre los 404 y te diga qué URLs están fallando. En dos días tendrás la lista real de lo que hay que redirigir, en lugar de adivinar.
Plugins y temas: los sospechosos habituales del 404 Page not found
Antes de echarle la culpa al hosting, descarta plugins. Un plugin de caché mal configurado, uno de seguridad que bloquea ciertas rutas o un plugin de membresía con sus propias reglas de rewrite pueden provocar un 404 Page not found en WordPress sin que te enteres.
El método que nunca falla: desactiva todos los plugins desde el panel (o renombrando la carpeta /wp-content/plugins/ por FTP si el panel no carga), y comprueba si el error sigue. Si desaparece, reactiva uno a uno hasta que vuelva a romperse. Es tedioso, pero es la única forma de pillarlo con certeza.
Con el tema pasa igual. Cambia temporalmente a un tema por defecto como Twenty Twenty-Five. Si el 404 se arregla, el problema está en el functions.php de tu tema o en cómo registra sus custom post types. Muchos temas meten rewrite rules propias que chocan con las de WordPress.
Revisa la base de datos y el archivo .htaccess sin miedo
Si ya has probado lo anterior y sigues con el error 404 en WordPress, toca mirar debajo del capó. Dos sitios concretos:
- El archivo .htaccess. Conéctate por FTP o por el gestor de archivos del hosting y revisa que exista en la raíz. Si no está, créalo vacío y vuelve a guardar permalinks. Si está pero tiene reglas raras, renómbralo a .htaccess.bak y regenera desde WordPress.
- La tabla wp_options. Busca la opción rewrite_rules. Si está vacía o corrupta, bórrala desde phpMyAdmin y guarda permalinks otra vez. WordPress la recreará sola.
Ojo con esto: haz copia de seguridad antes de tocar la base de datos. No es alarmismo, es que un DELETE mal puesto en la tabla equivocada te deja el sitio inservible. Y no, no vale con «ya lo arreglo luego».
Cuándo el 404 en WordPress ya no es cosa tuya
Hay un escenario que mucha gente no contempla: que el 404 Page not found venga del propio servidor, no de WordPress. Si tu hosting ha cambiado reglas de Apache, ha migrado tu cuenta a otro servidor o tiene el mod_rewrite desactivado, tú puedes estar tocando WordPress durante horas sin resultado.
Para descartarlo, crea un archivo test.html en la raíz y accede a él. Si carga, el servidor está bien. Luego prueba a acceder a tudominio.com/index.php directamente. Si eso funciona pero tudominio.com/cualquier-cosa/ no, el problema está en las rewrite rules. Si ni index.php carga, llama a tu hosting.
Un 404 que persiste tras guardar permalinks, desactivar plugins y revisar .htaccess casi siempre es un problema de configuración del servidor. No pierdas más tiempo: abre ticket al hosting con los pasos que ya has hecho.
Errores que debes evitar al arreglar el 404 en WordPress
Hay tres cosas que veo hacer una y otra vez y que empeoran el problema:
- Editar el .htaccess a lo loco. Si no entiendes las directivas, no las toques. Un solo carácter mal y tiras el sitio entero con un 500.
- Instalar cinco plugins de redirección a la vez. Chocan entre ellos y generan bucles infinitos. Uno, y bien configurado.
- Ignorar los 404 en Search Console. Google te dice exactamente qué URLs están fallando y desde dónde llegan. Es la mina de oro que casi nadie mira.
Y un matiz importante: no todos los 404 son malos. Si has borrado contenido a propósito y quieres que desaparezca, un 404 es la respuesta correcta. Lo que no puedes permitir es que un 404 sustituya a una página que debería existir y estar indexada. Ahí pierdes tráfico y autoridad.
Al final, el error 404 Page not found en WordPress es un síntoma, no una enfermedad. Arreglar las rewrite rules, poner redirecciones donde toca y vigilar Search Console una vez al mes te evita el 95% de los dolores de cabeza. El otro 5% es el hosting, y para eso ya existen los tickets de soporte.