Cómo resolver el error 404 en WordPress tras cambiar la estructura de enlaces
¿Por qué aparece el error 404 en WordPress tras cambiar la estructura de enlaces?
Cambiar la estructura de enlaces permanentes (también conocidos como "permalinks") es una de las tareas más comunes para mejorar el SEO de tu sitio. Sin embargo, es muy frecuente que, justo después de hacerlo, todas tus páginas empiecen a mostrar el temido error 404.
Este error significa que tu servidor no encuentra el archivo o la URL que estás solicitando. Pero no te preocupes: en la gran mayoría de los casos, no es que hayas perdido tu contenido, sino que WordPress necesita un pequeño empujón para actualizar las reglas de redirección.
En esta guía, paso a paso y sin necesidad de ser un experto, te voy a enseñar a resolver este problema. Vamos a ver desde los métodos más simples (que resuelven el 90% de los casos) hasta soluciones más avanzadas que implican tocar archivos de configuración como el .htaccess.
[INFO] Este artículo está pensado para usuarios de hosting compartido o VPS que gestionan su propio WordPress, ya sea con cPanel o con Syspanel (el panel de control de HestiaCP, al que se accede a través del puerto 2106). Los conceptos son universales, pero los ejemplos de rutas se basan en estos entornos.
Solución rápida: El "Guardado mágico" de los enlaces permanentes
Antes de tocar nada técnico, prueba este truco que arregla el 404 en WordPress en un 80% de las ocasiones. Es tan sencillo que parece magia, pero es el primer paso del protocolo de arreglo.
- Accede a tu Panel de administración de WordPress (normalmente en
tudominio.com/wp-admin). - En el menú lateral izquierdo, busca el apartado Ajustes.
- Haz clic en Enlaces permanentes.
- Verás las opciones de estructura (Simple, Día y nombre, Mes y nombre, etc.). No cambies nada.
- Simplemente, haz clic en el botón azul de Guardar cambios en la parte inferior de la página.
Al hacer esto, WordPress "reescribe" las reglas de enrutamiento en su base de datos y en el archivo .htaccess (si tiene permisos para ello).
Después de guardar, ve a tu sitio web y prueba a navegar a una página que antes te daba error. Si ya funciona, ¡enhorabuena! El problema era que las reglas no se habían actualizado correctamente.
[TIP] Realiza este "guardado mágico" siempre que cambies la estructura de enlaces, aunque no veas errores. Sirve como prevención para futuros problemas de redireccionamiento.
Solución intermedia: Actualizar el archivo .htaccess manualmente
Si el método anterior no ha funcionado, el siguiente paso es verificar que el archivo .htaccess de tu WordPress existe y contiene las reglas correctas. Este archivo es el que le dice al servidor Apache cómo manejar las URLs limpias de WordPress.
¿Cómo acceder al archivo .htaccess?
Dependiendo de tu panel de control, el acceso varía ligeramente:
-
Si usas cPanel: Busca la herramienta Administrador de archivos (File Manager). Entra en la carpeta
public_html(o la carpeta raíz donde está instalado tu WordPress). Activa la opción de "Mostrar archivos ocultos" (suele ser un botón en la parte superior derecha). Ahí verás el archivo.htaccess. -
Si usas Syspanel (el panel de HestiaCP, recuerda que se accede por el puerto 2106): Ve a la sección de Archivos o Administrador de archivos. Navega hasta la carpeta
public_htmlde tu dominio. Al igual que en cPanel, deberás activar la vista de archivos ocultos para ver el.htaccess.
El proceso de edición
Una vez que lo tengas localizado, debes asegurarte de que contiene el bloque estándar de WordPress. Cópialo y pégalo, reemplazando todo el contenido del archivo:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
[WARNING] Antes de editar, descarga una copia de seguridad del archivo original a tu ordenador. Si algo sale mal, puedes restaurarlo fácilmente.
- Abre el
.htaccessen el editor de texto del panel (suele tener un botón llamado "Editar" o "Code Editor"). - Selecciona todo el contenido anterior y pégalo encima.
- Guarda los cambios.
- Vuelve a tu WordPress y haz el "guardado mágico" de los enlaces permanentes (Ajustes > Enlaces permanentes > Guardar cambios).
Este proceso a menudo resuelve el error 404 en WordPress tras cambios de estructura, porque le da al servidor las instrucciones exactas de cómo manejar las peticiones.
Solución avanzada: Modificar la configuración de PHP y el servidor
Si tras los dos pasos anteriores sigues viendo el error, el problema puede deberse a que tu servidor no tiene activo el módulo mod_rewrite de Apache, o que tu WordPress no tiene permisos para escribir en el .htaccess.
Verificar mod_rewrite
- En cPanel: Busca la sección "Select PHP Version" o "MultiPHP Manager". Aunque no lo creas, a veces cambiar la versión de PHP puede forzar la reescritura de las configuraciones. También puedes mirar en "Apache Handlers" o en la configuración avanzada si tienes acceso.
- En Syspanel: Ve a la configuración del servidor web (Apache o Nginx). Syspanel suele gestionar Nginx como proxy, pero para WordPress lo normal es usar Apache. Asegúrate de que el módulo
rewriteestá habilitado. Si no sabes cómo verlo, contacta con tu proveedor de hosting, pero es poco común que esté desactivado.
Aumentar la memoria PHP (caso especial)
A veces, un error 404 no es un problema de reescritura, sino de que WordPress se queda sin memoria al intentar procesar las reglas. Esto es más raro, pero ocurre en sitios con muchos plugins.
Puedes intentar aumentar el límite de memoria editando el archivo wp-config.php que está en la raíz de tu WordPress.
- Ve a la raíz de tu WordPress (donde está el
.htaccess). - Busca el archivo
wp-config.php. - Ábrelo y, justo antes de la línea que dice
/* ¡Eso es todo, deja de editar! */, añade esta línea:
define('WP_MEMORY_LIMIT', '256M');
Guarda el archivo y recarga tu sitio.
[INFO] Si después de esto el problema persiste, te recomiendo desactivar todos los plugins. Ve a Plugins > Plugins instalados y desactívalos todos. Si el error desaparece, reactívalos uno a uno para encontrar al culpable. A veces, un plugin de caché o de seguridad guarda reglas antiguas que entran en conflicto con la nueva estructura de enlaces.
Solución para Syspanel (HestiaCP): El caso de Nginx
Aquí viene un punto muy importante para los usuarios de Syspanel. Este panel (accesible en el puerto 2106) utiliza una configuración híbrida. Aunque uses Apache, tiene un proxy inverso Nginx delante.
Cuando cambias la estructura de enlaces en WordPress, a veces Nginx no se entera y sigue sirviendo las URLs antiguas, provocando el error 404.
Para arreglarlo en Syspanel, debes limpiar la caché de Nginx.
- Accede a tu Syspanel (recuerda, puerto 2106).
- Busca la sección de "Web" o "Proxy Server".
- Localiza tu dominio y haz clic en el botón de "Limpiar caché" (suele ser un icono de escoba o una flecha circular).
- Una vez limpiado, fuerza la recarga de la configuración. En Syspanel, esto se hace a menudo con el botón "Rebuild" o "Reconstruir" en la esquina superior derecha. Esto regenera la configuración de Nginx para que coincida con la nueva estructura de enlaces de WordPress.
[WARNING] El botón "Rebuild" de Syspanel regenera todos los archivos de configuración. No borra tu sitio web, solo reconstruye los archivos de servicio. Es un proceso seguro y estándar para aplicar cambios.
Tabla de verificación rápida (Checklist)
Para que no te pierdas, aquí tienes un resumen de los pasos a seguir en orden:
- Guardar cambios en Ajustes > Enlaces permanentes (el truco mágico).
- Verificar el archivo
.htaccessy reemplazar su contenido por el código estándar de WordPress. - Limpiar la caché del servidor (especialmente si usas Syspanel, donde debes limpiar la caché de Nginx y hacer "Rebuild").
- Desactivar plugins de caché o seguridad temporalmente para descartar conflictos.
- Aumentar la memoria PHP en
wp-config.phpsi todo lo demás falla.
Preguntas frecuentes (FAQ) sobre el error 404 en WordPress
¿Por qué me da error 404 solo en algunas páginas y no en todas?
Esto suele pasar cuando tienes una mezcla de páginas con URLs antiguas en tu menú o en el contenido. Aunque hayas cambiado la estructura, los enlaces internos que apuntan a las URLs viejas no se actualizan solos. Te recomiendo instalar un plugin de redireccionamiento (como "Redirection") para mapear las URLs antiguas a las nuevas.
¿Perderé mi posicionamiento SEO si cambio la estructura de enlaces?
Si lo haces sin configurar redirecciones 301, sí. Pero si sigues esta guía y te aseguras de que el error 404 se resuelve, no perderás posicionamiento. De hecho, una estructura de enlaces más limpia (como /%postname%/) suele mejorar el SEO a largo plazo.
He seguido todos los pasos y sigo con el error 404. ¿Qué hago?
Si has llegado hasta aquí y nada funciona, es probable que el problema sea de permisos en el servidor. Asegúrate de que el archivo .htaccess tiene permisos de lectura y escritura (644 o 664). Si no puedes cambiarlo, contacta con tu proveedor de hosting. En el caso de Syspanel, verifica que tu usuario tiene permisos completos sobre la carpeta public_html.
¿Qué es el archivo .htaccess y por qué es tan importante?
Es un archivo de configuración del servidor Apache que permite sobreescribir ciertas directivas. Es el cerebro detrás de las URLs bonitas de WordPress (como tudominio.com/mi-articulo). Sin él, WordPress solo mostraría URLs con parámetros feos como ?p=123.
Conclusión final
El error 404 en WordPress tras cambiar la estructura de enlaces es un problema frustrante, pero tiene solución en el 99% de los casos siguiendo los pasos de esta guía.
Recuerda que la clave está en la paciencia y en seguir el orden establecido: primero el guardado mágico, luego el .htaccess, después la caché del servidor (especialmente en Syspanel) y, por último, la revisión de plugins.
No te saltes el paso de hacer copias de seguridad antes de editar archivos. Y si en algún momento te sientes perdido, no dudes en consultar la documentación de tu panel de control (cPanel o Syspanel) o contactar con el soporte de tu hosting.
Con un poco de práctica, verás que arreglar este tipo de errores se convierte en algo rutinario y rápido. Tu sitio web volverá a estar operativo y tus visitantes (y Google) te lo agradecerán.
