Error 404 después de migrar WordPress: causas y cómo arreglarlo

Error 404 después de migrar WordPress: causas y cómo arreglarlo

Mudaste tu WordPress a otro hosting o a otro dominio, la portada carga bien… pero al entrar a cualquier página, entrada o producto aparece «Error 404: página no encontrada». O cargan las páginas, pero faltan las imágenes. El error 404 después de migrar WordPress tiene una buena noticia: muchas veces el contenido llegó completo, y lo compruebas viendo tus páginas en el panel. Lo que falla es cómo el servidor nuevo encuentra cada página, o que la web sigue apuntando a direcciones viejas. En esta guía te explico cómo encontrar la causa y arreglarlo paso a paso.

Por qué aparece el error 404 después de migrar WordPress

  • Falta el archivo .htaccess o no tiene las reglas de WordPress. Es un archivo oculto, y algunos programas de FTP o copias manuales no lo copian. Sin él, en servidores Apache o LiteSpeed solo funcionan la portada y el panel.
  • Las direcciones guardadas en la base de datos siguen siendo las viejas. Si cambiaste de dominio o pasaste de http a https, los enlaces internos y las imágenes pueden seguir apuntando a la dirección anterior.
  • No se copió todo wp-content/uploads. Si las páginas cargan pero las imágenes dan 404, suele indicar que faltan archivos de esa carpeta (el paso 5 explica cómo comprobarlo).
  • Cambió la estructura de las direcciones. Si en la web nueva las entradas tienen otra forma de dirección (por ejemplo, antes llevaban la fecha y ahora no), los enlaces viejos que Google y otras webs tienen guardados ya no existen.
  • El servidor nuevo usa Nginx. Nginx no lee .htaccess: las reglas para las direcciones amigables van en la configuración del servidor, y eso lo hace el hosting.

Antes de tocar nada

  • Mira qué da 404: ¿todas las páginas menos la portada?, ¿solo las imágenes?, ¿solo direcciones antiguas que alguien guardó? Cada caso tiene un paso distinto abajo.
  • Haz una copia de la base de datos antes de cambiar direcciones en ella.
  • Si la migración la hizo tu hosting o un plugin, pregúntales si copiaron el archivo .htaccess y toda la carpeta wp-content.

Cómo arreglarlo, paso a paso

1. Guarda de nuevo los enlaces permanentes

Es lo primero y lo más sencillo. En tu panel, ve a Ajustes → Enlaces permanentes y, sin cambiar nada, haz clic en Guardar cambios. WordPress vuelve a generar sus reglas y, si puede escribir en el archivo, crea o actualiza el .htaccess. Prueba otra vez una página que daba 404.

2. Si sigue igual, revisa el .htaccess a mano

Entra al administrador de archivos del hosting, activa la opción de ver archivos ocultos y busca .htaccess en la carpeta raíz de tu web. Si no existe, créalo. Si existe, comprueba que tenga el bloque de WordPress. El bloque estándar, según la documentación oficial, es este:

# 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

Si tu WordPress está en una subcarpeta (por ejemplo, tudominio.com/blog), cambia RewriteBase / por RewriteBase /blog/ y la última línea por RewriteRule . /blog/index.php [L]. No borres otras reglas que ya estén en el archivo: en cPanel puede haber un bloque que fija la versión de PHP (empieza con # php -- BEGIN cPanel-generated handler) y puede haber redirecciones que necesitas.

3. Si el hosting usa Nginx, pídeselo al soporte

Si en tu web no hay .htaccess que valga, porque el servidor es Nginx, escríbele al soporte: «mi WordPress da 404 en todas las páginas menos la portada; necesito las reglas de enlaces permanentes de WordPress en la configuración de Nginx». Es una configuración que la documentación de WordPress describe para Nginx.

4. Cambia las direcciones viejas por las nuevas

Antes de este paso, haz una copia de la base de datos: un reemplazo mal escrito afecta a todo el sitio. Si cambiaste de dominio o de http a https, revisa primero Ajustes → Generales: Dirección de WordPress (URL) y Dirección del sitio (URL) deben tener la dirección nueva. Después hay que cambiar la dirección vieja en todo el contenido. No lo hagas con un «buscar y reemplazar» directo en phpMyAdmin: WordPress guarda algunos datos en un formato especial (serializado) que se rompe si cambia el largo del texto. Usa una herramienta que lo respete:

  • Con WP-CLI, primero en modo de prueba, que solo cuenta los cambios sin hacerlos: wp search-replace 'https://viejo.com' 'https://nuevo.com' --skip-columns=guid --dry-run. Si los números tienen sentido, repite el comando sin --dry-run. El --skip-columns=guid deja intacto el identificador interno de cada entrada, que la guía oficial de WordPress pide no cambiar.
  • Sin terminal, con un plugin de búsqueda y reemplazo que respete los datos serializados, como Better Search Replace, también probando primero en modo de prueba.

5. Si faltan imágenes, completa la carpeta uploads

Si las páginas cargan pero las imágenes dan 404, abre una imagen rota en una pestaña nueva y mira su dirección: si apunta al dominio nuevo, falta el archivo en wp-content/uploads y hay que volver a copiarlo desde el hosting anterior o desde la copia de seguridad. Si apunta al dominio viejo, es el paso 4.

6. Si cambiaste la forma de las direcciones, crea redirecciones

Si tus páginas ahora tienen otra dirección, las viejas seguirán dando 404 a quien llegue desde Google, desde otras webs o desde enlaces guardados. Crea una redirección 301 de cada dirección vieja a la nueva, con un plugin como Redirection o con reglas en el .htaccess. La 301 le dice a Google que la página se mudó de forma permanente y le da la dirección nueva. Puede haber altibajos temporales en las posiciones, y conservas esas páginas en el índice. En Google Search Console, el informe Páginas te muestra las direcciones que Google ve con error 404.

Cómo evitar que vuelva a pasar

  • Usa una herramienta de migración o la migración de tu hosting, que copian archivos ocultos y base de datos de una vez.
  • Mantén la misma estructura de direcciones en la web nueva, salvo que tengas una buena razón para cambiarla.
  • Antes de apuntar el dominio al servidor nuevo, prueba la web allí y revisa algunas páginas, imágenes y formularios.
  • Revisa Search Console en los días siguientes para ver si Google encuentra errores 404 nuevos.

Si prefieres que alguien se encargue de la mudanza completa, un servicio de mantenimiento de WordPress o una reparación después de una migración que salió mal lo deja todo funcionando.

Preguntas frecuentes

¿Perdí mi contenido?

Si la portada carga y ves tus páginas en el panel, no: el contenido está. El 404 viene de cómo el servidor busca cada página, no de que falte.

¿Por qué la portada funciona y lo demás no?

Porque la portada no necesita las reglas de enlaces permanentes y el resto sí. Suele ser señal de que falta el .htaccess o no tiene el bloque de WordPress (pasos 1 y 2), o de que el servidor es Nginx (paso 3).

¿Los errores 404 me bajan en Google?

Que existan direcciones que dan 404 no castiga a toda tu web, pero Google retira de sus resultados las páginas que dan 404. Si tenían visitas, conviene redirigirlas a su dirección nueva (paso 6).

¿Y si después de migrar veo otro error?

Si aparece «Error al establecer una conexión con la base de datos», revisa la guía de ese error: tras una mudanza, revisa que wp-config.php tenga los datos del hosting nuevo. Si no puedes entrar al panel, mira qué hacer cuando no puedes entrar a wp-admin.

En resumen

El error 404 después de migrar WordPress en muchos casos se arregla guardando de nuevo los enlaces permanentes y revisando el .htaccess. Si cambiaste de dominio, cambia las direcciones viejas con una herramienta que respete los datos serializados; si faltan imágenes, completa uploads; y si cambió la forma de las direcciones, crea redirecciones 301.

¿Tu migración dejó la web llena de errores y no quieres tocar el servidor? Me encargo de la reparación de tu WordPress, o escríbeme por WhatsApp y cuéntame qué pasó.

Publicaciones Similares