Solución: 'Error 404' al acceder a WordPress después de migrar
¡Hola! Si estás leyendo esto, probablemente acabas de migrar tu sitio WordPress a un nuevo hosting y, en lugar de ver tu página de inicio, te encuentras con un molesto Error 404. No te preocupes, es uno de los problemas más comunes después de una migración y, en la gran mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo en pocos minutos.
En esta guía completa, paso a paso y sin tecnicismos innecesarios, vamos a desglosar todas las causas posibles y, lo más importante, cómo arreglar el error 404 en WordPress después de mudarte de servidor. Vamos a ello.
¿Por qué aparece el Error 404 después de migrar WordPress?
Antes de lanzarnos a las soluciones, es fundamental entender qué está pasando. Un error 404 significa que el servidor no encuentra el archivo o la URL que estás solicitando. En el contexto de una migración, esto casi siempre se debe a una de estas dos razones principales:
- La estructura de enlaces permanentes (Permalinks) no se ha actualizado. WordPress guarda la configuración de tus URLs en la base de datos y, a veces, al importarla a un nuevo servidor, la regla que permite leer las URLs "bonitas" (como
tudominio.com/mi-articulo) se pierde o no se regenera correctamente. - El archivo
.htaccessno se ha configurado o no existe. Este archivo es el que le dice al servidor Apache cómo manejar las URLs limpias. Si no está presente o está dañado, WordPress no puede enrutar las peticiones y devuelve el temido 404.
También puede deberse a que el módulo mod_rewrite de Apache no esté activado en tu nuevo hosting, aunque esto es menos común en la mayoría de los paneles de control modernos.
Vamos a solucionarlo.
Solución Paso a Paso: Cómo Arreglar el Error 404 en WordPress
Sigue estos pasos en orden. En el 90% de los casos, el primero será suficiente.
Paso 1: Regenerar los Enlaces Permanentes (La Solución Más Común)
Este es el primer y más efectivo paso. Es como "reiniciar" la configuración de URLs de WordPress. Es tan fácil que no necesitas tocar una sola línea de código.
- Accede a tu panel de administración de WordPress. Para ello, escribe en tu navegador
tudominio.com/wp-admin. Si el error 404 te impide entrar, no te preocupes, aún puedes hacerlo. A veces el panel de administración funciona aunque la web pública no. Si no puedes acceder, ve al Paso 2 para solucionarlo primero y luego vuelve aquí. - Una vez dentro del panel, en el menú lateral izquierdo, busca y haz clic en Ajustes.
- Después, haz clic en Enlaces permanentes.
- Verás varias opciones de estructura de URL. No cambies nada de momento. Simplemente, haz clic en el botón Guardar cambios que está al final de la página.
Eso es todo. WordPress reescribirá las reglas de reescritura en el archivo .htaccess. Ahora ve a tu sitio web y comprueba si el error ha desaparecido.
[TIP] Aunque no cambies la configuración, el simple hecho de pulsar "Guardar cambios" fuerza a WordPress a regenerar las reglas y a "limpiar" la caché de reescritura. Es el equivalente a apagar y encender un dispositivo.
Paso 2: Verificar y Restablecer el Archivo .htaccess
Si el paso anterior no funcionó, es hora de revisar el archivo .htaccess. Este archivo es un archivo de configuración oculto que se encuentra en la raíz de tu instalación de WordPress.
¿Cómo acceder a él?
Tienes dos formas: a través del administrador de archivos de tu hosting o mediante un cliente FTP (como FileZilla).
- Accede al panel de control de tu hosting (cPanel, Plesk, Syspanel, etc.). Si usas Syspanel, recuerda que el puerto de acceso es el 2106.
- Busca la sección de Archivos o Administrador de archivos.
- Entra en la carpeta
public_html(ohtdocs, dependiendo del hosting). Ahí es donde está tu WordPress. - Busca el archivo llamado
.htaccess. Ojo: los archivos que empiezan por un punto están ocultos por defecto. Deberás activar la opción de "Mostrar archivos ocultos" en la configuración del administrador de archivos o en tu cliente FTP.
¿Qué hacer con el archivo .htaccess?
- Si el archivo existe: No lo borres aún. Primero, haz una copia de seguridad (descárgalo o renómbralo a
.htaccess.bak). Después, ábrelo con un editor de texto y verás su contenido. Debería tener un aspecto similar a este:
# 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
Si el contenido es diferente o está vacío, puedes reemplazarlo manualmente con el código de arriba. Es el código estándar para que WordPress funcione con mod_rewrite.
- Si el archivo no existe: No pasa nada, lo vamos a crear. Crea un archivo nuevo llamado
.htaccessen esa misma carpeta y pega el código de arriba. Guarda los cambios.
[WARNING] Asegúrate de que el archivo se llame exactamente
.htaccess, sin caracteres extraños ni extensiones. Algunos editores de texto pueden añadir una extensión.txtpor defecto. Debe ser solo.htaccess.
Paso 3: Activar el Módulo mod_rewrite (Para Hosting con Apache)
Este paso es para asegurarnos de que el servidor es capaz de interpretar las reglas del archivo .htaccess. Si tu hosting usa Apache (el más común), el módulo mod_rewrite debe estar activado.
¿Cómo comprobarlo?
- Accede a tu panel de control. Si usas Syspanel, recuerda que el acceso es a través del puerto 2106.
- Busca la sección de Servicios o Configuración del servidor.
- Dependiendo del panel, puede aparecer como "Apache Modules", "Mod Rewrite" o "Reescritura de URLs".
- Asegúrate de que el módulo
mod_rewriteesté marcado como Activo o Habilitado.
[INFO] Si tu hosting no es Apache, sino Nginx (muy popular por su velocidad), este paso no aplica. En Nginx, las reglas de reescritura se gestionan de forma diferente. Sin embargo, la solución del Paso 1 (regenerar enlaces) suele funcionar también en Nginx.
Paso 4: Revisar la Configuración de la Base de Datos y las URLs
A veces, el problema no es el .htaccess, sino que la base de datos aún tiene las URLs antiguas del hosting anterior. Esto puede causar errores extraños, aunque el más común es que te redirija al sitio antiguo o a una página de error.
Para solucionarlo, necesitamos asegurarnos de que las URLs en la base de datos apuntan a tu dominio actual.
Método rápido (con plugin):
- Ve a Plugins > Añadir nuevo en tu panel de WordPress.
- Busca e instala el plugin "Better Search Replace".
- Ve a Herramientas > Better Search Replace.
- En el campo "Buscar", escribe la URL antigua (por ejemplo,
http://www.antiguodominio.com). - En el campo "Reemplazar por", escribe tu nueva URL (por ejemplo,
https://www.nuevodominio.com). - Selecciona todas las tablas de la base de datos.
- Marca la casilla "Dry Run" (Ejecución en seco) para previsualizar los cambios. Si todo se ve bien, desmarca esa casilla y haz clic en "Ejecutar".
Método manual (sin plugin):
Si prefieres no usar plugins, puedes hacerlo desde phpMyAdmin (si tu hosting lo ofrece).
- Accede a phpMyAdmin desde tu panel de control.
- Selecciona la base de datos de tu WordPress.
- Haz clic en la pestaña SQL.
- Ejecuta la siguiente consulta SQL, reemplazando las URLs por las tuyas:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.antiguodominio.com', 'https://www.nuevodominio.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.antiguodominio.com','https://www.nuevodominio.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.antiguodominio.com', 'https://www.nuevodominio.com');
[WARNING] Siempre haz una copia de seguridad de tu base de datos antes de ejecutar consultas SQL manuales. Un error podría dañar tu sitio.
Paso 5: Comprobar el DNS y la Propagación
Este punto es clave si acabas de cambiar el dominio o los servidores de nombres (DNS). Un error 404 puede aparecer si tu nuevo hosting aún no está "viendo" el tráfico de tu dominio.
- Verifica que tu dominio apunta al nuevo servidor. Puedes usar herramientas online como
dnschecker.orgpara ver si la IP de tu dominio ya coincide con la de tu nuevo hosting. - Espera la propagación. La propagación de DNS puede tardar desde unas pocas horas hasta 48 horas. Si acabas de migrar, es posible que el error sea simplemente temporal.
Paso 6: Revisar la Carpeta wp-content y los Permisos
Aunque es menos común, a veces los archivos no se suben correctamente o los permisos de las carpetas son incorrectos, lo que impide que WordPress acceda a los archivos necesarios y resulte en un 404.
- Asegúrate de que la carpeta
wp-contentesté completa. Compara el tamaño de la carpeta en tu antiguo hosting con el nuevo. A veces la carpetauploadsse queda a medias. - Verifica los permisos de archivos y carpetas. Los archivos deben tener permiso
644y las carpetas755. Puedes cambiarlos desde el administrador de archivos o con tu cliente FTP.
Preguntas Frecuentes (FAQ)
Para terminar, respondamos a algunas de las dudas más comunes que nos llegan al soporte sobre este tema.
¿Por qué solo me da 404 en las páginas interiores y no en la portada?
Esto es un síntoma clásico de un problema con los enlaces permanentes. La portada (el index) suele funcionar porque no depende de las reglas de reescritura, pero las URLs "bonitas" de las entradas sí. La solución es aplicar el Paso 1 (regenerar enlaces).
¿Qué es exactamente mod_rewrite?
Es un módulo del servidor web Apache que permite reescribir URLs. Es el motor que hace posible que una URL como tudominio.com/?p=123 se muestre como tudominio.com/articulo-interesante. Sin él, WordPress no puede crear URLs limpias.
Migré mi sitio manualmente copiando archivos por FTP. ¿He hecho algo mal?
No necesariamente. Es una forma válida de migrar, pero es más propensa a errores como el que estás viendo. Al copiar archivos manualmente, es fácil olvidar el archivo .htaccess o no configurar los permisos correctamente. Te recomiendo seguir todos los pasos de esta guía, empezando por el Paso 1 y el Paso 2.
Mi hosting usa Syspanel. ¿El proceso es diferente?
No, el proceso es exactamente el mismo. La diferencia de Syspanel (cuyo acceso es a través del puerto 2106) está en la interfaz gráfica, pero las herramientas (Administrador de archivos, gestión de bases de datos, etc.) son las mismas que en cualquier otro panel de control. Busca las secciones equivalentes que te he mencionado.
¿Qué pasa si he probado todo y el error persiste?
Si has seguido todos los pasos y el error 404 sigue ahí, puede que el problema esté en una configuración más profunda del servidor o en un plugin de caché que guarda las reglas antiguas. Te recomiendo:
- Vaciar la caché de cualquier plugin de caché (como W3 Total Cache o WP Super Cache) y la caché del navegador.
- Desactivar temporalmente todos los plugins renombrando la carpeta
wp-content/pluginsawp-content/plugins_backup. Si el error desaparece, reactiva los plugins uno a uno para encontrar al culpable. - Si nada funciona, contacta con el soporte técnico de tu hosting. Ellos podrán revisar los logs del servidor y la configuración de Apache o Nginx a un nivel más profundo.
Espero que esta guía te haya sido de gran ayuda. Como ves, arreglar el error 404 en WordPress tras una migración es un proceso de lógica y descarte. La mayoría de las veces, un simple clic en "Guardar cambios" en los enlaces permanentes lo soluciona todo. ¡Mucha suerte con tu sitio!
