1. Code
  2. Coding Fundamentals
  3. Databases & SQL

Mover WordPress: Mover una red multisitio

Scroll to top

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

En esta serie hasta ahora te he mostrado cómo mover una instalación estándar de WordPress, pero ¿cómo mueves una red multisitio? La respuesta es que el proceso no es demasiado diferente al de un solo sitio, aunque hay algunas consideraciones adicionales. Aquí te mostraré cómo.

En esta serie de siete partes te mostraré cómo mover un sitio de WordPress, centrándonos en varios escenarios distintos:

  • usar plugins para mover un solo sitio de WordPress
  • mover tu sitio de un subdirectorio al directorio raíz
  • mover manualmente un solo sitio de WordPress
  • mover una red multisitio de WordPress (esta parte)
  • mover un blog desde una red multisite
  • mover un sitio a una red multisitio

Lo que necesitarás

Para seguir este tutorial, necesitarás lo siguiente:

  • Una instalación de WordPress con temas y plugins ejecutándose en él, además de algunos contenidos (entradas, páginas, medios) ¡lo que sea que esté en tu sitio! La instalación debería tener la funcionalidad de multisitio activada.
  • Una segunda ubicación a la que desees mover tu sitio.
  • Un cliente FTP y un editor de código
  • Acceso a phpMyAdmin.

¿Por qué es diferente mover un multisitio?

Un multisitio de WordPress consiste esencialmente en los mismos elementos que cualquier sitio de WordPress:

  • una base de datos
  • tus temas y otros archivos en el directorio wp-content
  • WordPress en sí (con multisitio habilitado)

Pero como sabrás si trabajas con multisitio, este no almacena contenido de la misma manera en la que lo hace una instalación normal de WordPress. Un multisitio crea una carpeta adicional llamada sites en el directorio wp-content/uploads, que contiene los medio cargados y plugins relevantes para cada sitio. Lo bueno de esto es que mientras muevas tu carpeta uploads, todo estará bien.

Nota: Si instalaste multisitio antes de la versión 3.5 de WordPress, no tendrás un directorio sites en wp-content/uploads. En su lugar, tendrás un directorio blogs.dir en la carpeta wp-content. Esto a su vez contendrá una carpeta para cada sitio, que tendrán una subcarpeta llamada files, que a su vez tendrán subcarpetas para sus cargas por fecha, de la misma forma que una instalación normal de WordPress. Más adelante en este tutorial voy a explicar qué necesitas hacer para que tu migración funcione si este es tu caso.

Entonces, ¿cómo lo mueves? La respuesta depende de tu configuración. Lo que tendrás que hacer para mover la instalación multisitio dependerá de lo siguiente:

  • ¿Están tus sitios configurados mediante subdominios o subdirectorios?
  • ¿Tienes configurada la asignación de dominio de manera que todos los sitios tengan su propio dominio apuntando a ellos en tu red multisitio?
  • ¿Deseas moverlos todos a un nuevo dominio con la misma configuración que tienen ahora? ¿O simplemente quieres mover uno o algunos de los sitios?

Para abordar estas preguntas, voy a trabajar a través de esto por etapas. Primero te mostraré cómo mover toda tu instalación multisitio con subdirectorios. Después miraré los subdominios. Y después trabajaré a través de lo que necesitas hacer si tus sitios tienen sus propios dominios configurados.

Si solo deseas migrar uno o dos sitios fuera de un multisitio, tendrás que leer el siguiente tutorial de esta serie, en el cual se explica cómo mover un blog fuera de una red multisitio.

Antes de empezar

Actualizar tu instalación de WordPress de tu antiguo sitio

Como estarás ejecutando la última versión de WordPress en tu nuevo sitio, es importante actualizar tu antiguo sitio antes de migrarlo.

Esto es particularmente importante si tu sitio fue creado antes de WordPress 3.5 y tienes esa carpeta blogs.dir. Si este es el caso, WordPress ejecutará el sitio en modo de compatibilidad, lo que significa que puedes seguir con la antigua estructura de carpetas y copiar los archivos tal y como están.

Pero debes ejecutar una actualización incluso si este no es el caso, para garantizar la compatibilidad.

Copia de seguridad

Antes de empezar nada, haz una copia de seguridad de tu sitio:

  • tus archivos cargados
  • los temas y plugins que hayas utilizado, por si hay algún problema poder reinstalarlos en el nuevo sitio
  • la carpeta blogs.dir (si tienes una, ver arriba) y su contenido
  • tu base de datos

Depende de ti si mueves manualmente tus archivos de tema y plugins, o si simplemente los reinstalas en el nuevo sitio. Sin embargo, si los reinstalas, debes hacerlo antes de migrar la base de datos, ya que cualquier dato en la tabla wp-options que esté relacionado con tus temas y plugins podría necesitar que el archivo de plugin esté presente para que sea reconocido por WordPress.

