Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)
Hace más o menos un año, tuve un desastre relacionado con un alojamiento. El servidor de mi proveedor de alojamiento fue hackeado y les costó más de una semana identificar cuál era el problema y solucionarlo.
Mientras tanto, los sitios de mis clientes estaban siendo redirigidos a un sitio de citas y yo estaba recibiendo sus llamadas telefónicas exigiendo que arreglara las cosas de inmediato.
Tuve que actuar rápido. Pero en lugar de simplemente mover todos los sitios tal y como estaban a un nuevo servidor (y debo añadir que también a un nuevo proveedor de alojamiento), decidí mover los sitios de forma que en el futuro me facilitase moverlos todos de nuevo si fuera necesario. Así que moví una serie de sitios con su propia instalación de WordPress a mi existente red multisitio, la cual ya había trasladado al nuevo servidor.
Mover sitios individuales a una red multisitio es más complicado que moverlo simplemente a una nueva instalación de un solo sitio, pero no es imposible. En este tutorial te mostraré dos métodos para lograrlo: usando plugins y de forma manual.
Lo que necesitarás
Para seguir este tutorial, necesitarás lo siguiente:
- Una instalación de WordPress con un sitio existente ejecutándose en él.
- Una red multisitio de la que seas el administrador de la red.
- Para los movimientos manuales, necesitará un cliente FTP, un editor de código y acceso a phpMyAdmin.
Usar un plugin para mover un sitio a un multisitio
Si tu sitio no tiene una gran cantidad de configuraciones realizadas a través de pantallas de plugins, temas o ajustes del sitio, es posible que puedas moverlo con éxito utilizando el plugin WordPress Importer. Si el sitio tiene widgets, puedes copiar sus ajustes a través del plugin Widget Settings Importer/Exporter.
Sin embargo, si has añadido una gran cantidad de ajustes personalizados utilizando configuraciones u opciones de pantallas o el personalizador de temas, ninguno de estos será copiado. En este caso, tendrá que hacer un traslado manual.
Para obtener detalles completos sobre cómo usar estos plugins para mover tu sitio, consulta mi anterior tutorial sobre el empleo de plugins para mover un sitio de WordPress. El proceso para mover un sitio a una red multisitio o a una sola instalación es exactamente el mismo.
Migrar manualmente un sitio a una instalación multisitio
El sitio que vas a trasladar a una instalación multisitio tendrá tres componentes que debes copiar del anterior sitio:
- archivos de tema y plugins: puedes copiarlos o instalarlos en la red si es que aún no están instalados
- cargas, las encontrarás en el directorio
wp-content/uploads
de tu antiguo sitio, mientras que en la instalación multisitio tendrás que entrar enwp-content/uploads/sites/XX
, dondeXX
es el ID de tu nuevo sitio en esta red (más sobre esto en breve) - tablas de base de datos
Nota: Si la red multisitio a la que estás moviendo tu sitio fue creada antes de la versión 3.5 de WordPress, no tendrás una carpeta sites
. En su lugar, tendrás una carpeta blogs.dir
dentro de wp-content
que contendrá todos los archivos cargados para los subsitios. Aquí existirá una carpeta numerada para el sitio que estás creando, y es en esta en la que debes copiar los archivos. Cubriré esto con más detalles a continuación.
Hacer primero una copia de seguridad
Antes de hacer algo como esto, es buena idea hacer una copia de seguridad del sitio que vayas a mover y también de tu instalación multisitio. Utiliza tu plugin de copia de seguridad preferido, o una combinación de FTP y phpMyAdmin si prefieres trabajar de forma manual.
Utilizarás esta copia de seguridad para copiar los archivos relevantes en tu nuevo sitio, y también te dará un poco de tranquilidad en caso de que surja algún problema.
Crear un nuevo sitio en la red
Antes de poder migrar el antiguo sitio a la instalación multisitio, deberás crear un nuevo sitio vacío en la red. Más tarde importarás todo desde tu antiguo sitio a este nuevo.
Crea el sitio de la manera normal, yendo a Administración de red > Sitios, haciendo clic en Añadir nuevo e introduciendo los detalles de tu nuevo sitio.
Encontrar el ID de tu nuevo sitio en la red multisitio
Cada sitio de una red multisitio tiene su propio identificador numérico único. Esto se utiliza para identificar su carpeta en el directorio wp-content/uploads/sites
(o wp-content/blogs.dir
si la red multisitio es anterior, consulta más arriba) y también para identificar las tablas de la base de datos para ese sitio.
Para buscar esto, dirígete a Administración de red > Sitios y, a continuación, selecciona la opción Editar para el sitio que acabas de crear. La URL a la que WordPress te llevará te proporcionará el ID del sitio. La dirección URL debe tener el formato https://mired.com/wp-admin/network/site-info.php?id=XX
.
XX
es el identificador de tu sitio, y será el nombre de la carpeta que contiene tus archivos, así como el prefijo para los nombres de tabla de la base de datos.
Cargar archivos en el nuevo sitio
Identificar los plugins utilizados por tu antiguo sitio e instálalos (si es que aún no lo están) en tu red de WordPress a través de la pantalla Plugins o cárgalos en wp-content/plugins
desde la copia de seguridad que realizaste de tu anterior sitio.
Haz lo mismo para cualquier tema que use tu sitio: cópialos desde tu copia de seguridad en el directorio wp-content/themes
de tu red, o simplemente vuelve a instalarlos.
Nota: en una red multisitio, los temas y plugins se almacenan en un solo lugar para todos los sitios, no es necesario almacenarlos en un lugar específico para el nuevo sitio.
Copie las cargas de tu antiguo sitio en el nuevo. Los archivos que necesitarás copiar están en el directorio wp-content/uploads
de tu sitio anterior. El lugar en donde debas cargarlos dependerá de la antigüedad de la versión de la red:
- Si la red se creó después de WordPress 3.5, tendrás una carpeta
sites
enwp-content/uploads
. Busca la subcarpeta con el ID de tu sitio y carga el contenido de la carpetawp-content/uploads
de tu antiguo sitio en este. - Si la red es anterior y tiene una carpeta
blogs.dir
, también contendrá una carpeta con el identificador de tu sitio. Esta tendrá una subcarpeta llamadafiles
. Copia el contenido de la carpetawp-content/uploads
de tu antiguo sitio a la carpetafiles
.
Nota: es posible que tengas que eliminar cualquier carpeta que WordPress haya creado para tu nuevo sitio en la carpeta sites
o blogs.dir
para evitar conflictos.
Una vez hayas hecho todo esto, activa cualquier tema y plugin en tu nuevo sitio.
Exportar las tablas de tu antiguo sitio
WordPress multisitio utiliza tablas de base de datos independientes para cada sitio de la red. En lugar de almacenar las entradas de tu sitio en wp_posts
, por ejemplo, las almacena en wp_XX_posts
, donde XX
es el identificador de tu sitio.
Sin embargo, no utiliza tablas independientes para los datos de usuario, estos se almacenan en una tabla wp_users
y wp_usermeta
que comparte toda la red.
Esto significa que tendrás que copiar todas las tablas de tu antiguo sitio, excepto las dos tablas de usuario, y tendrás que cambiar los nombres de los archivos que estés copiando. Desafortunadamente tendrás que crear los usuarios de forma manual en el nuevo sitio usando las pantallas de administración de WordPress.
Para obtener más información sobre las tablas y bases de datos de un multisitio, consulta este tutorial sobre la bases de datos de WordPress y multisitios.
En PhpMyAdmin de tu antiguo sitio, haz clic en la pestaña Structure. A continuación, selecciona todas las tablas excepto wp_users
y wp_usermeta
. A continuación se muestra un ejemplo.



