Cómo clonar una web WordPress en segundos con WP-CLI

Cómo clonar una web WordPress en segundos con WP-CLI

Aprende a clonar una web WordPress con WP-CLI en segundos: copia archivos, base de datos y ajusta URLs con un flujo rápido y seguro.

Clonar una web WordPress ya no tiene por qué ser un proceso largo, manual y propenso a errores. Con WP-CLI, buena parte del trabajo se puede automatizar desde terminal: desde copiar la base de datos hasta preparar una instalación duplicada para pruebas, staging o migración interna.

En artículos anteriores ya vimos qué es WP-CLI, cómo instalarlo, cómo usarlo para importar y exportar bases de datos, y cómo buscar y reemplazar URLs. Ahora vamos un paso más allá: construir un flujo práctico para clonar un sitio WordPress de forma rápida y consistente.

Qué significa realmente clonar una web WordPress

Clonar no es solo hacer una copia de seguridad. Tampoco es únicamente duplicar archivos. En la práctica, una clonación útil implica trasladar el estado completo del sitio: archivos + base de datos + configuración de URLs, de manera que el clon funcione como una instalación independiente.

Esto es especialmente útil en entornos de desarrollo, pruebas de plugins y temas, validación de cambios antes de publicarlos o replicación de sitios entre servidores. En otras palabras: necesitas una copia funcional, no un archivo comprimido olvidado en una carpeta.

Casos de uso más comunes

La clonación con WP-CLI encaja muy bien cuando gestionas varios entornos o tienes que repetir tareas con frecuencia. Algunos escenarios típicos son:

staging para probar actualizaciones sin tocar la web en producción, entornos de desarrollo para equipos, migraciones entre hosting y creaciones rápidas de sitios hijos o tests A/B internos.

Qué necesitas antes de empezar

Para que el proceso sea ágil, conviene que tengas acceso SSH al servidor y permisos suficientes sobre el directorio del proyecto y la base de datos. WP-CLI debe estar instalado y funcionando, algo que ya tratamos en la guía de instalación y en el artículo sobre cómo comprobar si está correctamente configurado.

También es importante que el nuevo destino esté vacío o, al menos, bajo control. Si vas a sobrescribir una instalación existente, haz una copia previa. La clonación rápida sigue necesitando criterio técnico.

Conceptos que conviene revisar si dudas

Si todavía no dominas el trabajo con bases de datos desde consola, te ayudará leer la guía sobre cómo exportar e importar la base de datos con WP-CLI. Y si el sitio va a cambiar de dominio o subdominio, también es clave entender cómo cambiar la URL de WordPress con WP-CLI.

La idea detrás del clon rápido

La forma más directa de clonar un WordPress con WP-CLI consiste en combinar comandos de sistema y comandos de WordPress. WP-CLI no sustituye a herramientas como rsync o cp, pero sí aporta la capa de automatización que convierte el proceso en algo repetible.

El flujo suele ser este: copiar archivos, exportar la base de datos, crear la nueva base de datos, importar el dump, ajustar el archivo de configuración y reemplazar las URLs antiguas por las nuevas. A partir de ahí, el clon ya puede funcionar de forma independiente.

Ejemplo de clonación paso a paso

Vamos a imaginar que quieres copiar un WordPress desde /var/www/sitio-original a /var/www/sitio-clon, y moverlo a otro dominio. La lógica es la misma aunque cambien tus rutas.

# 1) Copiar archivos del sitio
cp -a /var/www/sitio-original/. /var/www/sitio-clon/

# 2) Exportar la base de datos desde el sitio original
cd /var/www/sitio-original
wp db export /tmp/sitio-original.sql

# 3) Crear la base de datos del clon y apuntar wp-config.php a ella
# (esto depende del panel o del gestor de bases de datos que uses)

# 4) Importar la base de datos en el clon
cd /var/www/sitio-clon
wp db import /tmp/sitio-original.sql

# 5) Reemplazar URLs antiguas por las nuevas
wp search-replace 'https://dominio-original.com' 'https://dominio-clon.com' --all-tables

# 6) Limpiar cachés y transients
wp cache flush
wp transient delete --all

Este guion cubre la base del proceso. En algunos alojamientos tendrás que adaptar la creación de la base de datos o el usuario MySQL, porque esas tareas no siempre forman parte de WP-CLI por defecto.

Qué hace cada paso

La copia de archivos traslada temas, plugins, uploads y el núcleo de WordPress si forma parte del mismo árbol. La exportación e importación de la base de datos conserva entradas, páginas, opciones, menús y relaciones internas.

El search-replace es el paso crítico en clones con cambio de dominio o subdominio, porque WordPress guarda muchas URLs en la base de datos. Si no se actualizan, el sitio duplicado puede cargar enlaces rotos o seguir apuntando al entorno original.

Cómo evitar errores típicos al clonar

