AdLemons | Contacto

Registrarse | Entrar

Cómo migrar las imágenes de WordPress.com a WordPress.org

Escrito por Miguel Angel Ivars Mas en Tutoriales · Martes 5 de noviembre de 2013 ·
Cómo migrar las imágenes de WordPress.com a WordPress.org

Cómo migrar las imágenes de WordPress.com a WordPress.org

Al migrar un blog de WordPress.com a WordPress.org, si en los artículos del blog incluimos imágenes, como suele ser cada día más habitual, en ocasiones surgen problemas a la hora de trasladar las imágenes de un blog a otro correctamente al migrar.

En el momento de hacer la migración, el plugin de WordPress puede no encontrar las imágenes de la url original, bien porque hemos redireccionado antes de tiempo el dominio, bien porque hemos modificado las url en el archivo de exportación .xml antes de subirlo y al importar no existen en la ubicación futura aún, bien porque ha habido una caída temporal del servidor de origen, o simplemente porque son tantos que se corta la ejecución de script de importación por llegar al límite por culpa de ser tan grande la cantidad de contenido a transferir, etc. En esos casos, necesitaremos un plan B para recuperar dichas imágenes.

Si el blog tiene poco tiempo de existencia, y por tanto pocos artículos, o no solemos incluir imágenes en los post, quizás se pueden descargar a mano una a una de WordPress.com a nuestro ordenador y volverlas a subir al nuevo servidor. De lo contrario, puede ser un infierno la tarea o directamente imposible, por lo que voy a intentar explicar un método alternativo que he descubierto gracias a Kaspars Dambis para hacer esta acción de forma bastante automatizada.

Partiremos del archivo .xml con el contenido a exportar, lo copiaremos en una carpeta dentro de nuestro servidor web local y lo renombraremos como export.xml

En esa misma carpeta, crearemos un archivo con extensión php con este contenido:

$a = array();
$x = simplexml_load_file('export.xml');

foreach ( $x->channel->item as $item )
        if ( $wp = $item->children('http://wordpress.org/export/1.2/') )
                if ( $wp->post_type == 'attachment' )
                        $a[] = $wp->attachment_url;

file_put_contents( 'urls.txt', implode( "\n", $a ) );

Este script php tomará desde el xml y extraerá todas las url de las imágenes adjuntas y las almacenará en un archivo nuevo .txt llamado urls.txt en la misma carpeta.

A continuación ejecutaremos la siguiente orden en la línea de comandos:

$ xargs -n 1 wget -p -nc < urls.txt

Con ella, recorremos todas las url almacenadas en el archivo recién creado urls.txt y de forma automática se guardarán todas las imágenes en la carpeta local que se creará con la estructura original de wordpress.com, de modo que subirlas al blog de nuestro servidor será solo copiar y pegar una vez todo su contenido dentro de la carpeta wp-content/uploads/.

Si trabajamos con MAC probablemente no tendremos instalado wget, pero Carlos Burgués explica en este tutorial como instalar wget en OS X sin la ayuda de Homebrew o Macports.

Otra alternativa es usar curl:

$ xargs -n 1 curl -O < urls.txt

Pero debemos tener en cuenta que curl no mantendrá la estructura original de carpetas de las imágenes al descargarlas.

Al acabar y antes de importar el xml al nuevo blog, deberíamos modificar con la opción de buscar y sustituir de cualquier editor de texto todas las urls de las imágenes, de modo que pasarán de esta estructura:

http://miblogviejo.files.wordpress.com/2013/04/img_0316.jpg

A esta otra:

http://miblognuevo.com/2013/04/img_0316.jpg

Con ello ya tendríamos el archivo xml preparado para importarlo apuntando a la nueva ubicación de las imágenes, donde las acabamos de subir en el nuevo servidor.

La única cuestión a tener en cuenta de este método, es que a pesar de funcionar a la perfección como he probado, no afecta en ningún caso a la base de datos, que es lo que usa la la Librería Multimedia de WordPress, por lo que no tendremos acceso vía la Librería para usar desde ahí en el futuro dichas mismas fotos porque a la base de datos no le constan que existan. Pero siendo fotos antiguas, esto en principio no debería ser gran problema. Y en caso de serlo podemos insertarlas en el post usando directamente la url de la misma imagen.

Espero que os haya sido de utilidad este tutorial técnico para migrar imágenes de WordPress.com a WordPress.org y que es así lo compartáis para que otros puedan sacarle también partido.

  • Twitter
  • Facebook
  • LinkedIn
  • Reddit
  • Digg
  • HackerNews
  • Tumblr
  • Suggest to Techmeme via Twitter
  • Meneame
  • del.icio.us
  • StumbleUpon
  • Google Bookmarks
  • RSS
  • PDF
  • Print
  • email
Subscribe To Comments: Blog de AdLemons, noreply@adlemons.com, activado, Notifícame de los siguientes comentarios por correo, Estás suscrito a los comentarios de este post. Gestionar tus suscripciones. , Eres el autor de este post. Gestionar tus suscripciones., desactivado, [theme_path]/header.php,
,
What Would Seth Godin Do:

Si eres nuevo por aquí, y te interesa lo que lees, podrías suscribirte al feed RSS. ¡Gracias por tu visita!

Comentarios

2 Respuestas en “Cómo migrar las imágenes de WordPress.com a WordPress.org”

  1. Cómo migrar un blog de WordPress.com a WordPress.org en un dominio propio : Blog de AdLemons en noviembre 13th, 2013 15:32

    [...] Cómo migrar las imágenes de WordPress.com a WordPress.org [...]

  2. https://saraijoyas.wordpress.com/ en julio 25th, 2014 13:28

    Hola he visto tu post y es realmente bueno, a partir de ahora te sigo!!

    =)

Responder




2016 (C) Efectividads Socials Ads S.L. - Todos los derechos reservados.