Como ya os comenté en el anterior post, he decidido migrar mi blog a un espacio corporativo de la ugr.

Dado que no quería perder el posicionamiento SEO que tanto tiempo me ha logrado conseguir con mi sitio actual, he tenido que realizar diversos cambios que han sido un poco tediosos pero, espero, beneficiosos a largo plazo.

La fase de cambiar las configuraciones en Google Analytics y Bing Administrador web (el antiguo Bing Webmaster Tools) ha sido realmente sencillo. Pero ahora el problema lo tenía a la hora de manenter ambas webs activas durante un tiempo prudencial y lograr que los usuarios que llegaban a la antigua aterrizaran en la nueva.

Para ello, la mejor solución es una redirección 301 (es decir, una redirección permanente). En un post de hace tiempo expliqué lo importantes que son los códigos de respuesta del servidor HTTP desde el punto de vista de la arquitectura de la información web. Pues bien, ahora me tocaba pasar de la teoría a la práctica.

Existen varias opciones para realizar este proceso. Unas pasan por la gestión de la redirección directamente desde el Panel de Control del hosting. El problema es que el mio no ofrece esta opción (es uno de los muchos motivos por los que migro de hosting), por lo que todas mis opciones pasan por el empleo del fichero .htaccess.

En este caso ese fichero tiene un comando RewriteEngine que me facilitaría el proceso de redirigir de cualquier url a la nueva. El problema que tiene es que cualquier texto que apareciera después de la antigua url (por ejemplo http://tecnologiasweb.jsenso.es/el-fichero-robots-txt/) llevaría al usuario a la página de inicio de la nueva web, obligándole a tener que hacer una búsqueda en esa web de la entrada por la que estaba interesado. Con lo cual, la posibilidad de perder visitas en ese camino era muy largo.

La única opción que me queda es hacer una redirección 301 página a página. En esencia, lo que tengo que hacer es crear un listado de todas las URLs antiguas y su URL equivalente en el sitio nuevo. Algo que parece pesado, pero que se simplifica mucho por haber empleado URLs amigables en ambos sitios.

A continuación explicaré el proceso que he seguido, con el fin de que le pueda servir de guía aquellas personas que tengan que pasar por este tortuoso camino.

 

1.- Generar un listado con las URLs del sitio antiguo

Ahora es uno de esos momentos en los que me alegro de que no haya tenido tiempo de escribir más, porque eso ha hecho que mi sitio web tenga pocas páginas y pueda, por lo tanto, emplear una de las herramientas que más que gustan del entorno SEO: Screaming Frog SEO Spider. Se trata de una potente herramienta que, por medio de un crawler, hace un análisis de las páginas de un sitio web para analizar enlaces rotos, metadatos de las páginas, análisis de directivas, contenido duplicado y un largo etcétera. El único pero que tiene es que en su versión gratuita solo descarga 500 páginas. Como mi sitio web no llega a esa cantidad, pues todo perfecto.

Screaming Frog analizando mi web antigua

El análisis resultante me dice que cuento con 258 páginas, que exporto por medio de ese mismo programa a un fichero csv.

Como ya he migrado todo el contenido del blog antiguo al nuevo, puedo verificar que las urls son idénticas, salvo el nombre de dominio, que es lo que debo redireccionar.

 

2.- Establecer las equivalencias

El fichero csv que se ha generado tiene varias columnas con información diversa, como la URL interna (es lo que quiero redireccionar), los códigos de respuesta, el contenido, si la página es indexable o no (aquí descubro que no sé por qué tengo varias como no indexables, cuando lo que yo querría es justo lo contrario), el estatus…

Relaciónde urls del sitio antiguo

Realmente lo único que me interesa es la primera columna, con la URL, a la que tendré que editar algunas cosas. Tal y como la tengo ahora mismo tiene la siguiente forma para las entradas, las etiquetas y las categorías:

http://tecnologiasweb.jsenso.es/titulo-de-la-entrada/,"text/html

http://tecnologiasweb.jsenso.es/tag/nombre-de-la-etiqueta/,"text/html

http://tecnologiasweb.jsenso.es/category/nombre-de-la-categoria/page/2/,"text/html

y necesito que se quede en algo parecido a esto:

/titulo-de-la-entrada/

/tag/nombre-de-la-etiqueta/

/category/nombre-de-la-categoria/page/2/

Es decir, que tengo que quitar el dominio del que cuelgan las páginas (es necesario para el .htaccess) para indicar al redireccionamiento dónde se encuentran las URLs que quiero redirigir.

Como también necesito decir dónde se encontrará la nueva URL de esa entrada, necesito otra columna justo al lado de la primera, donde se indique la nueva dirección. Por, eso en la hoja de cálculo copio las URLs de la primera columna en la segunda.

A continuación, en la primera columna, y por medio de la función de “buscar y sustituir” reemplazo las cadenas de caracteres del principio de la URL (es decir, el dominio de la web antigua) y elimino la indicación MIME del tipo de contenido al que se refiere el objeto apuntado.

Por su parte, en la segunda columna sustituyo la cadena de caracteres correspondientes al dominio antiguo y pongo el nuevo. Así, de http://tecnologiasweb.jsenso.es pasaría a https://blogs.ugr.es/tecweb, quedando el resultado final de la siguiente forma:

distribución de las columnas

Lo que estoy buscando es crear, de la forma más rápida posible, un listado de ficheros antiguos y nuevos siguiendo la estructura que necesita y entiende .htaccess o, lo que es lo mismo, algo que se acerque a este esquema:

Redirect 301 ruta_entrada.html http://www.nuevoweb.es/ruta_entrada.html

Luego, con la orden concatenar de la hoja de cálculo, en una nueva celda uno el contenido de la primera celda con el de la segunda, añadiendo al principio la cadena de caracteres “Redirect 301 “.

concatenación de columnas en la hoja de cálculo

 

3.- Editar el fichero .htaccess y consideraciones finales

Una vez hecho hecho, y activando esa fórmula para todos los valores de la columna, solo que queda copiar el contenido nuevo y pegarlo en el fichero .htaccess de mi blog antiguo:

editando el fichero .htaccess para introducir la redirección

Para finalizar, lo ideal es comprobar que el redireccionamiento funciona. Para eso puedes, o bien introducir las URLs antiguas en el navegador, y ver si te envían al nuevo sitio; o bien usar algún programa, como el mencionado anteriormente, para verificar el código de respuesta de las entradas nuevas:

Verificando que el antiguo sitio redirecciona al nuevo

El mecanismo que acabo de explicar ahora mismo es igual de válido para cualquier web, independientemente del número de URLs que tenga el sitio. Aunque es evidente que si contamos con más de 500 no podremos emplear Screaming Frog SEO Spider en su versión gratuita. O adquirimos la versión de pago (que, sinceramente, no es mala idea al tratase de un programa fundamental en el entorno SEO) o empleamos otro similar, como cualquiera de los que se pueden usar para crear el fichero sitemap.xml del sitio.

Otro tema es si conviene o no realizar una redirección de sitios web con muchas páginas. Hay que tener en cuenta que cada línea nueva que se añada al fichero .htaccess hace que su lectura y, por lo tanto la carga de la página web, se demore cada vez un poquito más. Habría que valorar con mucho cuidado qué opción tomar en el caso de que esto suceda y pensar en posibles alternativas.

Ahora mismo el próximo problema relacionado con esto que me ronda la cabeza tiene que ver con el tiempo: durante cuánto tiempo debería mantener este redireccionamiento. Creo que en este sentido le haré caso a Matt Cutts, y habrá que vigilar la cosa durante varios meses, y luego ya veremos: