Errores en WordPress tras una migración

Las migraciones, a simple vista, parecen una tarea sencilla.

  • Migramos archivos y base de datos, manualmente o mediante un plugin.
  • Probamos el nuevo sitio, la página de inicio carga correctamente.

Todo parece funcionar bien y damos por finalizada la migración.
Y ahí está el problema: que a simple vista no haya problemas.

Si no revisamos la migración a fondo, es probable que pronto nos encontremos con:

  • links o recursos rotos
  • formularios que no envían
  • comportamientos extraños que antes no estaban

Vamos a desglosar los errores habituales que se presentan, de manera silenciosa, luego de hacer una migración.


Error 404 en todos los links excepto la página de inicio

Es uno de los más comunes y también de los más simples.

Después de una migración:

  • el sitio carga
  • la página de inicio funciona

Pero todas las URLs internas empiezan a devolver error 404.

La manera rápida de resolver esto es:

  • entrar a Ajustes → Enlaces permanentes
  • guardar (sin cambiar nada)

WordPress reescribe reglas internas que, tras la migración, quedaron desalineadas.


Links y recursos con URL del sitio anterior

En migraciones de dominio, servidor o de entorno (local → producción), es común olvidar actualizar la URL base del sitio en la base de datos, guardada principalmente en siteurl y home dentro de la tabla wp_options, haciendo que siga apuntando a la ruta anterior.

Incluso puede ocurrir que, a pesar de esto, el sitio se vea y navegue correctamente.

El problema de fondo es que el sitio sigue llamando recursos desde la ruta previa a la migración (localhost o el dominio o servidor anterior). Por eso no lo vemos roto. Pero ni bien se elimina la versión vieja del sitio, en el nuevo dominio comienzan a aparecer errores 404 en enlaces y recursos.

Peor aún: si la migración fue desde localhost, seguiremos viendo el sitio bien porque está en nuestra computadora local, pero para cualquier otro visitante la web estará rota por completo.

La solución es buscar en la base de datos (con plugins como Better Search Replace) la URL vieja completa —que en migraciones desde local suele incluir http y no https— y reemplazarla por la nueva.

Es importante hacer lo mismo en archivos CSS, JS y PHP del tema. Es habitual usar rutas absolutas en el código y luego olvidar actualizarlas.

Por último, limpiar la caché de WordPress.


reCAPTCHA / Turnstile rotos por cambio de dominio

Los sistemas anti-bot suelen estar atados al dominio.

Después de una migración, es frecuente que los formularios del sitio (contacto, login, registro, recuperación de contraseña, etc.) dejen de funcionar correctamente.

No es un problema del plugin ni del formulario: el servicio externo sigue esperando el dominio anterior.

Esto aplica a:

  • reCAPTCHA
  • Cloudflare Turnstile
  • otros sistemas de verificación

La solución consiste en ingresar a las plataformas de estos servicios (Google reCAPTCHA, Cloudflare Turnstile, etc.), acceder a la configuración del sitio y actualizar el dominio.

Luego, limpiar la caché en WordPress y en el servidor.


Caché heredado del entorno anterior

Después de migrar, es habitual que queden activos:

  • plugins de caché con paths antiguos
  • configuraciones pensadas para otro servidor
  • reglas que ya no aplican

Esto genera:

  • contenido desactualizado
  • cambios que no se reflejan
  • comportamiento errático según usuario o navegador

La solución es purgar completamente la caché desde WordPress utilizando el plugin correspondiente (WP Rocket, LiteSpeed Cache, etc.).


Si estás migrando un sitio o querés revisar uno ya migrado, podés usar esta checklist de migración de WordPress para no dejar puntos críticos sin revisar.

Si esta nota te sirvió,  te agradecería que la compartas. Si no encontrarás la solución al problema de tu web y necesitas un diagnóstico,  podes contactarte conmigo haciendo click aquí.