Página 1 de 1

Clonar sitio WordPress ¡sin plugins ni complicaciones extra!

Publicado: 04 Oct 2017, 13:27
por Enigma
Clonar sitio WordPress ¡sin plugins ni complicaciones extra!

Te imagino queriendo dar un nuevo look a tu web hecha con WordPress y con sudores fríos por el cuerpo pensando en que todas las pruebas que hagas tienen que ser medidas, calculadas y que afecten lo menos posible al sitio que ya tienes en producción ¿verdad?

Aprende cómo Clonar WordPress sin utilizar plugins ni otras estupideces...

¿Eres de los que todavía sigue experimentando cambios de temas, de plugins "elefante" como W3 Total Cache, o de builder, en la web que tienes publicada en Internet? ..bufff, ese riesgo no merece la pena, sobre todo pudiendo duplicar (clonar, como decimos en el argot popular) la web en producción para experimentar sin miedos ni limitaciones.

Clonar es fácil, es rápido, y lo mejor de todo no requiere de plugins para hacerlo y el resultado es más impecable, menos estresante y también igual de divertido porque lo haces tú, sin intermediarios, de forma transparente y sabiendo en todo momento lo que haces. ¿te atreves? ..sigue leyendo!


¿Qué es clonar una web?
No es otra cosa sino duplicarla, es decir, crear una copia similar, en otra carpeta de tu Hosting, pero utilizando una base de datos diferente (nueva) y una url de acceso a la web duplicada diferente de la url de la web original.

Una web clonada puede servir para:
Probar una actualización de WordPress, de un tema o de plugins, sin que los resultados dejen inoperativa la web original.
Para experimentar un cambio de tema sin que sea visible en Internet.
Probar nuevos plugins y analizar su viabilidad y comportamiento.
Detectar un comportamiento errático de determinada combinación explosiva de plugins que generan conflictos y errores.
Probar una importación masiva de productos en una tienda con WooCommerce.
Probar funciones, snippets o filtros de forma segura.
...lo que se te ocurra y se te pase por la cabeza :D

¿Es necesario utilizar plugins para clonar una web?
No. Las malas lenguas te dirán por ahí que si, y que es la única forma de hacerlo o la mejor ¡error! ...si me permites la opinión, pienso que es la forma más complicada de duplicar una web, la que además acaba saturando algunos recursos del servidor donde se aloje tu cuenta de Hosting, y encima le añades carga extra a tu instalación "original" de WordPress con plugins que además de "clonar" la web hacen 20 cosas más y no necesariamente tienes que comprarte una batería de cocina completa si solo quieres una pequeña cazuela para calentar un poco de leche ¿verdad?

Ya sabes, más plugins no necesariamente significa mejor desempeño, tampoco peor, pero contra menos cosas se le añadan al núcleo de WordPress pues mejor, eso que te quitas de encima, así luego no tienes que estar pendiente de actualizaciones del plugin de clonado, compatibilidad con nuevas versiones, conflictos con otros plugins y esas tareas en segundo plano que algunos acaba llevando a cabo.

Según mis cálculos y las pruebas realizadas se tarda aproximadamente 1 hora o más en clonar una web con un plugin, el que sea, no voy a poner a ninguno en evidencia, pero te resumo tiempos:

