Migrar un sitio de WordPress Multisite a un sitio individual

contacta     ·     sobre     ·     azar     ·     buchaca     ·     manifiestos    ·   

Si andas queriendo sacar tus sitios de WordPress instalados en un Multisite o WPMU, aquí te explico cómo. No hay una forma automática de hacerlo, pero al menos lograrás el objetivo aprendiendo de paso un poco más sobre bases de datos y uso de servidor y WordPress. Este manual es de nivel medio.
Tal vez hubo un día en el que creíste que tener una instalación de WordPress Multisitios, o WordPress MU (WPMU) era una gran idea. Tal vez lo sigue siendo, o tal vez, como me ha pasado a mi, te ves en la necesidad de sacar uno de los sitios que tienes hospedados ahí para tenerlo como instalación individual.

La mayoría de la documentación que se encuentra es en inglés, algo normal cuando hablamos de foros y aprendizaje sobre estos temas. Aquí pretendo explicarte de la mejor forma cómo puedes proceder si deseas pasar un sitio a una instalación propia.

Nunca está de más recordar…. ¡Haz una copia de seguridad de todo antes de nada! 🙂 Gracias.

Entonces… paso por paso:

  1. Identifica el ID del sitio que quieres bajar. Si vas a network > Sitios, pinchando sobre el que te interesa en la URL te vendra el «id=número».

  2. Baja la Base de Datos (BD) a través de PHPMyAdmin en tu hosting (si, doy por hecho que lo tienes y sabes usarlo) seleccionando las tablas «wp_(número de sitio)» que corresponden a tu sitio. Se recomienda tomar una captura de pantalla para luego ver cuáles son las que tengo que borrar y reemplazar.

  3. Abrirlo en Sublime Text (o cualquier otro editor de texto aunque este es bastante recomendable) y quitar el número para que quede wp_.

  4. Subir wordpress limpio y crear como extensión de mi base de datos que sea «wp_». Una vez hecho, acceder por FTP y aumentar los archivos correspondientes a las carpetas /plugins /theme /uploads del número de sitio al que corresponde nuestra web.

  5. Al subir el WordPress limpio se creará la base de datos con todas las tablas. Borrar las que tenemos guardadas y subir nuestro archivo a esta base de datos. Simplemente se agregarán.

  6. Revisar la BD para ver que ninguna tabla tiene puesto el antiguo dominio. Sobre todo wp_site y wp_options.

  7. Instalar “Better Search & Replace” y buscar cadenas antiguas de imágenes o vínculos a posts. Este plugin prácticamente no necesita mucha explicación, una vez se instala se ve claramente dónde colocar la antigua url y la nueva, o parte de una cadena, por ejemplo: reemplazar «/uploads/site/5/» por «/uploads/» y de esa forma nos va a reconocer los archivos en la carpeta que queremos.

 

¡Y listo!

¿Lo has intentado? ¿Te ha servido el breve manual? Si tienes cualquier problema puedes dejar un mensaje en comentarios y vemos la forma de arreglarlo. Si tienes una forma mejor de hacerlo, no dudes en pasarme el enlace para seguir aprendiendo.

 

Actualización 31 mayo 2017

Ignacio Cerro, de imanguxara.com, comentaba más abajo lo bueno que era poder acceder a esta entrada ya que tenía el mismo problema. Durante este mes hemos estado en un contacto bastante fluido y, lo mejor de todo, fructífero para aprender y mejorar la forma de hacerlo.

Aquí copio la forma en que lo explica él esperando que para aquellas personas que tengan que pasar por este tedioso proceso les sea aún más útil:

WPMU es una excelente solución en muchos casos cuando existe la necesidad de gestionar y mantener varios sitios webs basados en WordPress. Sin embargo, llega un momento en el que pueden pesar más los inconvenientes que los beneficios. La gestión de los backups y restauraciones en caso de error, actualización selectiva de plugins en función del sitio, antigüedad y tema o la simple posibilidad de facilitar la salida de uno de los sitios dentro del wpmu a un nuevo hospedaje son algunos de los motivos que nos pueden empujar a dejar atrás la instalación del wpmu.

Aquí planteamos cuáles deben ser los pasos a seguir para llevar un sitio dentro de una instalación de wpmu a su propia e independiente instalación.

1.- Lo primero que hay que hacer es instalar un nuevo wordpress con el dominio que nos interesa en el hospedaje que vayamos a usar.