Haz clic en el cuadro desplegable With selected:, selecciona Export y después Go. Esto descargará un archivo sql
en tu equipo con el contenido de esas tablas.
Añadir usuarios
Tal y como he mencionado antes, no puedes copiar las tablas wp_users
y wp_usermeta
, ya que se duplicarían en la red multisitio.
Antes de empezar a importar las tablas que acabas de descargar, configura los mismos usuarios en tu nuevo sitio que los que existían en el anterior. Ten en cuenta que tendrán diferentes identificadores en la base de datos de la red multisitio que en el antiguo sitio, lo que puede causar algunas inexactitudes en la asignación de las entradas a los autores. Tendrás que corregir esto al final, algo que cubriré más tarde.
Editar las tablas de la base de datos
Haz una copia del archivo sql
que has descargado en tu equipo y asígnale un nombre que te señale lo que es (por ejemplo, añadiendo copia
a su nombre). Ábrelo en un editor de código.
Editar enlaces
Cambia todas las instancias del dominio del sitio en la red multisitio al nuevo dominio de tu multisitio. Por ejemplo, si tu sitio estaba en http://misitio.com
, cámbialo a http://mired.com/misitio
. Si tu red utiliza subdominios, tendrás que cambiarlo a http://misitio.red.com
. Guarda el archivo.
Editar referencias de tabla
Las tablas de la base de datos del nuevo multisitio necesitarán prefijos para el identificador de cada uno de sus sitios. En tu archivo sql
, reemplaza todas las instancias de wp_
por wp_XX_
, donde XX
es el ID de tu sitio.
Ahora guarda el archivo sql
.
Importar las tablas a la nueva base de datos
Ahora que has instalado tus temas y plugins y exportado tus datos, debes importar las tablas de la base de datos a la red multisitio.
Eliminar las tablas existentes
Antes de subir las tablas desde tu antiguo sitio, tendrás que eliminar las duplicadas que WordPress haya añadido a tu nuevo sitio.
En phpMyAdmin, suelta las tablas que tienen el prefijo wp_XX_
, donde XX
es el ID de tu sitio. Estas incluirán lo siguiente, pero pueden incluir además tablas creadas por plugins:
wp_XX_commentmeta
wp_XX_comments
wp_XX_links
wp_XXoptions
wp_postmeta
wp_posts
wp_terms
wp_term_relationships
wp_term_taxonomy
Selecciona esas tablas (más cualquier tabla wp_XX_
creada por algún plugin), haz clic en el menú desplegable With selected:, seleccione Drop y luego Yes.
El siguiente ejemplo incluye una tabla adicional que ha sido creada por un plugin:



Importante: Si tu antiguo sitio tenía tablas de base de datos creadas por plugins, debes instalar esos mismos plugins en la red antes de importar la nueva base de datos. La importación incluirá estas tablas, que no funcionarán a menos que se haya instalado el plugin.
Cargar las tablas de la base de datos
A continuación, carga la base de datos que has editado:
- Haz clic en la pestaña Import.
- Haz clic en el botón Choose file.
- Selecciona el archivo sql que has editado y haz clic en Choose o OK.
- Haz clic en el botón Go.
- Después de un tiempo (dependiendo del tamaño de la base de datos), verás un mensaje que te indicará que la carga ha finalizado correctamente.
Pasos finales
Borra la caché de tu navegador. Esto evita cualquier problema que puedas tener si el navegador ha almacenado contenido guardado en la caché desde el antiguo sitio.
Ahora inicia sesión en el administrador de WordPress para el sitio remoto. Si has trasladado las tablas de usuario, tus datos de inicio de sesión serán los mismos que los de tu antiguo sitio, pero si no lo hiciste, estos serán los que especificaste cuando instalaste WordPress en la nueva ubicación.
Visita la pantalla Permalinks para tu nuevo sitio y vuelve a activarlos.
Mira la pantalla principal de Entradas y comprueba que a estas les han sido asignados autores, hay bastantes probabilidades de que esto no se haya solucionado de forma correcta. Puedes cambiar esto por lotes:
- Selecciona todas las entradas que deben ser asignadas a un autor determinado.
- Haz clic en Acciones en lote y selecciona en el menú desplegable Editar.
- Haz clic en Aplicar.
- En el panel que aparece, selecciona el autor adecuado en el cuadro desplegable.
- Haz clic en Actualizar.
El panel de edición se muestra en la captura de pantalla:



Si tu sitio tiene páginas y tipos de entradas personalizadas, repite el proceso anterior para ellos.
Comprueba que todos tus enlaces están funcionando bien y que los widgets y plugins se comportan como deberían. Si no es así, puedes retroceder en el proceso, utilizando tus copias de seguridad donde lo necesites, o simplemente configurar los plugins y widgets desde dentro de tu nuevo sitio.
Configuración de la asignación de dominios
Si deseas mantener el mismo nombre de dominio que estabas utilizando para el sitio cuando estaba en una instalación de un solo sitio, puedes usar el plugin domain mapping para hacer esto. Instala el plugin, actívalo en tu red y luego sigue las instrucciones dadas por el plugin para configurarlo. Esto implicará realizar cambios en la configuración de DNSs de tu dominio.
Resumen
Mover un sitio a una red WordPress multisitio desde tu propia instalación no es algo que puedas hacer rápidamente o sin ser muy minucioso, pero sí es posible y yo lo he hecho un par de veces. Sólo tienes que seguir los pasos dados aquí y asegurarte de que tienes copias de seguridad en caso de que surja cualquier problema, y descubrirás que te funciona sin problemas.
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Update me weekly