En este tutorial usaré cPanel y phpMyAdmin. Si tu proveedor de alojamiento no los proporciona o estás trabajando con una instalación local, deberás usar las herramientas que se te proporcionan. Por ejemplo, para una instalación local, MAMP y WAMP proporcionan herramientas similares para manejar bases de datos y tablas.

Mover una instalación multisitio 'Vanilla'

Como es de esperar, este es el más fácil de todos, y no es demasiado diferente a mover un sitio de WordPress normal.

Desactivar Pretty Permalinks

En tu sitio anterior, abre la pantalla Permalinks, que encontrarás en el menú Ajustes. Desactiva "pretty permalinks" seleccionando la opción Predeterminado y haciendo clic en el botón Guardar cambios.

Esto no es siempre es necesario, pero puede ahorrarte tener problemas si los enlaces permanentes de tu nuevo sitio no están configurados de la misma manera que en tu sitio antiguo.

Descargar y copiar tu antigua base de datos y tus archivos

Puedes realizar una copia de seguridad de la base de datos de una de estas dos maneras:

  • usando phpMyAdmin (el método que usaré aquí)
  • utilizando un plugin de copia de seguridad como WP-DB-backup, que enviará por correo electrónico o descargará una copia de tu base de datos

En phpMyAdmin para el sitio antiguo, selecciona la base de datos correcta y haz clic en la pestaña Export. Para descargar la base de datos, haz clic en el botón Go. La base de datos se descargará en tu equipo local como archivo sql.

Exporting databases from the current serverExporting databases from the current serverExporting databases from the current server

Si voy a editar la base de datos (lo que tendrás que hacer si estás cargando un sitio desde una instalación local o vas a cambiar el nombre de dominio), hago un duplicado de la base de datos en este momento y le añado el prefijo old- a su nombre. Esta es la copia de seguridad, mientras que la original es la que voy a editar.

A continuación, utiliza tu cliente FTP para descargar el contenido de wp-content de tu anterior sitio.

Instalar WordPress multisitio en la nueva ubicación

Usando tu método preferido, instala WordPress multisitio en el servidor al que deseas mover tu sitio.

IMPORTANTE: Asegúrate de instalar multisitio con los mismos aiustes que la anterior instalación multisitio. Si cambias de subdominios a subdirectorios o viceversa, los vínculos se romperán. Vale la pena comprobar los archivos wp-config.php y .htaccess de cada sitio para asegurarte de que sean los mismos.

Subir tu contenido al nuevo sitio

Si no has descargado los temas y plugins de tu antiguo sitio, instálalos en el nuevo sitio y actívalos. Si los descargaste, no es necesario que los instales manualmente.

Con FTP, copia los archivos de la copia descargada del directorio wp-content en el nuevo directorio wp-content remoto, utilizando la misma estructura de carpetas que en la copia de seguridad.

Hazte un café. Estos archivos podrían tardar un tiempo en cargarse.

Nota: Si tienes un directorio blogs.dir y has actualizado tu antiguo sitio a la última versión de WordPress antes de comenzar, solo tienes que subirlo igual que has hecho con todo lo demás.

Editar la base de datos

Mientras esperas a que esos archivos se carguen (y te acabas ese café), abre el archivo de la base de datos original de tu antiguo sitio para que puedas editarlo. Con el editor de texto que prefieras, reemplaza todas las instancias de la antigua dirección URL del sitio por la nueva dirección URL.

Por ejemplo, si tu antigua URL es antiguositio.com, la cambiaría a nuevositio.com.

Puedes acelerar esto mediante el comando reemplazar en el editor de texto: podrían existir miles de instancias. Omite https:// de la búsqueda, ya que algunas tablas de la base de datos almacenan la dirección URL del sitio sin esto y, si usas subdominios, los enlaces que lo contengan no funcionarán.

Guarda y cierra el archivo, lo usarás para rellenar la base de datos del nuevo sitio.

Nota: Otro método para hacer esto consiste en utilizar la herramienta de búsqueda y reemplazo de InterConnectIT. Esto ejecutará el proceso de búsqueda y reemplazo por ti, sin que tengas que editar manualmente el archivo de la base de datos.

Crear una base de datos para el nuevo sitio

En phpMyAdmin para tu nuevo sitio, crea una nueva base de datos:

  • En la página de inicio de cPanel, selecciona Bases de datos MySQL.
  • En MySQL, crea una nueva base de datos con un nombre único.
  • Haz clic en Crear base de datos.

Carga de la nueva base de datos

Todavía en phpMyAdmin, sube la base de datos que has editado:

  • Haz clic en la pestaña Import.
  • Haz clic en el botón Choose file.
  • Selecciona la nueva base de datos (editada) que has creado 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:
Import has been successfully finishedImport has been successfully finishedImport has been successfully finished

Pasos finales

Antes de terminar, borra la caché de tu navegador. Esto evita cualquier problema que puedas tener al acceder a tu nuevo sitio si el navegador ha almacenado contenido en caché de la versión del sitio antiguo.