2.- Si nos resulta posible, en el proceso de instalación vamos a determinar el prefijo de la base de datos. Para facilitar todo elegiremos el mismo prefijo que tiene ese sitio web en la instalación de wpmu dentro de su base de datos. Por ejemplo, en una instalación de wpmu podemos averiguar el id del sitio a migrar. El prefijo de la base de datos es habitualmente del tipo “wp_id_”. Por tanto, si, por ejemplo, el id del sitio a migrar es el 32, al instalar el nuevo wordpress elegiremos el prefijo» wp_32_” para la base de datos que se crea. phpMyAdmin nos ayuda a ver cómo es esto realmente. Si en el proceso de la instalación del nuevo wordpress no podemos o no sabemos cómo determinar el prefijo, deberemos tenerlo en cuenta a posteriori pues necesitamos este dato para poder avanzar.

3.- El siguiente paso es acceder a la base de datos del wpmu con phpMyAdmin. Nos muestra todas las tablas. Seleccionamos todas las que tengan el prefijo “wp_id_», siendo id el identificador del sitio que queremos migrar. Seleccionamos todas las tablas a excepción de:  options, users y usersmeta (no vamos a exportar las que aparezcan de estas tres). En la parte inferior de la pantalla, en el menú que dice “Para los elementos que están marcados” elegimos la opción Exportar. Elegimos la opción rápida y el formato SQL y pulsamos en continuar. Se descarga la base de datos en formato SQL.

4.- Pues bien, ya tenemos la base de datos del sitio que queremos migrar con lo que realmente necesitamos.

5.- Ahora descargamos vía ftp todas las imágenes que pertenecen al sitio que quiero exportar. En el wpmu están en la dirección httpdocs/wp-content/blogs-dir/ . Allí dentro volvemos a acudir al id del sitio a exportar. Estudiando las url en las que se guardan las imágenes del wpmu y de la nueva instalación y usando ftp, subimos al nuevo sitio las imágenes del antiguo.

6.- Hacemos lo mismo que en el paso anterior pero para el tema y los plugins usados.

7.- Hay que activar el tema y los plugins que se usen en el sitio de destino, tal cual estaban en el de origen.

8.- Ahora, usando phpMyAdmin, editamos la base de datos de la nueva web. Elegimos todas las tablas menos options, users y usersmeta y las eliminamos.

9.- Toca importar el archivo SQL previamente descargado.

10.- El proceso está terminado pero faltan pequeños ajustes. El primero es acudir al backend del nuevo sitio y determinar cuál debe ser la página de inicio de la web.

10.- A continuación hay que elegir la posición del menú existente en el sitio correcto dentro de Apariencia, menú.

11.- Casi hemos terminado pero hay que copiar los ajustes del tema del sitio antiguo al nuevo. Muchos temas incluyen la posibilidad de exportar e importar estos ajustes. En ocasiones es copiar y pegar una cadena de texto en el sitio correspondiente. Es algo que hay que buscar entre las opciones del tema.

12.- Por último, si hemos usado google maps, es probable que necesitemos reintroducir la API que nos permita la visualización de esos mapas.

Con esto, el resultado debe ser al 100% idéntico al de origen.

Hagamos de esto una conversación

