Migrar de phpBB a Vbulletin sin perder posicionamiento

Esta entrada podría titularse también, «como metí la pata cuando migré mi foro de phpbb a Vbulletin», y espero que mi experiencia sirva a otros administradores de sitios web que se vean en la misma situación.

Desde hace diez años soy propietario de un foro de bastante éxito en su sector. Siempre lo he utilizado de conejillo de indias para ver como reaccionaban los internautas y los buscadores a las diferentes actuaciones que puede hacer un administrador.

Año tras año, el foro ha ido aumentando el nº de visitas diarias, hasta tener una cantidad muy respetable. La comunidad de usuarios fue creciendo, el volumen de mensajes también, y de manera proporcional fue creciendo mi descontento con Phpbb. Considero que es un buen sistema gestor de contenido para empezar, y comprobar si somos capaces de crear una comunidad de usuarios alrededor de un tema, pero me disgusta enormemente la dificultad de instalar mods, los problemas para luchar contra el spam, etc.

A pesar de que un tiempo a esta parte incluye un sistema automatizado para la instalación de mods, a veces es inevitable tener que editar el código fuente del foro para hacer ajustes. Estos ajustes entorpecen mucho las actualizaciones del foro, cuando no se sobreescriben directamente. El caso es que llegué a un punto sin retorno, con un foro tan intensamente «tuneado», que al aplicar la actualización de seguridad de turno todo dejaba de funcionar. Ese día decidí gastarme unos euros, y pasarme a Vbulletin. Lo conozco como usuario de otros foros, y las funcionalidades que incorpora de serie, me parecen muy interesantes. De hecho, una vez superados los errores en la migración y los problemas iniciales, estoy mucho más contento que con phpbb.

Como dificultad añadida, decir que partía de una instalación de phpbb modificada, llamada phpbb-seo. Phpbb-seo incorpora muchas funcionalidades que la versión estándar de phpbb no trae, y que hoy en día son indispensables. A saber:

  • reescritura de url’s para generar url’s más amigables a los buscadores.
  • generación de un sitemap para su envío a buscadores
  • generación de feed rss para permitir a nuestros usuarios suscribirse.
  • mejoras en la generación de los títulos de página, etiquetas meta dinámicas, etc.

En definitiva, muchas funcionalidades útiles para mejorar nuestro posicionamiento en buscadores. De hecho, cuando en el año 2010, instalé el mod que convierte a phpbb en phpbb-seo, esto fué lo que ocurrió con las visitas:

Año 2010: Estadísticas de visitas antes y después de phpbb-seo
Año 2010: Estadísticas de visitas antes y después de phpbb-seo

Estais viendo las visitas de mi foro phpbb, durante el año 2010, agrupadas por semana. Se trataba de una instalación de phpbb estandar, con diez años de historia, siempre actualizada a la última version, con miles de usuarios y decenas de miles de páginas indexadas por Google, pero sin mejoras de ninguna clase a nivel de SEO.

A mediados de 2010, decidí instalar el mod phpbb-seo, y apenas dos o tres semanas después de hacerlo, noté un incremento de visitas progresivo, como podeis ver en la gráfica. De hecho, a finales de septiembre, el foro se pasaba más tiempo de rodillas que levantado, como consecuencia del volumen de visitas.

Migré la web a un servidor en España, notablemente más rápido (también más caro) pero mereció la pena. Podeis observar un nuevo incremento de visitas. A Google (y a los demás buscadores supongo que también), le gustan los sitios web que cargan rápido, y mi posicionamiento mejoró. A fin de año se observa una caida de las visitas, pero es algo estacional dada la temática de mi foro.

En seis meses, haciendo los deberes en lo que se refiere a técnicas SEO, y cambiando de servidor a uno digno de tal nombre, las visitas al foro se triplicaron. Partiendo del mismo contenido, ya que en los seis meses siguiente se generó nuevo contenido por parte de la comunidad, pero el grueso de las visitas las recibía el contenido ya existente.

Para finalizar con esta parte, aconsejo totalmente a los administradores de foros basados en phpbb, que instalen phpbb-seo.

Año 2011, migración a Vbulletin.

Envalentonado por el éxito obtenido durante el año 2010, decidí que había llegado el momento de tratar a mi comunidad de foreros como se merecía, y gastar unos eurillos en proporcionarles un foro como Dios manda. Estudié las alternativas, y el que más me convencó fué Vbulletin. Además, la comunidad de usuarios hablaba maravillas de un plugin para Vbulletin llamado VbSeo (también de pago), que solucionaba el tema del SEO de un plumazo, todo desde una interfaz de administración mucho más trabajada que la de phpbb, y sobre todo, con una instalación e integración muy mejorada (nada o casi nada de meterle mano al código fuente con hacks).

