Migrar WordPress a otro hosting sin perder datos
Web Hosting
4

Planifica antes de migrar

Una migración de WordPress consiste en mover dos cosas: los archivos del sitio y la base de datos. Si copias solo una de ellas terminarás con un sitio roto. Antes de empezar, haz una copia de seguridad completa y bloquea la publicación de contenido nuevo para evitar perder posts creados durante el proceso.

Método 1: plugins de migración

Si no tienes experiencia técnica, plugins como Duplicator, All-in-One WP Migration o Migrate Guru empaquetan archivos y base de datos en un solo archivo. En el hosting de destino instalas WordPress limpio, subes el paquete y el plugin se encarga del resto. Son ideales para sitios pequeños; con sitios muy grandes algunos plugins exigen versión de pago o chocan con el límite de memoria de PHP.

Método 2: migración manual

Es el método más confiable para sitios grandes o cuando algo falla con los plugins. Los pasos son:

  1. Descargar los archivos: vía FTP/SFTP baja toda la carpeta del sitio, incluyendo wp-content, wp-config.php, .htaccess y demás.
  2. Exportar la base de datos: entra a phpMyAdmin en el hosting actual, selecciona la base y exporta en formato SQL.
  3. Subir los archivos al nuevo hosting: sube todo a la carpeta pública (public_html o equivalente) del nuevo servidor.
  4. Importar la base de datos: crea una base nueva en el destino y carga el SQL desde phpMyAdmin.
  5. Editar wp-config.php: actualiza DB_NAME, DB_USER, DB_PASSWORD y DB_HOST con los datos del nuevo servidor.

Cambiar el site_url en la base de datos

Si además cambias de dominio, debes actualizar las URLs guardadas en la base de datos. Lo más rápido es desde phpMyAdmin ejecutar:

UPDATE wp_options SET option_value = 'https://nuevodominio.com'
  WHERE option_name IN ('siteurl', 'home');

Pero eso no cambia URLs dentro del contenido, widgets ni serializaciones. Para eso necesitas un search-replace real.

Search-replace seguro con WP-CLI

WP-CLI maneja correctamente los datos serializados que WordPress usa en metadatos y options:

wp search-replace 'https://viejodominio.com' 'https://nuevodominio.com' --all-tables --dry-run
wp search-replace 'https://viejodominio.com' 'https://nuevodominio.com' --all-tables

Ejecuta primero el --dry-run para ver cuántas coincidencias cambiarían antes de aplicar. Si no tienes WP-CLI, el plugin Better Search Replace hace algo equivalente desde el navegador.

Verifica permalinks y enlaces rotos

Entra a Ajustes → Enlaces permanentes y pulsa Guardar sin cambiar nada: eso regenera el .htaccess. Navega por el sitio en una ventana privada, revisa imágenes, formularios, login del admin y caché de plugins. Apunta los DNS al nuevo servidor solo cuando hayas confirmado que todo funciona en el destino.