Error 404 en todas las páginas de WordPress (pero no en la portada)
Tu portada carga bien, pero cada entrada, página y categoría devuelve 404.
La causa casi siempre está en el archivo .htaccess o en los
enlaces permanentes. En el 90% de los casos se arregla en menos de 5 minutos.
Publicado el · Actualizado el · 8 min de lectura

Respuesta rápida: Este error ocurre porque el archivo .htaccess ha perdido las reglas de reescritura de WordPress, o porque los enlaces permanentes están desincronizados. La solución más rápida es ir a Ajustes → Enlaces permanentes → Guardar cambios. Si eso no lo arregla, hay que revisar o recrear el .htaccess. En la mayoría de los casos se soluciona en menos de 5 minutos.
Abres tu web y la portada funciona perfectamente. Pero cualquier entrada, página o categoría devuelve 404 Not Found. No es un error aleatorio: hay un motivo concreto y muy habitual.
Tranquilo: no has perdido contenido. Tu base de datos está intacta. El problema es solo de enrutamiento de URLs. Vamos a arreglarlo.
Qué está pasando exactamente
WordPress no genera un archivo HTML por cada entrada o página. Todo el
contenido vive en la base de datos y se recupera dinámicamente. Para
que una URL como /mi-articulo/ cargue la entrada correcta,
el servidor usa el archivo .htaccess y sus
reglas de reescritura (rewrite rules).
Cuando ese archivo falta, está corrupto o ha perdido las reglas de WordPress, el servidor no sabe qué hacer con las URLs y responde directamente 404 Not Found.
¿Por qué la portada sí funciona? Porque no necesita pasar por ese
proceso. Al visitar la raíz del dominio, el servidor carga directamente
index.php. El resto de URLs sí dependen del
.htaccess. Ahí está el problema.
En una frase: WordPress sabe qué mostrar, pero el servidor no sabe cómo entregárselo. Por eso la portada va y el resto no.
Las 5 causas más comunes
Estas son, por orden de frecuencia, las razones por las que aparece este error:
El .htaccess ha desaparecido o le faltan las reglas
Es la causa número uno. Un plugin lo ha sobrescrito, una migración
no lo copió bien o los permisos impiden a WordPress escribir en él.
Cuando el bloque BEGIN WordPress … END WordPress no
está, todas las URLs fallan menos la portada.
Los enlaces permanentes no se han refrescado
Después de una migración, un cambio de dominio o una modificación en la estructura de URLs, las reglas quedan desincronizadas. Se suele arreglar volviendo a guardar los enlaces permanentes.
Configuración del servidor: mod_rewrite o AllowOverride
Apache necesita mod_rewrite activo y
AllowOverride en All. Si no lo están,
el .htaccess se ignora. En Nginx no existe
.htaccess: hay que revisar la directiva
try_files.
Conflicto entre plugins que escriben en el .htaccess
Plugins de seguridad, caché y SEO escriben a la vez en el mismo archivo. Cuando varios lo hacen, pueden borrar las reglas de WordPress. Si el error reaparece cada pocos días, es esta causa.
Permisos del .htaccess incorrectos
Si el archivo es de solo lectura o tiene permisos raros, WordPress
no puede actualizarlo al guardar los enlaces permanentes. Los
permisos correctos son 644 (o 444 si
quieres bloquear la escritura).
Cómo solucionarlo paso a paso
Sigue este orden: de lo más rápido y frecuente a lo más complejo. Con el paso 1 se resuelve la mayoría de los casos.
Paso 1 · Refresca los enlaces permanentes (90% de éxito)
- Entra en el panel de WordPress.
- Ve a Ajustes → Enlaces permanentes.
- No cambies nada.
- Pulsa «Guardar cambios».
Esto regenera el bloque de reglas dentro del .htaccess.
Prueba a abrir cualquier entrada. Si funciona, ya está resuelto.
Si funciona pero vuelve a fallar en unos días, algo
está sobrescribiendo el .htaccess. Salta al paso 4.
Paso 2 · Revisa y repara el archivo .htaccess
Si el paso 1 no ha funcionado, conecta por FTP o abre el gestor de
archivos del hosting, ve a la raíz de WordPress (donde está
wp-config.php) y comprueba el .htaccess.
Antes de tocar nada, haz copia: descárgalo o renómbralo
a .htaccess.bak.
Si no existe o le faltan estas líneas, créalo o edítalo con:
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Paso 3 · Comprueba los permisos del .htaccess
El archivo debe tener permisos 644. Algunos hostings recomiendan 444 para evitar que los plugins lo sobrescriban. Carpetas: 755. Archivos: 644. Si no coinciden, cámbialos y vuelve al paso 1.
Paso 4 · Descarta conflictos de plugins
Si el error sigue o reaparece, hay un plugin que sobrescribe el
.htaccess. Los sospechosos habituales:
- Seguridad: Solid Security, Really Simple Security, Wordfence.
- Caché: W3 Total Cache, WP Rocket, LiteSpeed Cache.
- SEO que modifica el
.htaccess. - Multilenguaje: WPML, Polylang.
Desactiva todos los plugins y comprueba si el error desaparece. Si es así, reactívalos uno a uno hasta que vuelva a fallar. El último que has activado es el culpable.
Paso 5 · Confirma la configuración del servidor
Esto requiere contactar con tu hosting, porque son ajustes que no puedes tocar desde WordPress:
- Apache: comprobar que
mod_rewriteestá activo yAllowOverrideestá enAll. - Nginx: revisar que la directiva
try_filesredirija aindex.php.
Mensaje sugerido: «Mi WordPress devuelve 404 en todas las URLs excepto
la portada. Ya he refrescado los enlaces permanentes y recreado el
.htaccess. ¿Podéis verificar si mod_rewrite
está activo y cómo está configurado AllowOverride?»
Paso 6 · Descarta malware en el .htaccess
Si el problema reaparece o el .htaccess tiene reglas que no
reconoces, tu web podría estar comprometida. El malware modifica el
.htaccess con frecuencia para inyectar redirecciones.
Escanea con Wordfence o Sucuri. Si hay infección, límpiala antes de seguir tocando el archivo.
Cómo evitar que vuelva a pasar
Refresca los enlaces permanentes después de cada migración
Cada vez que muevas WordPress, cambies el dominio o modifiques la estructura de URLs, entra en Ajustes → Enlaces permanentes y pulsa «Guardar cambios».
Limita los plugins que escriben en el .htaccess
Si tienes seguridad + caché + SEO escribiendo a la vez, los
conflictos son inevitables. Reduce al mínimo el número de
herramientas que tocan el .htaccess.
Hosting especializado en WordPress
Los hostings baratos suelen limitar mod_rewrite o
tener configuraciones por defecto problemáticas. Un hosting
especializado evita muchos de estos fallos.
Backups completos antes de tocar el .htaccess
Antes de modificar el .htaccess o cambiar la
configuración del servidor, asegúrate de tener una copia
actualizada. Si algo sale mal, restauras en minutos.
Aquí tienes los errores HTTP más comunes y cómo solucionarlos, por si quieres complementar esta guía. Y si tu WordPress tiene otros problemas técnicos, revisa también el error de conexión con la base de datos o el error «No se puede escribir en el disco».
Consejo SEO: si el error ha durado varios días, después de arreglarlo vuelve a enviar las URLs más importantes desde Google Search Console. Aceleras la reindexación y reduces el impacto en posiciones.
Preguntas frecuentes
¿Por qué aparece el error 404 en todas las páginas pero no en la portada?
Porque la portada carga directamente index.php,
mientras que el resto de URLs (entradas, páginas, categorías)
dependen del archivo .htaccess para redirigir la
petición a WordPress. Si el .htaccess falta, está
corrupto o ha perdido las reglas de reescritura, el servidor
responde 404 en todas las URLs menos la raíz del dominio.
¿Cómo se soluciona el error 404 en todas las páginas de WordPress?
El primer paso es ir a Ajustes → Enlaces permanentes
y pulsar «Guardar cambios» sin modificar nada. Esto regenera las
reglas del .htaccess y resuelve más de la mitad de los
casos. Si no funciona, hay que revisar o recrear el
.htaccess con las reglas por defecto de WordPress,
comprobar sus permisos (644), descartar conflictos de plugins y, en
último caso, verificar la configuración del servidor
(mod_rewrite en Apache o try_files en
Nginx).
¿Pierdo el contenido de mi web cuando aparece este error?
No. Las entradas, páginas, usuarios y ajustes siguen guardados en
la base de datos. El error 404 solo afecta al enrutamiento de
URLs, no a los datos. En cuanto se corrigen las reglas de
reescritura del .htaccess, todo el contenido vuelve a
estar accesible con normalidad.
¿Qué permisos debe tener el archivo .htaccess?
Lo habitual es 644 (lectura y escritura para el propietario, solo lectura para el resto). Algunos hostings recomiendan 444 para impedir que los plugins lo modifiquen. WordPress necesita poder escribir en él para actualizarlo automáticamente al guardar los enlaces permanentes.
¿Cómo sé si el problema es del .htaccess o de un plugin?
Empieza por Ajustes → Enlaces permanentes → Guardar
cambios. Si el problema se resuelve al instante, es un
problema del .htaccess. Si vuelve a aparecer a los
pocos días, hay un plugin que está sobrescribiendo el archivo. En
ese caso, desactiva todos los plugins y reactívalos uno a uno
para identificar el responsable.
¿Este error afecta al SEO de mi web?
Sí, y mucho. Si Google recibe 404 en todas tus entradas y páginas, irá eliminándolas progresivamente del índice. Tener la portada bien no compensa: una sola URL no puede sostener el SEO de todo un sitio. Cuanto antes lo soluciones, mejor. Si el error ha durado varios días, conviene volver a enviar las URLs clave desde Google Search Console para acelerar la reindexación.
¿Tu WordPress da errores técnicos?
Reviso tu instalación, detecto problemas de enrutamiento, permisos y configuración, y te dejo la web estable y lista para posicionar.