Así que en Junio de 2011, tiré de cuenta de paypal, compré una licencia de Vbulletin y otra de Vbseo. Hice un par de pruebas en mi servidor virtual de desarrollo, y sin pensármelo mucho, me lancé a la migración. Debí de tomarme algo más de tiempo en estudiar cuidadosamente las implicaciones de la misma, ya que después de hecha la migración, y de tener un foro rápido, con una plantilla estupenda, muchas funcionalidades extras y un plugin para SEO que me había costado un riñon, las visitas no solo subieron, sinó que se desplomaron. Vedlo vosotros mismos:

Año 2011: migración a Vbulletin y desastre.
Año 2011: migración a Vbulletin y desastre.

Como podeis ver en la gráfica de visitas del año 2011, las visitas se mantenían estables, hasta que decidí migrar a Vbulletin. Yo soñaba con un comportamiento parecido al año anterior, cuando mis visitas se triplicaron en un trimestre, y lo que ocurrió fue que las visitas se redujeron a la mitad, pero en dos semanas. Y todo porque con las prisas, no presté atención a una regla básica del SEO: conservar el posicionamiento alcanzado con las páginas existentes.

En el año 2010, partí de una web que no estaba optimizada en absoluto para SEO, y le apliqué una batería de mejoras (url’s amigables, etiquetas de título y etiquetas meta dinámicas, sitemap, feeds de rss, etc). La mejora fue muy grande, pero no tanto porque las mejoras en seo fueran muy buenas, sinó porque el posicionamiento anterior de la web era muy malo.

En el año 2011, partí de un sitio web medianamente bien posicionado, y en este caso no solo es más dificil mejorar el posicionamiento, sinó que es increiblemente fácil perderlo.

El error.

En el momento de la migración, Google (los demás buscadores también, pero hablo de Google por que es el que envía el 90% de las visitas a mi foro), tenía indexadas y posicionadas unas 60.000 páginas de mi sitio (aproximadamente).

De la noche a la mañana, cambié el sistema de gestión de contenido, y no le di importancia al hecho de que el formato de las url’s amigables también cambiaba. Me di cuenta del detalle (bastante obvio por otro lado), pero subestimé sus consecuencias. Pensé que en unos días la araña de Google recorrería mi nuevo foro, metería todo el contenido en alguno de sus centros de proceso, y después de cocinarlo todo, subiría el posicionamiento de las nuevas páginas.

Una url de un tema de discusión cualquiera de mi foro basado en phpbb, era tal que así:

http://www.miforo.com/subforo-blablabla/tema-ficticio-de-ejemplo-t4000.html

Y la nueva url generada por Vbulletin+Vbseo para el mismo tema de discusión, resulto ser tal que así:

http://www.miforo.com/subforo-blablabla/2789-tema-ficticio-ejemplo.html

Como podeis ver, las url’s cambian, lo cual es lógico, ya que los algoritmos que las generan son diferentes, y aplican los criterios que los diseñadores y programadores de los mismos han considerado oportunos. En este caso, Vbseo eliminaba las palabras de menos de tres caracteres, por considerarlas palabras vacías (stop words), con la intención de aumentar el ratio de palabras clave en las url’s.

Además de eso, la herramienta para la migración de phpbb a vbulletin, llamada Impex, que importa todos nuestros usuarios, mensajes y demás, cambia el ID de cada mensaje. Parece ser que si en el foro phpbb origen, hemos borrado tan solo un mensaje o tema, Impex ya no puede mantener la misma numeración en los temas/mensajes. Resumiendo:  el del tema 4000 en phpbb no se corresponde con el tema 4000 de vbulletin, porque en todo foro de discusión se borran mensajes antiguos o improcedentes.

Las consecuencias de todo esto fueron que en menos de 48 horas, google hizo dos cosas:

1.- Detectó que de www.miforo.com, habían desaparecido 60.000 páginas de contenido, ya que ahora cuando intentaba visitarlas recibía el código de estado HTTP 404. Por consiguiente marcó todas esas páginas como desaparecidas, y las eliminó de los resultados de búsqueda. Esto lo hizo de una manera increiblemente rápida, en menos de 48 horas.

Afortunadamente me di cuenta de la situación utilizando las Herramientas para Webmasters de Google, pero decidí esperar, a que se posicionasen las nuevas páginas (sin tener en cuenta que la araña de google no reindexa 60.000 páginas tan rápido como las olvida).

2.- Con el paso de los días, la araña de Google visitó (lentamente) las nuevas páginas del sitio, las fue indexando, pero por desgracia en lugar de posicionarlas muy alto como yo había esperado, lo que hizo fue marcarlas como contenido duplicado. Es decir, detectó que había nuevas páginas en mi sitio, pero con el mismo contenido que otras que ya había indexado en el pasado. Las páginas del pasado no las encontraba en ese momento, pero por si acaso, decidió marcarlas como contenido duplicado, hasta salir de la duda.