25 comentarios en «<span class='p-name'>Migrar un sitio de WordPress Multisite a un sitio individual</span>»

    • Hola Ignacio, tengo algo de experiencia con WPMU y claro, siempre me encuentro con problemas como éste que quise contar acá. Encantado de ayudarte, si quieres me cuentas por este mismo medio para que quede para otras personas que puedan tener el mismo problema y así leerlo. Cualquier dato sensible me lo pasas por mensaje a danicotillas@comunicacionabierta.net. Un abrazo!

      Responder
      • Estupendo Dani
        Iré contando los pasos que doy así como las dudas que me vayan surgiendo. Creo que de esa forma, aunque en principio mi nivel no permita aportar mucho, podré ir enriqueciendo un poco este tema. Pero primero debo solucionar algunos problemas que tengo en mi instalación de wpmu y que, si os parece bien, también puedo verter aquí.
        Un saludo

        Responder
    • Hola Juan, qué alegría tremenda de verdad. Como le decía a Cobo más arriba, gracias por tomaros la molestia en dejar un mensajito. Esto anima a seguir compartiendo más cosas que uno sabe y que a otro le pueden «salvar» el día.
      Abz!

      Responder
  1. Hola!!! hice todo, pero que pasa con LOS USUARIOS, en el MU tengo como 800… hice todo tal cual, menos la tabla users y metadatos como indican… luego cambie user por la anterior y me carga los usuarios (pero las contraseñas no funcionan… por lo menos las mias, no se la de mis clientes!), luego cargue users_metadata y zaz… ni abre la pagina!!!! volvi todo como estaba con metadata y cambie mi contraseña para poder entrar al sistema… el tema esta que me voy a woocommerce membership pro (alli tengo la configuracion de membresia) y los usuarios todos tienen como nombre el nombre de la membresia!!! y obviamente si no anda la contraseña no hay forma de entrar… ¿alguna solucion?

    Responder
    • Hola tocayo!
      Esto que cuentas me ha pasado, no exactamente igual, pero sí que de alguna forma andar toquiteando aquí y allá y si cambiaba una cosa se rompía todo. No tengo experiencia en Woocommerce en estas migraciones, así que no sé. Te diría que migres toda la base de datos a la instalación que hayas hecho individual de tu wordpress, y una vez ahí que borres las tablas de los sitios que no forman parte del tuyo. Y que reconfigures desde el phpMyAdmin los accesos, así como el wp-config y que inicie un nuevo .htaccess.
      Igual te digo que no soy sysadmin ni nada por el estilo, pero haría esto. Si no funciona me apuntaría cada paso e iría por otro camino, así apuntando cada paso para ver si lo repito cambiando algo en algún lugar, hasta dar con la solución.
      Si te haces un sitio nuevo con la base de datos original te debería tomar todo en cuenta.
      ¡¡¡Mucha suerte!!!

      Responder
  2. Hola! Muchas gracias! Muy aclaratorio!!! Una consulta, el proceso a la inversa, serviría ajustar este método? O sea, añadir un sitio normal a un multisite? Crear el sitio en el multisite y luego hacer el proceso que comentas a la inversa?
    Saludos y gracias

    Responder
    • ¡Hola José! Pues hace unos meses me tocó hacerlo y de hecho pensé: «tengo que hacer el manual a la inversa»… pero no lo hice 🙁 Recuerdo que no fue tan doloroso como este pero sí que se puede con meticulosidad en la base de datos. Crea tu nueva web desde el Admin maestro del WPMU y fíjate cómo nombra a tu nueva bd, de esa forma puedes hacer las modificaciones necesarias en el sitio que vayas a agregar, porque querrás poder mover toda la bd para que guarde tus configuraciones. Después de eso irá como la seda, seguro!
      Cualquier cosa no dudes en preguntar por aquí si te puedo cablear con algo.
      Saludos!

      Responder
  3. Hola! Mi primera web no la hice yo y la hicieron en WPMU, no sé por qué. En este caso también podría hacerlo? Es decir, cambiar esta web multisitio en el que solo hay un sitio, a sitio individual.
    Muchas gracias!

    Responder
    • Hola Luis,
      En el wp-config.php es donde se define que sea multisitio. Fíjate si simplemente borrando la línea que define eso te es suficiente. Yo diría que sí sin problema.

      Responder
      • Pues sí! tan fácil como dijiste. A diferencia de lo complicado que me lo pintaba soporte de Siteground… Muchas gracias Dani.
        PD. Concretamente borré esas líneas:
        define(‘MULTISITE’, true);
        define(‘WP_ALLOW_MULTISITE’, true );
        define(‘SUBDOMAIN_INSTALL’, true);
        define(‘DOMAIN_CURRENT_SITE’, ‘yoursite.com’);
        define(‘PATH_CURRENT_SITE’, ‘/’);
        define(‘SITE_ID_CURRENT_SITE’, 1);
        define(‘BLOG_ID_CURRENT_SITE’, 1);

        Responder
        • Hola! Pues en principio yo creo que con eso basta. La mejor prueba es que si después de borrarlas la web sigue funcionando, te deja instalar plugins y temas, y recibes los correos con normalidad… ¡estaría!
          Acuérdate que hay un archivo sunrise.php que también podrías borrar.
          Oye, y muy chula tu web pero fíjate que debajo del video de Juego de Tronos hay un problema con las columnas. En móvil también se ve mal. Te digo porque seguro querrás arreglarlo 🙂

          Responder
          • Vaya! te refieres a la sección testimonios? Qué raro.. Desde mi lado se ve bien… Probaré desde otro lugar… Gracias por avisar! No hace mucho tuve que rehacerla (de Salient a OceanWP) y ha sido un caos. Será algún fallo… Miraré! Y gracias por lo de la web. La tuya también! y ademas aporta más que la mía jjj.
            Y sí, parece que con solo borrar eso se ha solucionado. Parece ir todo bien (aunque ahora que dices esto de las columnas… mmm… O supongo que no tiene nada que ver con este cambio…). Voy a ver eso que dices del sunrise.php.

  4. Hola,
    Me pasa lo mismo que a Luis: tengo una instalación WP con una sola página en Multisite que no he hecho yo y la quería cambiar a individual, pero con sólo esos pasos que ha seguido él no me funciona. Aparentemente está todo bien en el backend pero la realidad es que no se puede navegar por el front de la web.

    Responder

Responder a Luis Cancelar la respuesta

blogroll

Licencia de producción de pares excepto en lo que no sea de mi puño y bit.