Wordpress XMLUna de las características que tiene WordPress, es la capacidad de exportar e importar en formato XML todo el contenido de nuestro blog a modo de backup. Ésto es muy útil, ya que cuando nos vemos obligados a cambiar de servidor por alguna razón determinada, importar una base de datos se puede convertir en una tarea que roza lo imposible, sobretodo si no contamos con privilegios suficientes en la misma o la versión de MySql del servidor en el que estábamos alojados difiere de la del destino.

Por éstas razones, resulta muy importante la antes mencionada característica de WordPress. Sin embargo, cuando nuestro blog “crece”, el tamaño del archivo xml que genera WordPress también lo hace. El problema de ésto, es que WordPress sólo puede gestionar (en teoría) archivos de un tamaño máximo de 2MB, y ése es el límite que nos ponen muchos hosts a la hora de subir un archivo, por lo que resulta imprescindible dividir en partes el XML si queremos recuperar todos nuestros datos.

A continuación, explico brevemente cómo y por dónde dividir un archivo XML de WordPress, ya que no se debe hacer a ciegas debido a que éste contiene información estructurada sobre cada post, comentario, categorías, etc, de una manera ordenada.

Codificación del archivo

En primer lugar, debemos crear un archivo de texto ANSI codificado como UTF-8 sin BOM (ésto se puede hacer perfectamente en algún editor de texto completo como Notepad++ en Windows o Smultron en Mac). Es muy importante que la codificación se ésta, ya que en caso contrario no nos detectará caracteres como tildes, ñ, etc.

Estructura del archivo

La estructura de un archivo xml de WordPress es la siguiente:

<?xml version="1.0" encoding="UTF-8"?>

<rss>
    <channel>
       /* INICIO INTRODUCCIÓN */
      <title>bocabit.elcomercio.es</title> /* Título del blog */
	 <link></link>  /* Dirección del blog */
	 <description></description>   /* Descripción */
	 <pubDate>Thu, 05 Jun 2008 13:35:15 +0000</pubDate> /* Última fecha de publicación */
	 <generator>http://wordpress.org/?v=2.5.1</generator>  /* Versión de WordPress */
	 <language>en</language> /* Idioma */
	 <wp:wxr_version>1.0</wp:wxr_version>
	 <wp:base_site_url>http://bocabit.elcomercio.es</wp:base_site_url> /* Dirección base */
	 <wp:base_blog_url>http://bocabit.elcomercio.es</wp:base_blog_url> /* Dirección base del blog */
         /* FIN INTRODUCCIÓN */

          /* INICIO CATEGORÍAS */
	 <wp:category></wp:category>
          /* FIN CATEGORÍAS */

          /* INICIO TAGS */
	 <wp:tag></wp:tag>
          /* FIN TAGS */

     /* INICIO POSTS */
    <item></item>
    /* FIN POSTS */

      </channel>
</rss>

Puntos a tener en cuenta

  1. Debemos poner las etiquetas xml, channel y rss en todos los archivos
  2. No debemos dividir un dato etiquetado con “item” por la mitad. Cada elemento debe estar entero.
  3. 2MB vienen a ser unas 31.600 líneas de código (Éste deberá ser el tamaño máximo de cada fichero)

Ejemplo

Si queremos dividir un archivo XML que ocupe 4’3 MB (Por poner un ejemplo), deberemos crear 3 archivos xml distintos, cada uno de 31.600 líneas (más o menos) como máximo.

En el primer archivo, pondremos la introducción, las categorías y los tags. Además, también meteremos todos los posts que nos entren (cada item es un post).

En el segundo y tercer archivo respectivamente, partiremos de donde terminamos de copiar el anterior, cogiendo el siguiente post y rellenando hasta llegar a las 31.600 líneas.

Importación

Cuando decidamos importar los archivos, creo que podemos hacerlo en el orden que queramos, aunque yo recomiendo hacerlo en el orden que los hemos dividido (en el primero debe estar la introducción).

Y hasta aquí, cómo dividir un archivo XML de WordPress. Como veis, sólo hace falta analizar un poco la estructura del fichero y a partir de ahí no tiene ninguna dificultad, aunque es verdad que si tenemos un blog con muchas entradas, se puede convertir en una tarea muy pesada.