Todos sabemos que el contenido duplicado pone a Google de los nervios, y reacciona mandándote al infierno de los SEO, es decir, bajando el posicionamiento de las páginas implicadas.

La solución: redirecciones 301.

Lo adecuado cuando se cambia la url’ de una página de contenido, o cuando se cambia todo el contenido de un nombre de dominio a otro, es hacer redirecciones 301. Las redirecciones 301 le dicen a los buscadores que la página ha cambiado su url, que la url antigua no es buena y que deben olvidarla, que tomen nota de la nueva, y que no están ante contenido duplicado.

Tardé unos días en averiguar como podía hacer 60.000 redirecciones 301. Lo primero que se me ocurrió fue utilizar una regla en el fichero .htaccess del servidor, para redirigir el tráfico, pero al mismo tiempo que se me ocurrió esta idea me di cuenta de que era imposible debido a que el identificador numérico de cada tema era diferente.

Afortunadamente, como suele pasar con casi todos los problemas informáticos, a alguien le había pasado lo mismo que a mi antes, y los desarrolladores de VBSeo tenían una manera de convertir el formato de las url’s de phpbb a vbulletin+vbseo.

Durante la importación de mensajes de phpbb a vbulletin, se guarda el id de cada mensaje y cada tema en phpbb, de tal manera que tenemos una relación que nos dice que el tema con id 4000 en phpbb, es el tema con id 2789 en vbulletin. A partir de aquí y con un poco de ingenio, diseñaron una solución combinando un script php y reglas en el fichero .htacess, que han llamado muy ocurrentemente:

404 / 301 Tool After Import Redirect on ImpEx imported forums

De manera resumida, lo que consigue esta solución, es que cuando se detecta una petición entrante de una url con el formato de foro antiguo, en vez de redirigirla a la página de error 404, se ejecuta un script de php que comprueba si el ID del tema presente en la url antigua, existe en la tabla que relaciona los ID’s antiguos con los nuevos. En caso afirmativo, redirige la petición al nuevo formato de url con el nuevo id, y en caso negativo, muestra definitivamente la página de error 404.

Lo único que puedo aportar de mi cosecha en toda esta historia, son las reglas personalizadas para el fichero .htaccess, ya que por desgracia, las url’s del foro phpbb modificado con phpbb-seo, difieren bastante de phpbb, y la gente de Vbseo no consideró oportuno incluirlas en el script.

No soy un hacha escribiendo expresiones regulares, quizás no sean todo lo correctas que debieran, pero las siguientes funcionan en el caso de mi sitio web:

[sourcecode]

#Reglas para redireccionar el tráfico de las antiguas url de phpbb-seo y phpbb, a las nuevas de vbulletin&vbseo

RewriteCond %{QUERY_STRING} f=([0-9]+)
RewriteRule viewforum\.php vbseo301.php?action=forum&oldid=%1 [L]

RewriteCond %{QUERY_STRING} t=([0-9]+)
RewriteRule viewtopic\.php vbseo301.php?action=thread&oldid=%1 [L]

RewriteCond %{REQUEST_URI} -t([0-9]+)
RewriteRule .* vbseo301.php?action=thread&oldid=%1 [L]

RewriteCond %{REQUEST_URI} topic([0-9]+)
RewriteRule .* vbseo301.php?action=thread&oldid=%1 [L]

RewriteCond %{QUERY_STRING} ^p=([0-9]+)
RewriteRule viewtopic\.php vbseo301.php?action=post&oldid=%1 [L]

RewriteCond %{QUERY_STRING} u=([0-9]+)
RewriteRule profile\.php vbseo301.php?action=user&oldid=%1 [L]
#Fin reglas phpbb–>Vbulletin

[/sourcecode]

El remedio fue mano de santo. Inmediatamente, todas las peticiones a páginas con el formato de url antiguo eran redireccionadas a la nueva url. Las visitas empezaron a recuperarse muy poco. Demasiado lentamente para mi gusto.

Aunque Google clasificó las 60.000 páginas de mi sitio como errores 404 en 48 horas escasas, tardó más de tres meses (aproximadamente) en quitarles esa clasificación. Observando las herramientas para webmasters de Google, vi que iba reduciendo el número de errores 404 a razón de entre 500 y 1000 al día. Supongo que dependiendo de cuantas url’s verificase su araña.

Lo mismo se aplicó para el contenido duplicado. A finales de Octubre, la situación era más o menos la misma que tenía antes de la migración, hablando en términos de errores 404 y páginas con contenido duplicado. Sin embargo, las visitas todavía no se han recuperado a los niveles anteriores.