Inicia sesión en tu nuevo sitio. Tus datos de inicio de sesión serán los mismos que para tu sitio anterior, incluso aunque especificases diferentes detalles de inicio de sesión al instalar su nueva red de WordPress, estos habrán sido reemplazados por la base de datos importada.

Visita la pantalla Permalinks y vuelve a activarlos.

Por último, es posible que tengas que ordenar tus widgets. Compruébalos y corrige cualquiera que no se haya trasladado como debiera. Si instalaste y activaste todos los plugins antes de mover tu base de datos, no deberías tener que hacerlo.

Ahora tu nuevo sitio funcionará de la misma manera que el anterior.

Mover una instalación multisitio mediante subdominios

Los subdominios complican un poco más las cosas, pero funcionarán siempre y cuando hayas seguido las anteriores instrucciones para no usar http:// al reemplazar tu nombre de dominio en la base de datos.

Si tu antiguo sitio estuviera en http://antiguositio.com y tuvieras un sitio secundario en http://blog1.antiguositio.com, el editor de código no lo encontraría si buscaras http://antiguositio.com. Por lo tanto, asegúrate de reemplazar todas las instancias de oldsite.com con nuevositio.com.

Mover una instalación multisitio con mapeo de dominios configurado

Si estás utilizando el plugin de mapeo de dominio, es posible que tengas algunas entradas en tu base de datos que se correspondan con los dominios asignados y no con el dominio de la instalación multisitio. Permíteme explicar esto mediante un ejemplo:

Imagina que tienes un sitio para niños llamado mysite. Su ubicación en tu dominio es http://antiguositio.com/misitio. Has configurado el mapeo a el desde el dominio http://misitio.com.

Cualquier enlace en tu sitio que haya sido generado por WordPress utilizará el dominio multisitio, por lo que un enlace a la página 'Acerca de' en la navegación, por ejemplo, tendrá un valor href de http://antiguositio.com/sitiogenial/acerca-de.

Sin embargo, también podrían existir enlaces en tu base de datos con un href de http://sitiogenial/acerca-de, que podría ser el caso si los editores del sitio han añadido manualmente enlaces dentro del contenido.

La buena noticia es que mientras actualices el mapeo de dominio, esto no tendrá importancia, ya que los enlaces a tu dominio asignado seguirán aplicándose al mismo dominio mapeado, independientemente del hecho de que el dominio multisitio al que estés mapeando haya cambiado.

Por lo tanto, aunque no tengas que realizar ningún cambio adicional en la base de datos, es posible que debas actualizar el DNS después del traslado. Sigue los anteriores pasos para cargar la nueva base de datos y, después, sigue que se indican a continuación.

Actualizar el mapeo de dominios

Lo que debas hacer aquí dependerá de cómo hayas configurado el mapeo de dominio:

  • Si has utilizado dominios aparcados en cPanel para apuntar a tu dominio a la red multisitio y has movido servidores o alojamientos, tendrás que actualizar los nombres de servidor de tu dominio. Accede a cPanel para tu nuevo sitio y añade todos los dominios a tu nuevo sitio de la misma manera que lo hiciste para tu sitio original. Asegúrate de seleccionar Wild Card Redirect o Redirección de comodín para que las direcciones URL internas funcionen correctamente.
  • Si has utilizado registros CNAME, tendrás que actualizarlos con tu registrador de dominio o en cPanel.
  • Si has utilizado registros A para apuntar a una IP única para la instalación multisitio y estás haciendo un traslado a un nuevo servidor, tendrás que obtener una nueva dirección IP única de tu proveedor de alojamiento. A continuación, actualiza la dirección IP en la configuración de mapeo de dominio para el nuevo sitio y cambia también el registro A para cada dominio que apunte a tu sitio. Si tus sitios son ejecutados por varios administradores que también tienen el control de sus propios DNSs, este podría ser el mayor dolor de cabeza.

Nota: Si necesitas acceder a sitios de la red antes de cambiar la configuración de DNSs de tus dominios y tienen el dominio mapeado configurado como dominio principal, puedes cambiarlo en la configuración de mapeado de dominio de la red, yendo a Ajustes > Dominios en las pantallas de administración de red.

Pasos finales

Ahora completa los pasos finales de la misma manera que para un sitio sin mapeo de dominio (consulta más arriba).

Resumen

Este tutorial es más largo que el que explica cómo mover una instalación de WordPress de un solo sitio, porque mover WordPress multisitio es un poco más complicado. Si tienes una instalación multisitio 'vanilla', las cosas no son demasiado diferentes de un solo sitio, pero es posible que también tengas que tener en cuenta los subdominios/subdirectorios, una carpeta blogs.dir y el mapeo de dominios.

Sin embargo, si sigues los anteriores pasos, deberías poder mover tu sitio correctamente.