SEO Técnico · WordPress

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

Error 404 Not Found en todas las entradas y páginas de WordPress pero no en la portada: archivo .htaccess y reglas de reescritura

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:

01

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.

02

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.

03

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.

04

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.

05

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_rewrite está activo y AllowOverride está en All.
  • Nginx: revisar que la directiva try_files redirija a index.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

01

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».

02

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.

03

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.

04

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.

Alex Figueiras, consultor SEO freelance en Valencia

Escrito por

Alex Figueiras

Consultor SEO freelance en Valencia · WordPress + Elementor + Rank Math

Ayudo a negocios locales y pymes a posicionar en Google con auditorías técnicas, SEO on-page y contenido que convierte. Más de 40 proyectos auditados y casos medidos en sectores como reformas, formación y ecommerce.

¿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.