Se me ocurren varias explicaciones. Al grave error que cometí, podemos añadir que el cambio de foro, llevó implicito un cambio de diseño del mismo. De tal manera que aunque las nuevas páginas del foro tienen el mismo contenido que las antiguas, el diseño que hay alrededor de ellas no es el mismo.

También hay que tener en cuenta la pérdida de enlaces entrantes que se produjo durante el par de semanas que tardé en solucionar el problema. Los miles de enlaces de webs de terceros que tenían a páginas de mi foro, de repente conducían a errores 404. Supongo que Google los marcaría como inválidos, y por lo tanto el pagerank de mi sitio también se vería afectado. Toca esperar a que se escaneen los sitios donde están los enlaces a mi contenido, para que Google vuelva a tenerlos en cuenta.

Es posible que las visitas también hayan disminuido de manera natural por las tendencias de internet, de manera estacional, o porque sitios competidores mejoraron su posicionamiento mientras yo empeoraba el mío.

Finalmente, también tengo la sensación de que este tipo de sucesos desagrada a Google, y aplica algún tipo de penalización al sitio.

Me consuela el hecho de que aunque las visitas todavía no son las que eran antes, los ingresos por publicidad son incluso mayores, y la comunidad de usuarios está mas contenta con el nuevo foro que con el anterior. Desde el punto de vista de administración y mantenimiento, lucha contra el spam, etc, también estoy más satisfecho con Vbulletin que con php.

El tiempo dirá si las visitas se recuperan a niveles anteriores al desastre 🙂

2 comentarios en “Migrar de phpBB a Vbulletin sin perder posicionamiento”

  1. Hola, gracias por el articulo. Creo que estoy en una situación muy parecida a la tuya.

    Tengo actualmente phpbb y quiero migrar a vbulletin, claro sin tener errores 404.
    En phpbb tengo un mod seo, que me gustaría trabajarlo para que haga una redirección de las url.

    El problema es que quiero migrar a la version 5 de vbulletin, y vseo aún no tiene esta actualización, solo trabaja para la versión 4 de vbulletin.

    ¿Que me aconsejas? Gracias

    • Hola, que tal.

      Lo primero que tengo que decir es que no conozco Vbulletin 5 (mi foro sigue usando la v4, y de momento no tengo intención de actualizar). No obstante, supongo que el procedimiento es el mismo que en la version 4. El id que phpbb le da a cada hilo quedara guardado durante la importacion de los mensajes y foros, y despues se podrá hacer algun script php mas unas pocas reglas en el .htaccess para averiguar la correspondencia entre el id nuevo de vbulletin y el antiguo de phpbb y hacer la redirección.

      Respecto a Vbseo, mi opinión actualmente no es muy firme. Yo lo utilizo en mi foro y aparentemente mejoró mi posicionamiento, sin embargo, no estoy muy seguro ya de que no hubiera conseguido un posicionamiento similar con la configuración estandar de Vbulletin. Claro que no me atrevo a desactivarlo para probarlo, pero en muchos foros en ingles, hay usuarios de vbseo que dicen que lo han desactivado, y no ha pasado nada malo.

      ¿Por que desactivarlo? Pues por que en mi lucha por acelerar al maximo la carga de cada pagina, me he topado con un problema irresoluble: una de las partes que mas ralentiza la carga de mi foro, es el script principal de vbseo (vbseo.php). Estoy hablando del orden del 60%, es decir, una pagina que tarda en cargar 5 segundos, 3 corresponden a la ejecucion de vbseo.php. El pensar que si no tuviera instalado vbseo, la misma pagina cargaria en 2sg (comprobado desactivandolo puntualmente para hacer la prueba), me pone de mal humor, ya que o desactivo vbseo, o aumento la potencia de procesamiento de mi VPS, pero no tengo otra posibilidad de reducir el tiempo de carga (el resto de optimizaciones posibles estan casi todas hechas).

      Por lo tanto, no estoy muy seguro yo de que vbseo sean una buena opcion si vas a migrar. Yo al menos, probaría a no usarlo a ver que pasa.

      Eso si, haría las redirecciones necesarias despues de migrar de phpbb a vbseo para no perder posicionamiento. No lo dices en tu mensaje, pero entiendo que partes de un foro phpbb estandar, no de un foro con algun mod para seo. En cualquier caso, se puede hacer.

      Resumiendo: migra de phpbb a vbulletin 5, haz las redirecciones 301 necesarias para mantener tu posicionamiento actual, y utiliza las nuevas funciones que tenga VB5 para seo… supongo que tu variación en posicionamiento será minima. En todo caso para mejor, ya que «se supone» que Vbulletin 5 tendra todo lo relacionado con seo mejor que phpbb.

      En cualquier caso, me interesa saber mas sobre lo que estas a punto de hacer. SI quieres permanecemos en contacto y puedo intentar echarte una mano.

      Saludos

Los comentarios están cerrados.