Cómo usar All-in-One WP Migration en WordPress: Guía técnica completa
All-in-One WP Migration es un plugin de WordPress que serializa todo tu sitio — base de datos, archivos multimedia subidos, temas, plugins y configuración principal — en un único archivo portable .wpress, que luego puede importarse en cualquier instalación de WordPress sin ninguna manipulación manual de la base de datos. Es la forma más rápida de realizar una migración completa del sitio o una copia de seguridad en un momento determinado sin necesidad de usar phpMyAdmin, SSH o volcados SQL sin procesar.
Esta guía va más allá del proceso básico paso a paso. Cubre el flujo de trabajo completo de migración, las restricciones técnicas críticas que causan la mayoría de las importaciones fallidas, el ajuste de la configuración de PHP, el comportamiento de serialización de URL y los pasos de validación posteriores a la migración que se omiten habitualmente y que luego causan incidentes en producción.
Qué hace realmente el plugin internamente
Antes de tocar el panel de control, comprender la mecánica interna del plugin evita sorpresas durante migraciones de gran tamaño.
Cuando inicias una exportación, All-in-One WP Migration realiza la siguiente secuencia:
- Vuelca la base de datos MySQL de WordPress en un archivo SQL plano dentro de un directorio de trabajo temporal.
- Serializa todos los datos de objetos PHP en la base de datos (opciones, configuraciones de widgets, metadatos de publicaciones) y reescribe las URL absolutas a un token de marcador de posición para que puedan reescribirse en la importación.
- Empaqueta
wp-content/uploads, los archivos del tema activo y los directorios de plugins junto con el volcado SQL. - Envuelve todo en un archivo
.wpress, que es un formato personalizado — no un ZIP o TAR estándar — con su propio encabezado de manifiesto.
En la importación, el proceso se invierte: el archivo se desempaqueta, el SQL se reproduce contra la nueva base de datos y los tokens de marcador de posición de URL se reemplazan con la nueva URL del sitio. Este paso de reescritura de URL es la razón por la que el plugin gestiona los cambios de dominio sin problemas sin necesitar un paso separado de wp-cli search-replace — aunque deberías verificarlo igualmente, como se explica en la sección posterior a la migración.
Paso 1: Instalar el plugin en el sitio de origen
Inicia sesión en tu panel de control de WordPress existente y navega a Plugins > Añadir nuevo. Busca All-in-One WP Migration, instálalo y actívalo. La versión gratuita es suficiente para sitios que estén por debajo del límite de tamaño de carga de tu servidor (normalmente entre 128 MB y 512 MB según la configuración PHP del host).
No se requiere ninguna configuración después de la activación. El plugin se registra en la barra lateral izquierda de inmediato.
Paso 2: Exportar tu sitio web
Navega a All-in-One WP Migration > Exportar en la barra lateral del panel de control.
Haz clic en Exportar a y selecciona Archivo. El plugin comenzará a empaquetar tu sitio. Para un sitio típico de menos de 500 MB, esto tarda entre 30 segundos y 3 minutos. Para sitios de varios gigabytes con grandes bibliotecas de medios, planifica entre 10 y 20 minutos.
Qué se incluye en la exportación:
- Volcado completo de la base de datos MySQL (todas las tablas con el prefijo configurado)
- Directorio
wp-content/uploads - Temas activos e inactivos en
wp-content/themes - Todos los plugins instalados en
wp-content/plugins
wp-config.php se excluye intencionalmente por razones de seguridad — el propio wp-config.php del sitio de destino se conserva en la importación
Qué se excluye por defecto:
Comentarios spam
Revisiones de publicaciones
Temas no utilizados y plugins desactivados (configurable mediante el interruptor de Opciones avanzadas)
Registros de errores y directorios de caché
La sección de Opciones avanzadas te permite excluir tablas específicas, rutas de archivos o tipos de publicaciones. Úsala para eliminar cachés transitorias o tablas de registros de gran tamaño antes de exportar, lo que reduce significativamente el tamaño del archivo.
Una vez completado el empaquetado, haz clic en Descargar para guardar el archivo .wpress localmente. Guárdalo en un lugar seguro — este archivo es la copia de seguridad completa de tu sitio.
Paso 3: Preparar el entorno de destino
Si estás migrando a un nuevo servidor, necesitas una instalación limpia de WordPress en el destino antes de importar. La mayoría de los entornos de hosting gestionado proporcionan instaladores de WordPress con un solo clic. Si estás trabajando en un entorno de VPS Hosting, puedes instalar WordPress manualmente o usar una pila de panel de control.
La instalación de WordPress de destino no necesita coincidir con la de origen en cuanto a tema, plugins o contenido — la importación sobreescribirá todo. Sin embargo, lo siguiente debe estar en su lugar:
WordPress core está instalado y accesible a través de su panel de administración
El usuario de la base de datos tiene privilegios CREATE, DROP, INSERT, UPDATE, DELETE y ALTER en la base de datos de destino
La versión de PHP es compatible con tus plugins (verifica la versión de PHP de tu sitio de origen en Herramientas > Estado del sitio)
El directorio wp-content tiene permisos de escritura para el proceso del servidor web
Crítico: El dominio o subdominio del sitio de destino no necesita coincidir con el de origen. El plugin reescribe las URL durante la importación. Sin embargo, si estás migrando al mismo dominio exacto (por ejemplo, moviéndote entre servidores), el tiempo de propagación de DNS es importante — no actualices el DNS hasta que la importación esté verificada.
Paso 4: Instalar el plugin en el sitio de destino
Repite el proceso de instalación en la nueva instancia de WordPress: Plugins > Añadir nuevo, busca All-in-One WP Migration, instala y activa.
Este paso se pasa por alto con frecuencia cuando las personas configuran una instalación nueva de WordPress y asumen que el plugin ya estará presente. No lo estará — el proceso de importación requiere que el plugin ya esté activo en el destino.
Paso 5: Aumentar el límite de tamaño de carga antes de importar
Este es el punto de fallo más común. La versión gratuita de All-in-One WP Migration respeta el límite de carga PHP del servidor. Si tu archivo .wpress supera ese límite, la importación fallará silenciosamente o mostrará un error vago.
Verifica tu límite actual navegando a All-in-One WP Migration > Importar. El plugin muestra el tamaño máximo de carga directamente en esa pantalla.
Para aumentarlo, usa uno de los siguientes métodos según tu nivel de acceso al servidor:
Método 1: Editar php.ini directamente (recomendado para VPS y servidores dedicados)
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
Reinicia PHP-FPM o Apache después de guardar:
sudo systemctl restart php8.1-fpm
# or for Apache with mod_php:
sudo systemctl restart apache2
Método 2: Anular mediante .htaccess (entornos de hosting compartido)
php_value upload_max_filesize 512M
php_value post_max_size 512M
php_value memory_limit 512M
php_value max_execution_time 300
Método 3: Anular mediante wp-config.php
@ini_set('upload_max_filesize', '512M');
@ini_set('post_max_size', '512M');
@ini_set('memory_limit', '512M');
Después de aplicar los cambios, actualiza la página de Importación en el plugin para confirmar que el nuevo límite se refleja correctamente. Si estás en un plan de Shared Web Hosting, contacta con tu host para aumentar los límites de PHP a nivel de servidor, ya que las anulaciones de .htaccess pueden estar restringidas.
Alternativa para sitios muy grandes: Usa el plugin gratuito combinado con la extensión oficial “Basic”, o sube el archivo .wpress directamente a wp-content/ai1wm-backups/ mediante FTP/SFTP y luego selecciónalo desde la pantalla de Importación. Esto evita completamente la restricción de tamaño de carga HTTP.
Paso 6: Importar el archivo
En el sitio de destino, navega a All-in-One WP Migration > Importar.
Haz clic en Importar desde > Archivo y selecciona tu archivo .wpress. El plugin subirá el archivo y comenzará el proceso de restauración. Una barra de progreso rastrea la operación.
Qué ocurre durante la importación:
El archivo .wpress se desempaqueta en un directorio temporal bajo wp-contentwp-content se sobreescriben con las versiones archivadaswp-config.php)Cuando la importación se complete, verás un diálogo de confirmación. Haz clic en Continuar (o Restaurar según la versión del plugin) para confirmar el reemplazo de la base de datos. Esta acción es irreversible sin una copia de seguridad separada de la base de datos de destino.
Serás desconectado inmediatamente después de que la importación se complete. Este es el comportamiento esperado — la base de datos ahora contiene las cuentas de usuario del sitio de origen. Inicia sesión usando las credenciales de tu sitio de origen.
Paso 7: Vaciar los permalinks
Después de volver a iniciar sesión, navega a Ajustes > Enlaces permanentes. No cambies ninguna configuración. Simplemente desplázate hasta el final y haz clic en Guardar cambios.
Esto obliga a WordPress a regenerar las reglas de reescritura de .htaccess para el nuevo entorno. Omitir este paso hace que todas las URL de publicaciones y páginas devuelvan errores 404 aunque el contenido exista en la base de datos.
Si estás usando Nginx en lugar de Apache, no hay ningún archivo .htaccess. Debes asegurarte de que el bloque de servidor Nginx incluya la directiva estándar try_files de WordPress:
location / {
try_files $uri $uri/ /index.php?$args;
}Paso 8: Lista de verificación de validación posterior a la migración
Una migración no está completa hasta que se verifica cada elemento de esta lista. Omitir la validación es la forma en que los sitios con errores llegan a producción.
Integridad de URL y dominio:
- Visita Ajustes > General y confirma que tanto la Dirección de WordPress como la Dirección del sitio reflejan la URL de destino correcta
- Realiza una verificación de búsqueda y reemplazo: instala WP-CLI en el servidor y ejecuta
wp search-replace 'olddomain.com' 'newdomain.com' --dry-runpara detectar cualquier URL que el plugin haya omitido en los datos serializados - Comprueba si hay advertencias de contenido mixto en las herramientas de desarrollo del navegador si estás migrando de HTTP a HTTPS
Pruebas funcionales:
- Prueba todos los menús de navegación y los enlaces internos
- Envía al menos un formulario de contacto y verifica la entrega
- Prueba el flujo de pago de WooCommerce si corresponde
- Verifica que los archivos adjuntos multimedia se carguen correctamente (las imágenes rotas a menudo indican una reescritura de URL omitida en la tabla
wp_posts)
Seguridad y configuración:
- Confirma que tus SSL Certificates están activos y que HTTPS está aplicado en el dominio de destino
- Revisa
wp-config.phpen el destino — las credenciales de la base de datos, el estado deWP_DEBUGy las sales deben reflejar el nuevo entorno, no el de origen - Regenera las claves de seguridad de WordPress mediante Ajustes > General o reemplazando las constantes de sal en
wp-config.phpusando el generador de claves secretas de WordPress
Caché:
- Limpia todas las capas de caché: caché de objetos (Redis/Memcached), plugins de caché de páginas (WP Rocket, W3 Total Cache) y cualquier caché de CDN
- Desactiva y reactiva los plugins de caché para forzarlos a detectar las nuevas rutas del entorno
Comparación: All-in-One WP Migration vs. métodos alternativos de migración
| Método | Habilidad técnica requerida | Gestiona sitios grandes | Reescritura de URL | Coste | Ideal para |
|---|---|---|---|---|---|
| — | — | — | — | — | — |
| All-in-One WP Migration (gratuito) | Baja | Limitado por el límite de carga | Automática | Gratuito | Sitios pequeños y medianos |
| All-in-One WP Migration (premium) | Baja | Sí (sin límite de tamaño) | Automática | De pago | Cualquier tamaño de sitio |
| WP-CLI + rsync + mysqldump | Alta | Sí | Manual (`search-replace`) | Gratuito | Desarrolladores, sitios grandes |
| Duplicator Pro | Media | Sí | Semiautomática | De pago | Agencias, multisitio |
| Manual (phpMyAdmin + FTP) | Alta | Sí | Manual | Gratuito | Escenarios de control total |
| Restauración de copia de seguridad cPanel/Plesk | Media | Sí | Ninguna (mismo dominio) | Incluido con el host | Migraciones en el mismo host |
Migración a un VPS o servidor dedicado
Si estás migrando desde hosting compartido a un entorno de VPS Hosting o Dedicated Servers, el flujo de trabajo de All-in-One WP Migration es idéntico, pero la configuración del servidor de destino requiere atención adicional:
- Instala una pila LAMP o LEMP (Apache/Nginx, MySQL/MariaDB, PHP)
- Configura un host virtual que apunte al directorio raíz de documentos de WordPress
- Crea una base de datos MySQL dedicada y un usuario con los privilegios adecuados
- Instala WordPress core antes de ejecutar la importación del plugin
- Configura los ajustes del pool de PHP-FPM para que coincidan o superen los requisitos de recursos del sitio de origen
Para equipos que prefieren una interfaz de panel de control gestionado, un VPS with cPanel reduce significativamente la sobrecarga de configuración del servidor — cPanel proporciona un instalador de WordPress con un solo clic, un selector de versión de PHP y un administrador de archivos que simplifican la configuración previa a la importación.
Errores comunes y cómo solucionarlos
“Importación fallida: no se pudo extraer el archivo”
Esto normalmente significa que el archivo .wpress está dañado, la carga fue interrumpida o el espacio en disco del destino es insuficiente. Verifica que el tamaño del archivo coincida con el original, comprueba el espacio en disco disponible con df -h y vuelve a subir mediante SFTP directamente a wp-content/ai1wm-backups/.
“Tiempo máximo de ejecución superado”
La directiva PHP max_execution_time es demasiado baja para el tamaño de la importación. Auméntala a 300 o 600 segundos en php.ini o .htaccess como se muestra anteriormente.
“El archivo subido supera la directiva upload_max_filesize”
El límite de tamaño de carga no se ha aumentado, o el cambio no se aplicó al archivo de configuración PHP correcto. Ejecuta php -i | grep upload_max_filesize desde la línea de comandos para confirmar qué php.ini está activo.
php -i | grep upload_max_filesize
php -i | grep "Loaded Configuration File"Pantalla blanca de la muerte después de la importación
Habilita WP_DEBUG temporalmente en wp-config.php para mostrar el error PHP real:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);Luego revisa /wp-content/debug.log para encontrar el error específico. Las causas comunes son un plugin incompatible con la versión de PHP del destino o un agotamiento del límite de memoria.
Imágenes rotas después de la migración
Ejecuta una búsqueda y reemplazo en la base de datos del dominio antiguo en las tablas wp_posts y wp_postmeta. Usando WP-CLI:
wp search-replace 'https://olddomain.com' 'https://newdomain.com' wp_posts wp_postmeta --precise --report-changed-onlyMatriz de decisión técnica: cuándo usar All-in-One WP Migration
| Escenario | Enfoque recomendado |
|---|---|
| — | — |
| Sitio de menos de 512 MB, moviéndose a un nuevo host | Versión gratuita, carga directa de archivo |
| Sitio de más de 512 MB | Sube `.wpress` mediante SFTP a `ai1wm-backups/` o usa la versión premium |
| Migración de HTTP a HTTPS | Ejecuta WP-CLI `search-replace` después de la importación para detectar URL serializadas |
| Migración de red multisitio | Usa la versión premium; la versión gratuita no admite multisitio |
| Copias de seguridad recurrentes automatizadas | Usa un plugin de copia de seguridad dedicado (UpdraftPlus, BackWPup) en su lugar |
| Migración a una versión de PHP diferente | Prueba la compatibilidad de los plugins en un entorno de pruebas antes de la importación en producción |
| Cambio de dominio involucrado | Verifica la reescritura de URL en Ajustes > General después de la importación |
Conclusiones prácticas clave
- Sube siempre el archivo
.wpressmediante SFTP directamente awp-content/ai1wm-backups/para sitios de más de 200 MB — esto evita cualquier restricción de tamaño de carga HTTP. - Aumenta
upload_max_filesize,post_max_size,memory_limitymax_execution_timeen el destino antes de iniciar la importación, no después de encontrar un error. - El plugin excluye
wp-config.phpdel archivo — tus credenciales de base de datos de destino se conservan, pero verificaWP_DEBUG,WP_SITEURLy las sales de seguridad manualmente después de la importación. - Vacía siempre los permalinks inmediatamente después de la importación. En Nginx, verifica que la directiva
try_filesesté presente en el bloque del servidor. - Ejecuta
wp search-replace --dry-rundespués de cualquier migración que implique un cambio de dominio para detectar restos de URL serializadas que el plugin pueda haber omitido. - Confirma que SSL está activo en el destino antes de publicar — una discrepancia en el SSL certificate después de la migración es una causa común de advertencias de seguridad del navegador que erosionan la confianza del usuario.
- Para migraciones en producción, prueba siempre en un entorno de pruebas primero, especialmente cuando cambies versiones de PHP o te muevas entre pilas de servidores significativamente diferentes.
Preguntas frecuentes
¿Funciona All-in-One WP Migration para mover WordPress a un dominio diferente?
Sí. El plugin reescribe automáticamente el dominio de origen al dominio de destino durante la importación mediante un proceso de sustitución de tokens en el volcado SQL. Después de la importación, verifica que la reescritura se realizó correctamente comprobando Ajustes > General y ejecutando un search-replace --dry-run de WP-CLI para detectar cualquier URL incrustada en datos PHP serializados que el plugin pueda haber omitido.
¿Cuál es el tamaño máximo de archivo admitido por la versión gratuita?
La versión gratuita no tiene un límite de tamaño codificado en el propio plugin — la restricción proviene completamente de las directivas PHP upload_max_filesize y post_max_size del servidor. En muchos hosts compartidos, el valor predeterminado es 128 MB. Puedes evitar esta restricción completamente subiendo el archivo .wpress mediante SFTP a wp-content/ai1wm-backups/ y seleccionándolo desde la pantalla de Importación, lo que omite el mecanismo de carga HTTP.
¿La migración sobreescribirá completamente la base de datos del sitio de destino?
Sí. La importación elimina todas las tablas existentes en la base de datos de destino y las reemplaza con las tablas del sitio de origen. Haz una copia de seguridad de la base de datos de destino antes de importar si contiene datos que necesitas conservar.
¿Puedo usar All-in-One WP Migration para WordPress Multisite?
La versión gratuita no admite migraciones de redes Multisite. La “Extensión Multisite” premium es necesaria para exportar e importar una red Multisite completa. Los subsitios individuales dentro de una red a veces pueden migrarse como sitios independientes usando la versión gratuita, pero esto requiere una limpieza manual de las entradas de la base de datos específicas de la red.
¿Por qué me desconectan inmediatamente después de que finaliza la importación?
Este es el comportamiento correcto. La importación reemplaza toda la base de datos, incluida la tabla wp_users, con los datos del sitio de origen. La cuenta de administrador de tu sitio de destino ya no existe — las cuentas de usuario del sitio de origen están ahora activas. Inicia sesión usando el nombre de usuario y la contraseña del sitio de origen original.