Entre 1 y 50 minutos, en el mejor de los casos en evaluar en el Directorio de Plugins de WordPress para elegir con cuál te quedas.
Entre 1 y 5 minutos en hacer una copia de seguridad de tu actual sitio web, antes de instalar el plugin elegido.
Entre 1 y 3 minutos en instalar y activar el plugin (si vas un poco desconfiado.
Entre 1 y 20 minutos en entender la configuración del plugin y que parámetros debes aplicar para clonar la web.
Entre 5 y 20 minutos en clonar la web con el plugin, en el mejor de los casos.
Entre 5 y 30 minutos en reactivar la web clonada en la nueva carpeta con una nueva url (posiblemente un subdominio o una url temporal + nombre de la nueva carpeta).

Si tiro por lo bajo para no ahogarme me salen 123 minutos el total de tiempo invertido en clonar la web con un plugin "de nombre desconocido" para un usuario sin conocimientos en este tipo de tareas en WordPress.


¿Cuanto se tarda en clonar manualmente una web WordPress?
En un entorno basado en cPanel, con una instalación de WordPress normalita, y con las pruebas realizadas, los tiempos aproximados te los desgloso de la siguiente forma:

Entre 1 y 5 minutos en crear una nueva base de datos manualmente desde cPanel, Bases de Datos y darle los permisos adecuados.
Menos de 1 minuto en editar el archivo wp-config.php de la web a clonar para averiguar el nombre de la base de datos.
Entre 1 y 5 minutos en acceder a phpMyAdmin para exportar la base de datos de la web a clonar en formato .sql
Entre 1 y 5 minutos en crear una nueva base de datos vacía y darle los permisos oportunos.
Entre 1 y 2 minutos en seleccionar todos los archivos y carpetas de la instalación a clonar y comprimirlos en formato .zip
1 minuto o menos en mover el archivo .zip de la web original a la carpeta donde se va a gestionar el clon.
1 minuto o menos en extraer el archivo .zip en la nueva carpeta donde se gestionará el clon.
10 segundos en eliminar el archivos .zip para liberar espacio en el Hosting.
Entre 1 y 4 minutos en editar al archivo wp-config.php de la web clonada y poner el nombre de la base de datos, usuarios de la base de datos y contraseña de la base de datos nueva creada para esta web.
Entre 1 y 3 minutos en acceder de nuevo a phpMyAdmin, abrir la base de datos creada para el clon e importar el archivo .sql de la web a clonar exportada anteriormente.
Entre 1 y 3 minutos en subir el script searchreplacedb2.php a la carpeta de la web clonada y cambiar la antigua url (de la web en producción) por la nueva url de la web clonada.
1 minuto, o menos, en verificar que la web carga correctamente desde la url establecida para el clon.
Sumando estos tiempos obtengo 32 minutos, siendo generoso, pero lo más probable que se tarde la mitad o menos de la mitad en realizar esta tarea.

Obviamente esto realizado de forma relajada, sin estresarse, y analizando cada paso que se da, para no liarla parda :D
Y ahora ¿lo ves más claro?

...pues nada que decir, pongámonos manos a la obra y clonemos la web WordPress de la carpeta principal del Hosting /public_html a una carpeta que llamaremos clon y que colgara de la carpeta principal quedando como /public_html/clon y que será accesible desde la url temporal http://url-temporal-wordpress.com/clon (por ejemplo).

Procedimiento para clonar manualmente una web WordPress a otra carpeta del Hosting
Realiza una copia de seguridad completa de tu cuenta de Hosting y descárgala a tu ordenador y elimínala del Hosting.
Edita el archivo wp-config.php de la web a clonar desde tu cPanel, Archivos, Administrador de Archivos y anota el nombre de la base de datos que esa web utiliza.

Accede a tu cPanel, Bases de Datos, phpMyAdmin y carga la base de datos de la web a clonar.
Exporta la base de datos a de la web a clonar en formato .sql (se descargará el archivo en tu ordenador).
Desde tu cPanel, Bases de Datos, crea una nueva base de datos vacía y otórgale los permisos de lectura, escritura, etc.
Accede de nuevo a phpMyAdmin y carga la nueva base de datos creada (previamente tiene que haber salido de phpMyAdmin para que al entrar de nuevo sea visible).

Con la opción del menú superior Importar selecciona el archivo .sql que descargaste a tu ordenador de la web original y cárgalo en la nueva base de datos.

Selecciona todos los archivos y carpetas de la web a clonar desde tu cPanel, Archivos, Administrador de Archivos.
Comprime los archivos y carpetas seleccionados en formato .zip

Desde el Administrador de Archivos, sitúate en la carpeta principal del Hosting /public_html y crear una nueva carpeta que por ejemplo se llame clon.

Ahora selecciona el archivo .zip de los archivos y carpetas comprimidos de la web original.
Con el .zip seleccionado utiliza la opción superior Mover y mueve el citado archivo a la carpeta /clon (se abre un cuadro de diálogo donde debe escribir al final de la ruta el nombre de esa carpeta).
Una vez movido el .zip entra en la carpeta /public_html/clon
Selecciona el archivo .zip movido a esa carpeta y haz clic en la opción superior extraer.
Verás los archivos y carpetas de la web clonada. Selecciona y elimina el .zip, ya no es necesario.
Verifica que se ha movido también el archivo oculto .htaccess, edítalo y añade el nombre de la carpeta clon a la ruta de la redirección.

Edita el archivo wp-config.php con el Editor de Código y sustituye los nombres de la base de datos, usuario de la base de datos y contraseña, por los de la nueva base de datos que creaste.

Si en la web original urtilizabas SSL y en el archivo wp-config.php tienes defines para forzar SSL ¡eliminalos! en un clon para pruebas no es necesario.

Guarda los cambios del archivo wp-config.php y verifica, tras limpiar primero la caché de tu navegador si desde la url del clon la web carga correctamente.

¡Terminamos! ..¿muchos pasos verdad?, pero solo en la teoría, en la practica ya veras que no es tanto ni tan laborioso.



Trabajando con un clon
El propósito de clonar una web que está sirviendo contenidos en Internet no es otro que el de servir de conejillo de Indias para experimentar, probar actualizaciones, etc...

Para trabajar en una web clonada sin que la web original acabe siendo penalizada por los buscadores como Google, etc., por servir los mismos contenidos desde dominios diferentes (una url temporal a ojos de Google también es un dominio) hay que bloquearla para que no sea indexada

Evitando el indexado del clon
Es evidente que no quieres encontrarte pasado un tiempo con que en tu herramienta Google Search Console, Rastreo, Errores de Rastreo, de repente empiezas a ver enlaces de la url temporal (la web clonada) y además observar cómo tu posicionamiento cae en picado (ahora en tiempo real) pòr no haber tomado las debidas precauciones.

No tiene sentido indexar una web clonada si no es para ponerla en producción, en cuyo caso lo más conveniente es cerrarla no solo a ojos de curiosos ¡que también!, y si hacerlo principalmente a los bots de rastreo ávidos por contenidos nuevos.

Lo puedes hacer editando el archivo robots.txt de la web clonada y añadiendo la siguiente directiva:

Código: Seleccionar todo

User-agent: *
Disallow: /
Esto bloqueará el acceso a todos los bots de indexado. Aunque algunos son persistentes y se saltan estos vetos.
En cuyo caso yo te recomiendo que para WordPress optes por habilitar una funcionalidad nativa del núcleo.

Esto puedes hacerlo desde el dashboard de WordPress, Ajustes, Lectura, marcando la opción "Visibilidad para los buscadores", Disuade a los motores de búsqueda de indexar este sitio.

¡Listo! se acabaron los bots curiosos en tu clon.

Activar el Modo Mantenimiento en el clon
Esto no es un paso obligatorio, pero sí importante si no quieres que tu web clonada esté accesible desde Internet a cualquiera que sepa de la existencia de la url del clon.

Con cerrar una web con el modo de mantenimiento no estás evitando el indexado de sus contenidos, ya que los bots seguirán pudiendo acceder en segundo plano a las carpetas e indexar aquellos contenidos que robots.txt no les restrinja.

Esto quiere decir que el modo mantenimiento es una acción adicional para evitar la visibilidad de la web a los usuarios, no a los bots.

Poco más que añadir, salvo recordarte que una web clonada ocupa el mismo espacio en tu Hosting que la web en producción ¡o más! dependiendo del número de experimentaciones que hagas y cosas que instales.

Elimina el clon una vez que ya no lo necesites, liberarás espacio en tu Hosting y no dejarás webs en vía muerta, a merced de los scripts maliciosos que pasados unos meses desde que la abandonaste, encuentren plugins o temas vulnerables, o el propio núcleo de WordPress, sin actualizar y explotables.