Saltar al contenido

Migrar de Blogger a WordPress

Introducción

Blogger es una magnífica plataforma de publicación de contenidos que ahorra múltiples molestias al usuario o bloguero inexperto, por lo que éste en vez de lidiar con extensas instalaciones y configuraciones, le permite tras una configuración mínima y sin coste alguno, comenzar a escribir sus entradas.

El problema viene después: el blog sigue creciendo en visitas y comienzan a hacerse patente las limitaciones de esta plataforma: No se tiene acceso completo al back-end, no todos los estándares se respetan, no se puede modificar su código, no existe aquel plugin que le serviría, da mala impresión si eres informático tenerlo allí en vez de en un servidor propio con un CMS, etc… Aunque los motivos sean diversos, con cierto número de visitas diarias y afán de superación, lo normal es dar un salto cualitativo y hospedar el blog en un hosting o servidor dedicado y utilizar un CMS como WordPress. Y este es el caso actual de este blog, Ingeniero Informático necesita seguir creciendo y ofrecer a los usuarios una mejor experiencia de navegación, que respete más en la medida de lo posible los estándares web y que proporcione temas adaptativos, que permita crear mejores contenidos y mejor estructurados… Por ello nada mejor que aprovechar esta migración para que futuros blogueros puedan seguir esta humilde guía y puedan crecer utilizando la potencia de WordPress por ser ésta la plataforma de publicación de contenidos blogging por excelencia.

 

Requerimientos

Para realizar la migración se deben cumplir los siguientes requisitos:

  1. Disponer de un equipo con conexión a internet y con privilegios de administrador para poder trabajar en local primero y en remoto después.
  2. Tener un blog con contenidos publicados en la plataforma de Google Blogger.
  3. Disponer de un dominio propio (en caso de adquirir uno recomendamos encarecidamente uno de primer nivel que proporcione WHOIS privado).
  4. Contratar un alojamiento web o un Virtual Private Server (VPS). También es posible utilizar un servidor SOHO, pero salvo que puedas garantizar una velocidad de subida grande y una elevada disponibilidad, no compensa.

 

Advertencia

Es de perogrullo, pero al seguir este tutorial o guía Ud. es reponsable de todo el proceso así como de los problemas que puedan surgir, exhimiendo de toda responsabilidad al autor del mismo. De todos modos, ante cualquier problema o contratiempo publique un comentario y se hará lo posible por ayudarle.

 

Trabajando en local

El primer paso es trabajar en su propio equipo, en local. Es cierto que se puede trabajar directamente en remoto sobre el servidor que alojará WordPress en un principio, pero es mejor no hacerlo hasta tener una versión decente y digna de publicación. De este modo se asegura que nadie accederá al blog encontrándose con problemas de diversa índole que perjudiquen la imagen del mismo.

 

Instalando WAMP

Para que WordPress pueda funcionar se necesita un servidor web Apache, un Sistema Gestor de Base de Datos (SGBD) MySQL y un intérprete del lenguaje PHP. Todos estos sistemas y el intérprete pueden instalarse por separado, pero lo más sencillo, cómodo y rápido es instalar WAMP (o LAMP si se trabaja con GNU/Linux o MAMP en el caso de Mac OS); WAMP es el acrónimo de Windows Apache MySQL PHP.

  1. Descargar WAMP al equipo local (la útima versión de 64 bits a la hora de redactar este manual es la 2.5).
  2. Ejecutar el instalador descargado wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b.exe que instalará Apache 2.4.9, MySQL 5.6.17, PHP 5.5.12, PHPMyAdmin 4.1.14, SqlBuddy 1.3.3 y XDebug 2.2.5. No se preocupe si se instalan componentes adicionales o que no se vayan a usar; una vez finalizado el trabajo en local se pueden desinstalar.
  3. Aceptar la licencia de uso e instalar en el directorio por defecto (no es necesario elegir otro).
  4. Seleccionar el navegador por defecto del sistema (por ejemplo Firefox o Chrome).
  5. Dejar los parámetros por defecto en la ventana de configuración del correo de PHP.
  6. Habilitar la casilla Launch WampServer 2 now y pulsar el botón Finish.

Ahora en la bandeja del sistema aparece un icono nuevo, el de WAMP en color verde porque todos los servicios se están ejecutando. Si se pulsa sobre este icono y luego se hace clic en localhost se abrirá una pestaña del navegador seleccionado previamente con la información relativa al servidor WAMP.

 

Instalando WordPress

  1. Descargar WordPress al equipo local (última versión a fecha de hoy es la 3.9.1).
  2. Clic en el icono WAMP de la bandeja del sistema > phpMyAdmin > seleccionar la pestaña Bases de datos y en Crear la base de datos introducir el nombre que se desee (wordpress_db por ejemplo) y en el menú desplegable seleccionar la configuración deseada de cotejamiento (utf8_general_ci).
  3. En la pestaña Usuarios hacer clic en Agregar usuario con nombre wordpress_user, con acceso a las bases de datos locales y cuya contraseña sea wordpress_password (obviamente es la contraseña de ejemplo, para un proyecto real se debe introducir una segura). Clic en el botón Continuar.
  4. Ahora se procede a conceder todos los privilegios al usuario wordpress_user sobre la BD wordpress_db. Para ello, en la pestaña Usuarios > Vista global de usuarios en la fila del usuario wordpress_user clicar sobre el enlace Editar los privilegios.
    En Privilegios específicos para la base de datos en el menú de usuarios seleccionar en el menú desplegable wordpress_db y al listar todos los privilegios marcar la casilla Marcar todos y clic en Continuar.
  5. Descomprimir el contenido del comprimido wordpress-3.9.1-es_ES.zip en es C:\wamp\www\.
  6. Editar el archivo wp-config-sample.php con un editor de texto plano (bloc de notas, notepad++, etc…) editando el fichero con la información que corresponda a la BD, usuario y contraseña. Siguiendo con el ejemplo se tiene:

    define('DB_NAME', 'wordpress_db');
    
    /** Tu nombre de usuario de MySQL */
    define('DB_USER', 'wordpress_user');
    
    /** Tu contraseña de MySQL */
    define('DB_PASSWORD', 'wordpress_password');

    Guardar los cambios y renombrar el fichero a wp-config.php.

  7. Ahora se procede con la instalación de WordPress escribiendo en la barra de direcciones de una pestaña del navegador http://www.ingenieroinformatico.org/wp-admin/install.php. Cumplimentar el formulario que es presentado con la configuración final, como si se tratase de la instalación en el servidor remoto o hosting. Una vez finalizado el proceso, en caso de error revisar los datos introducidos y/o la configuración del fichero wp-config.php.

Llegados a este punto, si en una pestaña del navegador se abre una pestaña con la dirección http://www.ingenieroinformatico.org/ se presentará el blog de WordPress predeterminado con el mensaje de «hola mundo».

 

