Aunque WordPress Multisite es una capacidad implementada desde versiones tempranas de WordPress, no es habitual encontrar muchos sitios web hechos con esta utilidad. Hoy vamos a ver un reto que tuve que afrontar en uno de mis proyectos.
Qué es WordPress Multisite
Esta funcionalidad permite gestionar varios sitios web (sitios hijos) desde un único panel de Administrador y con la posibilidad de compartir temas y plugins, pero con diseños diferentes para cada sitio.
No voy a entrar a describir en profundidad las bondades y defectos de WordPress Multisite, pero si queréis saber más, os remito a Multisitio WordPress: La guía de todo lo que necesita saber sobre la red WordPress.
El reto: transformar un sitio hecho en WordPress normal en un sitio hijo de WordPress Multisite
Hace poco, un cliente me encargó el desarrollo de su sitio web. Como aún no tenía contratado el dominio ni el hospedaje, empecé a trabajar en local con Local.
Según fue avanzando el proyecto, el cliente comentó que iba a necesitar varios sitios web, muy similares entre ellos y prácticamente con las mismas funcionalidades. Esto me llevó a pensar en utilizar WordPress Multisite para este proyecto.
Estos sitios son complejos, con muchos Custom Post Types y funcionalidades avanzadas, por lo que no sólo era un problema de diseño y contenidos.
Empecé a buscar formas de convertir un sitio hecho con WordPress en WordPress Multisite pero todo lo que encontré se basaba en exportar contenidos y widgets e importarlos a una instalación de WordPress Multisite, lo cual no solucionaba mi problema con las funcionalidades avanzadas.
Además, como suele ser habitual, el tiempo corría en mi contra y la del cliente… hasta que encontré una solución sencilla.
El primer paso: la copia de seguridad
Con el cliente que había contratado ya servidor y dominio, lo primero que tuve que hacer es llevar el proyecto de local al servidor de producción.
Para ello suelo utilizar un plugin gratuito que da muy buenos resultados: Duplicator en su versión gratuita.
A diferencia de otros plugins similares, este no requiere de una instalación previa de WordPress en el servidor de destino, por lo que se ahorra bastante tiempo en la migración. El plugin genera dos archivos: un zip que contiene todo el WordPress y sus contenidos, además de la base de datos, y un archivo installer.php.
Previamente, en el servidor de producción, habremos creado una base de datos vacía. También es importante que el sitio local tenga un certificado SSL para que todos los enlaces tengan un encabezamiento https://. Esto nos va a facilitar las cosas en el servidor de producción.
A continuación, subimos los dos archivos generados por Duplicator al directorio raíz de nuestro servidor de producción mediante FTP o del Administrador de Archivos del Panel de Control de nuestro servidor.
Por último, en el navegador introducimos la URL https://midominio.com/installer.php y seguimos las instrucciones que aparecen en pantalla. Si todo va bien, en unos pocos segundos tendremos una copia de nuestro sitio web en el servidor de producción, con todos los enlaces correctamente configurados.
El segundo paso: de WordPress normal a WordPress Multisite
Ahora se trata de transformar nuestro WordPress en un WordPress Multisite. El procedimiento es sencillo y podéis encontrarlo en Cómo crear tu red de sitios con WordPress Multisite.
El tercer paso: migrar al sitio hijo
Si hemos seguido correctamente los pasos para crear la instalación de WordPress Multisite, nos encontraremos que el sitio padre tiene todo el desarrollo que habíamos realizado en local.
Para trasladar el desarrollo del sitio padre al sitio hijo vamos a utilizar el plugin MultiSite Clone Duplicator, también gratuito.
Aunque en la página del plugin se avisa de que no ha sido probado con las últimas versiones de WordPress, trabaja perfectamente con la 5.5.1.
Este plugin añade un enlace Duplicate a la lista de sitios de la instalación de WordPress Multisite. Al pulsar en el enlace nos pregunta desde qué sitio queremos clonar (en este caso, el sitio padre) y a qué sitio hijo queremos clonarlo.
En unos pocos segundos veremos trasladado todo nuestro desarrollo del sitio padre al sitio hijo.
Ahora solo nos queda eliminar el desarrollo del sitio padre o transformarlo en una página de acceso a los sitios hijos.
Cuarto paso: ajustes finales
Ahora toca revisar que todo está en su sitio. Si, por alguna razón necesitamos cambiar las URLs de algún enlace que no estén apuntando correctamente, podemos utilizar alguno de los plugins de búsqueda y sustitución que se recomiendan en 5 Best Search and Replace WordPress Tools to Fix Content
Conclusión
Este es un procedimiento bastante rápido para trasladar un sitio hecho con WordPress normal a un sitio hijo de WordPress Multisite. En condiciones normales, no debería llevaros más de 15 o 20 minutos.