Después de 6 años usando pixelpost en el fotoblog la verdad que es una pena tener que cambiar a wordpress. Pixelpost es un sistema muy bueno para fotobloguers, pero que por desgracia lleva años estancandos, y sin tener una nueva versión.
Aún así no deja de ser un excelente sistema con una gran cantidad de plugins y temas, pero por desgracia algunas cosas han avanzando mucho más rápido, y wordpress es un gestor bastante bueno, aunque no esté orientado a imágenes.
Veamos como hacer la migración sin perdernos en el camino
1 – Exportar datos de pixelpost
Lo primero es exportar los datos que tengamos en pixelpost a un formato comprensible para wordpress. Después de dar miles de vueltas, hay un plugin que realiza el 90% de los pasos necesarios para exportar los datos, lo podeis encontrar en http://www.eleventwentysix.com/pp2wp/ .
El plugin es de pago pero no es caro, 14,99$ que van a una asociación de enfermos de eeuu, por que lo que estaréis haciendo la buena obra del día. Este plugin lo tenéis que subir a la carpeta de addons de pixelpost, y entrar en el área de administración.
En este área se nos dan distintas opciones para exportar. Lo mejor es exportar en ficheros separados, por un lado todos los tags, por otro lado los post sin imágenes, y un tercer fichero, que este marcaremos exportar por partes, con los post con las imágenes incluidas.
Por desgracia este addon tiene un fallo y es que wordpress no os va a importar las imágenes cuyo nombre tenga un espacio en blanco. Para solucionarlo editais el archivo php del addon y cambiais la siguiente linea por esta.
143 $enclosure = $cfgrow['siteurl'] . ltrim($cfgrow['imagepath'], “./”) . rawurlencode($image);
Una vez cambiado esto vamos generando los ficheros como se ha dicho anteriormente.
Importante, no marquéis importar imagen en cuerpo como <img src , más adelante veremos como vincular imágenes.
2 – Importar datos en wordpress
En una instalación limpia de wordpress, vamos al area de administración, herramienas, importar wordpress. Es sencillo.
Veréis que el importador nos da un límite de 2 megas por fichero, pero si habeis seguido las instrucciones de antes no tendremos este problema ya que deberíamos tener al menos 3 ficheros.
Antes de empezar a importar movemos las imágenes de nuestro fotoblog a wp-content/uploads. Esto acelerará la importación de los ficheros.
Primero importamos el fichero de post sin imágenes. Después es de los tags, y por últimos los ficheros con imágenes incluidas. Este últimos es el más lento de todos, ya que el programa descarga las imágenes de internet (si no están en la carpeta uploads) y las importa a la base de datos de la nueva instalación de wordpress.
Los fichero se habrán importado correctamente si veis la frase ‘Have fun … ‘ en cada uno de ellos. Sino seguramente se os mostrará un mensaje del tipo set_time_limit. Esto ocurre en hosting que limitan el tiempo de ejecución del script por seguridad. No os preocupéis, dais al F5 y se vuelve a importar, como wordpress es muy listo no os va a meter las entradas duplicadas y seguirá desde donde acabó la última vez.
Actualización: Algunos archivos al importarse a wordpress pueden estar con el caracter %20 en el nombre del archivo y así quedan guardados en la base de datos. Para ello antes os recomiendo usar algun programa como Metamorphose para cambiar el caracter %20 por un espacio. Tendréis que bajar estos archivos a un ordenador, cambiar el carácter y volverlos a subir. Lo ideal sería un script que cambie en la base de datos este caracter.
3 – Vincular imágenes a los posts
Hasta aquí deberíamos tener ya las imágenes, post, categorias, tags y comentarios bien importados.
Algunos temas usan la imagen destacada del post para mostrarla, al importar perdemos esta asociación imagen – post. Si no es así tenemos que vincular cada imagen con su post correspondiente. Por suerte la importación realiza casi todo el trabajo salvo el último paso, unir cada post a su attachment correspondiente.
Para ello tenemos que entrar en la bbdd de wordpress, con un programa como phpmyAdmin o similar. Entramos y ejecutamos la siguiente consulta :
INSERT INTO wp_postmeta (meta_value,meta_key,post_id)
SELECT DISTINCT(ID),’_thumbnail_id’,post_parent
FROM wp_posts
WHERE post_type= ‘attachment’
AND post_parent !=0
AND post_status=’inherit’
Con ello vinculamos de golpe todas las imágenes a los posts, y deberían mostrarse correctamente. En mi caso ocurrió que alguna imagen se vinculó con el post anterior o posterior, pero no en todas. Sinceramente no se la razón, pero fueron 3 ó 4 casos contados.
4 – Retoques finales
Has aquí la importación pura y dura. Seguramente queden detalles como corregir alguna imagen o vincular las url antiguas con las nuevas. Para ello una simple busqueda en google de redireccion htacces 301 nos dará la pista. Simplemente es editar el fichero htacces en la raiz de la instalación e ir poniendo lineas del tipo
Redirect 301 /url-antigua /url-nueva
Con categorías y páginas es sencillo. Con tags si tienes muchas es sinceramente imposible de poner uno por uno. Y con las imágenes el creador del plugin indica que respeta los id del fotoblog, por desgracia no fue así en mi caso y no pude vincular las url antiguas y nuevas, pero si en tu caso ocurre así es fácil migrar.
Actualización: En el caso de wordpress y las urls canónicas, hay un conflicto con pixelpost ya que los antiguos enlaces, que tendrán index.php no se redirigen bien y acaban todos en la página principal de wordpress.Para ellos tenéis que definir una función en el fichero functions.php del tema que uséis indicando url a url la redirección. Por ejemplo para categorías tenéis que ponerlas una a una:
function redirigir() {
if ( !empty($_GET['category'] && $_GET['category'] = XX)) {
wp_redirect(home_url(“/”) . ‘url-categoria-nueva-XX’, 301 );
exit();
}
}
add_action(‘template_redirect’, ‘redirigir’);
Aparte hay que revisar más cosas como los enlaces de páginas rss, aplicaciones que tengamos vinculadas a facebook o twitter, etc.
Espero que esta guía os sirva de utilidad, y si tenéis alguna duda podéis contactar conmigo o preguntar en los comentarios
Lo tengo pendiente hace muuuucho, pero voy que no voy.
Si me pongo al lio y tengo algún “bloqueo” repaso tus indicaciones.
¡Gracias!
Chico, juraría que puse esto en el post de pixelpost, que es donde procede :P
Me lo haré mirar…
ha sido un fallo técnico, ya te he puesto en tu sitio xD
Muy buena explicación! Lástima que para mi me llega una semana tarde… ya que he migrado de PP a WP hace justo unos dias por la falta de soporte de primero. Como bien dices, WP no está orientado a photobloggers pero se pueden encontrar plantillas que hacen la función. Solo añadir que no sé porque no lo hice antes ;)
Un saludo!
ahora pienso igual que tu, no se porque no migré antes, la verdad que pixelpost da nostalgia por ser el primer sistema, pero los tiempos mandan…
Yo lo hice hace 2 años, el metodo parecido al tuyo, manteniendo categorias, tags, etc. al final me complique yo solo en la fase de personalización del theme .
Saludos!