Importar los contenidos de Blogger a WordPress

  1. Acceder mediante el navegador a http://www.ingenieroinformatico.org/wp-login.php e iniciar sesión como administrador con el usuario y contraseña creados en el paso 7 de instalando WordPress.
  2. En el menú lateral > Herramientas > Importar > y clic sobre Blogger para instalar el importador. Esta herramienta permite importar del blog actual las entradas, los comentarios y los usuarios. En la ventana Blogger Importer clicar sobre el botón Instalar.
    Una vez finalizada la instalación pulsar sobre el enlace Activar plugin y comenzar importación.
  3. Hay que autorizar en Blogger al Blogger Importer para proceder con la importación. Clic sobre el botón Authorize. Una vez en Google se indica que WordPress desea obtener permisos para administrar la cuenta de Blogger; pulsar sobre Permitir acceso.
    De regreso al panel de administración de WordPress se muestra una lista con los blogs asociados a la cuenta de Blogger y pulsar sobre el botón Import del blog que corresponda. El proceso de importación puede tardar minutos, todo depende de la cantidad de entradas y comentarios y del tamaño de las mismas. Finalmente se da la opción de importar los usuarios de Blogger, como los redactores, asociándoles a otras cuentas de Blogger.
    Normalmente el importador de Blogger suele dar algún que otro problema que se solventa habitualmente reiniciando el proceso. En mi caso, al tener tantas entradas y comentarios, tuve que modificar el código fuente del plugin, por lo que si a Ud. le sucede algún problema similar deje un comentario para poder ayudarle.
  4. Añadir las páginas en caso de que las hubiere en Blogger a WordPress, pero antes eliminar la página de ejemplo que proporciona WordPress en Páginas > Todas las páginas > seleccionar Página de ejemplo > clic en el enlace Papelera. Luego en la papelera, vaciarla.
    En Páginas > Añadir nueva rellenar con el texto de las página que corresponda de Blogger. Habitualmente estas páginas, como un «Acerca de» son texto sencillo. En caso de tratarse de páginas más complejas habrá que copiar el código HTML y adaptarlo u obtenerlo de la correspondiente entrada importada (Blogger importer puede haber considerado la página como una entrada más).

 

Puesta a punto

Ahora ya se encuentran todos los contenidos de Blogger en WordPress, pero faltan cosas por hacer hasta tener el blog mínimamente preparado antes de publicarlo.

  1. Las etiquetas de Blogger ahora son todo categorías en WordPress. Para convertir parte (o todas) de las categorías en etiquetas en Herramientas > Importar > Conversor de etiquetas y categorías > Instalar ahora. Una vez finalice la instalación del plugin, hacer clic sobre el enlace Activar plugin y comenzar importación.
    Ahora aparecen listadas las categorías a convertir en etiquetas, por lo que se seleccionan las que corresponda convertir y después se pulsa el botón Convert categories to tags.
  2. El lema o descripción del blog por defecto en WordPress es «Otro sitio realizado con WordPress» por lo que sería conveniente cambiarlo por otro. En este caso, se cambiarla por el lema de Ingeniero Informático «IT a todos los niveles».
    Para cambiar el lema en el panel de administración de WordPress > Apariencia > Personalizar > Título del sitio y descripción corta > cambiar el texto por defecto en Descripción Corta. Si lo que se desea es deshabilitar la descripción basta con dejar el campo sin texto.
    Por último clic sobre el botón Guardar y publicar.
  3. El tema que ofrece por defecto WP ahora es Twenty Fourteen y lo más habitual será cambiarlo por otro sea gratuito o de pago. Lo indispensable en un tema es que sea sencillo, que favorezca la legibilidad de los textos y la navegación y, sobre todo hoy en día con la multitud de dispositivos conectados a internet, que haga uso de un diseño adaptativo (responsive design). Además también tiene que gustarle a usted, ya que se trata de su blog.
    En Apariencia > Temas > Añadir un tema nuevo se mostrarán en línea bastante temas a elegir con opciones de filtrado en base a criterios y características como popularidad, más recientes, etc… Todos los temas se pueden previsualizar y basta pulsar sobre el botón Instalar para tenerlo disponible en el back-end. Finalmente clic sobre Activar para aplicar la plantilla al blog.
    Para realizar cambios sobre la plantilla basta con acudir a Apariencia > Personalizar y modificar las opciones que corresponda.
  4. Es recomendable por motivos de SEO activar los enlaces permanentes. Para ello en el panel de administración > Ajustes > Enlaces permantes > seleccionar Mes y nombre > Guardar cambios. En caso de que las redirecciones no funcionen es porque es necesario cargar el módulo mod_rewrite del servidor Apache editando el fichero httpd.conf y después reiniciar el servidor. También cabe destacar que normalmente los enlaces de blogger (a pesar de que son del mismo tipo a los ya configurados) son acortados por esta plataforma, por lo que si un visitante accede al blog a través de un enlace en otro sitio web seguramente se le muestre el error 404 de página no encontrada.

 

