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.
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…
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:
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 “.
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:
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:
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:
GERONIMO dice
A ver si, por favor, me puedes ayudar con mi problema.
Tengo una URL bien posicionada en mi sitio actual que es https://www.dominio-actual/url-bien-posicionada.html y he comprado un nuevo dominio que es https://www.url-bien-posicionada.com.
Lo que quiero hacer es:
redirigir desde:
https://www.dominio-actual/url-bien-posicionada.html (url actual)
hacia:
https://www.url-bien-posicionada.com (nuevo dominio recién comprado que coincide con la url del dominio actual)
esperando que la nueva url conserve el buen posicionamiento que ya tiene como https://www.dominio-actual/url-bien-posicionada.html .
¿sería esto posible?
¿hago redirect 301 en .htaccess?
¿conservaría el buen posicionamiento siendo la nueva URL un dominio recién adquirido?
Jose A. Senso dice
Hola, Gerónimo.
Lo que cuento en esta entrada es como las películas de antena 3: “está basado en hechos reales” 🙂
Es exactamente lo que yo hice en un caso similar al tuyo y me funcionó sin problema, manteniendo el posicionamiento que ya tenía el antiguo.
La clave está en mantener el servidor antiguo la mayor parte del tiempo posible activo con su fichero .htaccess correspondiente. De esa manera le das tiempo a Google a modificar su índice. Es algo que hará poco a poco (esto depende de varios factores y por eso es bueno controlar tu crawl budget con frecuencia), por eso es importante tenerlo activado el mayor tiempo posible (yo lo tuve seis meses).
Otra cosa: una vez que tengas el .htaccess en el sitio antiguo ya editado, con sus 301 bien hechos, deberías ponerlo en mantenimiento. De esa forma no sufrirás penalización por contenido duplicado en otros buscadores. Aunque lo hagamos todo pensando en Google, lo cierto es que cada vez más usuarios emplean otros buscadores. Si ya estás indizado en ellos y se detecta que el contenido del servidor antiguo es idéntigo al nuevo corres el riesgo de ser penalizado.
Suerte 😉
Victor Ramirez dice
Gracias por la informacion. El tutorial esta bien explicado, serviria mucho tener un aspecto visual como un video paso a paso.
Jose A. Senso dice
Me pondré a ello 😉
luis dice
muy bueno el video… Tengo una consulta- tengo 2 sitios…. el primero tiene mucha antiguedad y reconocimiento , pero cuando se desarrollo el ecommerce se hizo en un segundo sitio, ahora la idea es unificar y llevar el ecommerce el primer sitio, (los dos con distintas urls ) mi consulta es, me conviene hacer una redireccion 301 y luego matar al segundo sitio para no perder posicionamiento?? o cuanto tiempo me conviene mantener el segundo sitio??
Jose A. Senso dice
Gracias, Luis. Efectivamente, lo mejor que puedes hacer es un redireccionamiento 301 para no perder el posicionamiento ganado en el primer sitio. En cuanto al tiempo, lo cierto es que no existe un periodo de tiempo concreto, ya que depende de factores como el estado actual de indización del sitio nuevo, la cantidad de enlaces que tengas indexados en ambos sitios, la frecuencia de rastreo, el crawlbudget… En todos los manuales que he visto siempre dicen lo mismo: la mayor cantidad posible de tiempo. En condiciones normales un sitio con 500 páginas debería tener suficiente con dos meses (siempre recomiendo el máximo, por si las moscas). A partir de ahí se puede hacer el cálculo.
luis dice
muchas muchassss gracias, la verdad se sacaste una gran dudas, excelente el articulo
Jose A. Senso dice
Gracias a ti 😉
Alvaro dice
Buenas tardes, me ha parecido interesantísimo tu post y a raíz de él me ha surgido una duda. Tengo 1 web con un dominio X, y otros 2 dominios que se parecen mucho a ese dominio redireccionados al sitio web X. Por ejemplo: (1) fruterialamejornaranja.com (con web), (2) lamejornaranjafruteria.com (sin web y redireccionado a la web 1) y (3) naranjalamejorfruteria.com (sin web y redireccionado a la web 1). Esto sirve para algo? mejora el posicionamiento? o estoy pagando dominios a lo tonto? Todo esto lo hice, porque me suena haberlo leído en algún manual de marketing digital… pero fue hace años… Muchas gracias de antemano!
Jose A. Senso dice
Hola, Álvaro.
Te cuento.
Lo primero que tienes que saber es la cantidad de visitantes que han llegado a la web 1 por medio de las web 2 y 3. Lo mejor es mirar eso en Google Analytics (Adquisición->Todo el tráfico->Fuente/Medio). Si en ese listado aparecen tus webs 2 y 3 significa que lo estás haciendo bien y que son buenos anzuelos. Sin embargo, si en ese listado no aparecen, es que la cosa no va bien. Lo ideal es que a continuación veas el porcentaje de búsquedas orgánicas que tiene tu web 1 (Audiencia->comparativa->canales). Si ahí te aparece “organic search” en primer lugar -cuanto más destacado del resto, mejor- significa que la mayoría de tus visitantes llegan a tu web 1 gracias al contenido que ésta tiene. Eso ya es el último indicador que necesitas tener para dar de baja las otras webs.
Antiguamente (hace 3-4 años) la técnica que tú estás empleando tenía bastante sentido, ya que de esa forma podrías abarcar más posibles visitantes por medio del dominio anzuelo. Pero lo cierto es que esta técnica ya no se emplea. Los motivos son principalmente dos, y están relacionados con dos cambios fundamentales en el algoritmo de Google. Por un lado el contenido: ahora tiene mucho peso y, si es original, más. Por el otro que el sitio web se pueda visualizar con dispositivos móviles. Dado que tus sitios 2 y 3 no tienen contenido no serán recuperados en una búsqueda salvo que el usuario haya buscado exactamente por las palabras que forman el nombre del dominio (e, incluso así, es posible que queden relegadas a posiciones inferiores por culpa de sitios que sí tengan contenido), por lo que dejan de ser útiles.
Espero haberte ayudado.
Jose.