Uno de los fallos más frecuentes es olvidar que algunos valores están serializados. Por suerte, wp search-replace está pensado para tratar ese tipo de datos sin romperlos, siempre que uses el comando correcto y evites reemplazos manuales masivos en SQL cuando no toca.

Otro error habitual es no revisar el archivo wp-config.php. Si el clon apunta a la base de datos equivocada, no tendrás una copia: tendrás una confusión compartida. Comprueba credenciales, prefijos de tablas y rutas absolutas si tu entorno las usa.

También conviene limpiar cachés, tanto del propio WordPress como de plugins de optimización o del servidor. Si no lo haces, puedes creer que el clon no funciona cuando en realidad solo está sirviendo contenido antiguo.

Permisos y rutas: los detalles que marcan la diferencia

En Linux, los problemas de permisos siguen siendo una fuente habitual de incidencias. Si te ocurre al copiar o al ejecutar comandos, consulta cómo solucionar problemas de permisos con WP-CLI en Linux. Te ahorrará bastante tiempo en entornos donde el usuario del servidor web y el usuario SSH no son el mismo.

Cómo convertir el proceso en un script reutilizable

Si clonar sitios es parte de tu trabajo recurrente, merece la pena automatizarlo en un script bash. Así puedes reducir pasos manuales y estandarizar nombres de directorios, bases de datos y dominios. Ya vimos una introducción útil en cómo usar WP-CLI en scripts bash.

La ventaja no es solo velocidad. Un script bien hecho también minimiza olvidos: exportar antes de importar, ejecutar el reemplazo de URLs correcto o vaciar caché al final. En clonaciones repetitivas, eso marca la diferencia.

Ejemplo mínimo de automatización

#!/bin/bash

ORIGEN="/var/www/sitio-original"
DESTINO="/var/www/sitio-clon"
URL_ANTIGUA="https://dominio-original.com"
URL_NUEVA="https://dominio-clon.com"

cp -a "$ORIGEN"/. "$DESTINO"/

cd "$ORIGEN" || exit 1
wp db export /tmp/clon.sql

cd "$DESTINO" || exit 1
wp db import /tmp/clon.sql
wp search-replace "$URL_ANTIGUA" "$URL_NUEVA" --all-tables
wp cache flush
wp transient delete --all

Este ejemplo es deliberadamente simple. En un entorno real conviene añadir comprobaciones, logs, validaciones de entorno y manejo de errores para que el script sea más robusto.

Cuándo usar WP-CLI para clonar y cuándo no

WP-CLI es ideal cuando administras WordPress con acceso directo al servidor, especialmente en proyectos técnicos o con múltiples entornos. Sin embargo, si trabajas en hosting muy limitado, o si el proveedor bloquea SSH, tendrás que combinarlo con herramientas del panel o con procedimientos alternativos.

Además, si la clonación implica mover un sitio completo entre servidores o refactorizar plugins, temas y configuraciones, quizá te interese complementar este enfoque con una guía de migración completa usando WP-CLI. Clonar y migrar se parecen, pero no siempre persiguen el mismo objetivo.

Buenas prácticas para un clon limpio

Antes de dar por terminado el proceso, verifica la portada, el acceso al escritorio, los enlaces permanentes y el funcionamiento de formularios o integraciones externas. Un clon puede estar técnicamente correcto y aun así fallar en partes específicas del frontend o del backend.

También es recomendable desactivar tareas externas o integraciones de producción en entornos de prueba: SMTP, webhooks, pasarelas de pago o sincronizaciones con ERP/CRM. Así evitas efectos colaterales en sistemas reales.

Finalmente, documenta el proceso. Si necesitas repetirlo más adelante, agradecerás tener claro qué directorios se copian, qué tablas se reemplazan y qué comandos forman parte de tu flujo estándar.

Conclusión

Clonar una web WordPress con WP-CLI es una de esas tareas que parecen complejas hasta que las conviertes en un flujo ordenado. Una vez entiendes la relación entre archivos, base de datos y URLs, puedes duplicar sitios en mucho menos tiempo y con menos margen de error que usando solo el panel de administración.

La clave está en no pensar en WP-CLI como un comando aislado, sino como una pieza dentro de un proceso más amplio de gestión técnica de WordPress. Y cuanto más repliques ese proceso, más rápido y fiable será tu trabajo diario.

Fuentes y lecturas recomendadas

Documentación oficial de WP-CLI

WordPress Developer Resources

WPBeginner: guías y recursos sobre WordPress

Xose de la Paz

Más de 20 años transformando pasión en profesión. Experto en desarrollo Full Stack con una visión integral que abarca desde la gestión de servidores y redes hasta el diseño de interfaz. Soy un "todoterreno" tecnológico que cree en el aprendizaje continuo y la visión global de los proyectos. Entre despliegue y despliegue, me pierdo por el mundo con mi cámara al hombro.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.