Trabajar en remoto (puesta en producción)

Ya ha finalizado la primera mitad del trabajo. Ahora ya se dispone de un blog funcional y navegable con los contenidos del antiguo y es hora de trabajar con el servidor para hacerlo visible al público.

 

Subir el weblog al servidor remoto

Lo habitual es contratar un alojamiento web o un VPS y no tener un servidor dedicado de tipo SOHO. De todos modos, independientemente de su situación el procedimiento es similar aunque el que voy a describir es para un VPS:

  1. Instalar (en caso de que proceda) XAMP en el servidor. En mi caso se trata de una Debian, así que basta con ejecutar apt-get intall mysql-server apache2 php5 php5-mysql.
    En mi caso decir que tuve un montón de problemas con MySQL ya que nunca quedaba bien instalado ni se ejecutaba mysqld correctamente. Ni siquiera desde el código fuente o desde el último paquete servido desde el centro de descargas de Oracle el problema se solucionaba y tras el pésimo soporte que se provee actualmente a este SGBD opté por migrar a MariaDB (fork de MySQL mantenido por una comunidad, libre y teóricamente compatible al 100% con MySQL). Para desinstalar MySQL apt-get purge mysql* y find / -iname ‘mysql*’ para borrar ficheros y otros directorios que han sido creados.
    Para instalar MariaDB hay que añadir las siguientes líneas al fichero /etc/apt/sources.list:

    # MariaDB
    deb http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian wheezy main
    deb-src http://ftp.osuosl.org/pub/mariadb/repo/5.5/debian wheezy main

    Después, ejecutando apt-get update y apt-get install mariadb-server disfrutaremos de un SGBD libre y soportado que funciona a las mil maravillas (éste si funcionó a la primera y no me hizo perder el tiempo).

  2. Abrir una pestaña en un navegador y acceder al URL del servidor. Debería aparecer una página estática con el mensaje It works! del servidor web Apache. En caso de que no aparezca compruebe que el servicio asociado se está ejecutando mediante service –status-all
  3. Accediendo al servidor local con PHPMyAdmin > Exportar > Seleccionar método de exportación Personalizado > seleccionar la base de datos que corresponda con WordPress > Pulsar en Continuar y guardar el fichero (en este ejemplo se llama 127_0_0_1.sql).
  4. Con un editor de textos planos se edita el fichero SQL y mediante el mecanismo de búsqueda y reemplazo, cambiar todas las cadenas de texto http://www.ingenieroinformatico.org por el URL asociado al que corresponda (en nuestro caso era http://www.ingenieroinformatico.org).
  5. Ahora se procede a subir el WordPress propiamente dicho, es decir el directorio en que se instaló WordPress en el equipo local mediante FTP y con un cliente tipo FileZilla. También se sube el fichero SQL generado anteriormente.
    En el caso de carecer del servicio FTP es aconsjable instalar VSFTP (Very Security File Transfer Protocol) como servidor en el VPS mediante apt-get install vsftp. Editando el fichero de configuración /etc/vsftpd
  6. Para importar en el servidor la base de datos exportada (sea MySQL el SGBD o MariaDB):
    mysql --user=root mysql -p

    Una vez autenticados, se necesita crear una base de datos y un usuario para que WordPress pueda hacer uso de él. En mi caso los voy a nombrar igual que estaban en local, aunque los nombres pueden cambiarse:

    MariaDB [(none)]> CREATE USER wordpress_user IDENTIFIED BY 'wordpress_password';
    Query OK, 0 rows affected (0.00 sec)
    MariaDB [(none)]> CREATE DATABASE wordpress_db CHARACTER SET ='utf8';
    Query OK, 1 row affected (0.00 sec)

    Nótese que en MariaDB al crear la BD no es necesario utilizar el parámetro COLLATION ya que con el juego de caracteres UTF-8 utiliza de forma predeterminada el cotejamiento utf8_general_ci. Ahora hay que proporcionar todos los permisos al usuario que utilizará WordPress:

    MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
    Query OK, 0 rows affected (0.00 sec)

    Y proceder con la importación de la BD.

    mysql -u root -p -h localhost wordpress_db < 127_0_0_1.sql
    Enter password:
  7. Mover los ficheros de WordPress al directorio por defecto de servidor apache. Habitualmente es /var/www.

 

Configuración del servidor

Aquí hay que realizar una serie de pasos que localmente eran innecesarios, como la correcta configuración del servidor Apache:

  1. Editar el fichero /etc/apache2/sites-available/default con vi, emacs o nano, cambiando todas los parámetros AllowOverride None por AllowOverride all (necesario para que WordPress trabaje con la reescritura de direcciones). A continuación reiniciar Apache:
    service apache2 restart
  2. Necesitamos cambiar los permisos del usuario con que se ejecuta WordPress para instalar plugins y que el CMS funcione correctamente con la creación de directorios y ficheros. Para ello se crea un fichero prueba.php en /var/www con el siguiente contenido:
    <?php echo( exec( "whoami" ) ); ?>

    En el navegador al escribir la dirección con /prueba.php al final mostrará el usuario con que se ejecuta WordPress. En debian suele ser www-data el usuario del Apache y damos todos los permisos al directorio /var/www con chown -R www-data /var/www para evitar problemas a la hora de instalar plugins.

 

Apuntar los DNS

Si disponemos de un dominio propio en primer lugar hay que desenlazarlo de blogger. Para ello  en blogger > Configuración > Lo básico > Publicación > Dirección del blog: Editar el dominio en caso de tenerlo haciendo clic en la cruz para eliminarlo, por lo que el blog hospedado con blogger volverá a tener la dirección antigua tras confirmar. En este caso la dirección antigua es http://ingeniero-en-informatica.blogspot.com.

Ahora para apuntar el dominio al nuevo servidor tan sólo hay que añadir dos registros DNS de tipo A en nuestro registrador de dominios apuntando a la IP del servidor y esperar a la propagación DNS que suele tardar unas cuantas horas (esto es muy relativo). Este proceso depende de la empresa registradora de dominios y del panel de administración que provea a sus usuarios, por lo que no dude en consultar la ayuda que proveen o contactar con ellos si tiene algún problema.

 

Redirecciones 301

Redireccionar desde blogger con 301 (redirección permanente) es necesario para minimizar la pérdida de SEO. Se puede hacer de forma manual o a través de un plugin como es Blogger 301 Redirect. Para instalar el plugin en el back-end de WordPress > Plugins > Añadir nuevo y buscar el Blogger 301 Redirect. Una vez instalado y configurado (la configuración recomendada es buena) es necesario acceder al blogger e introducir un código en la plantilla que proporciona el plugin para que las redirecciones sean efectivas. El plugin también proporciona unas pequeñas estadísticas acerca de las redirecciones que han tenido lugar.

Blogger 301 Redirect: Redirection Statistics
Si no se hubiese redireccionado el el blog se hubieran perdido 123 visitas.

Otro aspecto es que los URLs de blogger no coinciden del todo con las de WordPress ya que se acortan, esto provoca que usuarios y robots de buscadores se encuentren con el error 404 de página no encontrada, lo cual se soluciona también con redirecciones 301 (permanentes) para que los buscadores indexen las nuevas en vez de las viejas y que los usuarios no tengan que buscar los post manualmente. Por ejemplo, en Blogger para acceder al manual de este blog que explica como hacer funcionar un módem 3G USB en una tablet Android se utilizaba la dirección http://www.ingenieroinformatico.org/2013/01/modem-3g-usb-en-tablet-con-sistema.html mientras que el WordPress la dirección era http://www.ingenieroinformatico.org/2013/01/modem-3g-usb-en-tablet-con-sistema-operativo-android-4-0-ice-cream-sandwich/. Como se aprecia la de WordPress es más larga y más descriptiva, por lo que se consigue mejor SEO que con la primera.

Por estos motivos, es importante crear redirecciones al menos para el contenido más relevante del blog en caso de no poder hacerlo para todo evitando que al menos los posts más relevantes sean encontrados a la primera sin que se produzca frustración en el usuario. Para ello se edita el fichero .htaccess en /var/www creando reglas de tipo Redirect 301 <URL antiguo> <DOMINIO/URL nuevo> para que el servidor web Apache reescriba automáticamente las antiguas direcciones usadas por Blogger a las nuevas que utiliza WordPress. Como ejemplo, citar las redirecciones que se utilizaron en este blog para las entradas más relevantes:

Redirect 301 /2013/01/modem-3g-usb-en-tablet-con-sistema.html http://www.ingenieroinformatico.org/2013/01/modem-3g-usb-en-tablet-con-sistema-operativo-android-4-0-ice-cream-sandwich/
Redirect 301 /2012/09/realizar-o-restaurar-copia-de-seguridad.html http://www.ingenieroinformatico.org/2012/09/realizar-o-restaurar-copia-de-seguridad-del-sony-xperia-u-o-cualquier-otro-smartphone-de-sony/
Redirect 301 /2012/09/drivercontrolador-easycap-dc60-usb-chip.html http://www.ingenieroinformatico.org/2012/09/drivercontrolador-easycap-dc60-usb-chip-stk1160-y-la-problematica-de-las-copias-falsas/
Redirect 301 /2010/03/guia-para-reparar-la-rueda-de-scroll.html http://www.ingenieroinformatico.org/2010/03/guia-para-reparar-la-rueda-de-scroll-del-raton/
Redirect 301 /2013/05/como-solucionar-el-uncaught-exception.html http://www.ingenieroinformatico.org/2013/05/como-solucionar-el-uncaught-exception-java-lang-nullpointerexception-en-la-blackberry/
Redirect 301 /2014/01/analisis-del-router-tp-link-n750-modelo.html http://www.ingenieroinformatico.org/2014/01/analisis-del-router-tp-link-n750-modelo-tl-wdr4300/
Redirect 301 /2014/02/minimizar-el-uso-de-memoria-ram-en-una.html http://www.ingenieroinformatico.org/2014/02/minimizar-el-uso-de-memoria-ram-en-una-aplicacion-desarrollada-para-android/
Redirect 301 /2013/02/paquetes-retenidos-en-debian-con-apt.html http://www.ingenieroinformatico.org/2013/02/paquetes-retenidos-en-debian-con-apt-get-upgrade/
Redirect 301 /2014/05/recuperar-los-contactos-de-un-fichero.html http://www.ingenieroinformatico.org/2014/05/recuperar-los-contactos-de-un-fichero-dbk-generado-por-sony-pc-companion/
Redirect 301 /2013/07/los-teclados-mecanicos-prueba-del.html http://www.ingenieroinformatico.org/2013/07/los-teclados-mecanicos-prueba-del-teclado-cherry-g80-3000/

 

Conclusiones

El proceso de migración de Blogger a WordPress es laborioso y cada caso en particular es un mundo. Es conveniente dedicarle tiempo a hacer todo con un mínimo de corrección para evitar perder SEO y los enlaces existentes hacia la página. También es importante probar todo y trabajar en local hasta tener todo preparado para ser subido y configurado al servidor lo más rápido posible, ya que sólo de este modo evitaremos que varios visitantes se encuentren con una nueva versión de blog no funcional y con posibles fallos.

Publicado enAcerca del blogAdministración de sistemasDiseño y programación webManual