Hola a todos!
Lo dije y lo cumplo 🙂
Ya habéis sido mas de uno y más de dos los qué me han pedido que escriba sobre cómo migrar una web, y cómo para mi mis lectores son lo primero, ¡aquí lo lleváis!
Cómo migrar una web y no morir en el intento
Antes de empezar con el meollo del asunto, quiero explicar un poco qué es y para qué sirve una migración web, además de los problemas e inconvenientes que pueden surgir (pueden surgir muchos problemas, creedme).
Recordarte que, en este proceso, puede ayudar tener un buen servidor como IONOS.
¿Qué es una migración web y para qué sirve?
Una migración web es una técnica usada para traspasar a un sitio web de un dominio a otro, de un servidor a otro, o de una web a otra con una estructura diferente.
Las razones más comunes para realizar una migración web son las siguientes:
- Se pretende cambiar de CMS (Gestor de contenidos). Por ejemplo un webmaster quiere cambiar su sitio web de Blogspot a WordPress. Son muchos los casos.
- Una web creada a código que se quiere pasar a un CMS, o viceversa.
- Se pretende cambiar de servidor de alojamiento.
- Se pretende cambiar de dominio (El caso más común).
Nosotros vamos a tratar la cuestión que más quebraderos de cabeza puede dar de todas, y por supuesto la qué más puede afectar al SEO de nuestra web.
Al fin y al cabo, si realizas una migración de un CMS a otro, o de un servidor a otro, simplemente creando las nuevas URLs exactamente iguales y copiando el contenido, tendremos suficiente para no sufrir un «des-posicionamiento».
El problema viene cuando cambias de dominio, ya sea a uno totalmente diferente o a uno que por ejemplo solo cambie un «.com» a un «.es».
Si una web tiene cierta autoridad y está posicionado para ciertas palabras claves, y se realiza una migración de forma incorrecta, esa web perderá toda autoridad, y por lo tanto las posiciones alcanzadas.
¿Por qué pasa esto?
Sencillo.
Imaginad que tenéis una página posicionada por la palabra clave «como adelgazar fácilmente».
Esto quiere decir, que tendréis una URL, seguramente amigable, que será: «www.dominio.com/como-adelgazar-facilmente».
Si por ejemplo, realizáis una migración a un dominio nuevo y no hacéis redireccionamientos 301 correctamente, perderéis esa posición, porque la nueva Url será, por ejemplo: «www.dominio.es/como-adelgazar-facilmente».
Una página, que para los buscadores es totalmente diferente, es otra web, que no tiene nada que ver con la otra, en realidad, un competidor.
¡Pues ahora empieza lo bueno!
Cómo hacer una migración sin perder autoridad
Hay que decir que es un proceso delicado, no es nada sencillo, pero intentaremos agilizarlo en la medida de lo posible.
Vamos a simular un proceso de migración:
Cerrando la indexación de la nueva web.
Antes de nada, asegúrate que la nueva web está cerrada a la indexación. Esto lo hacemos para qué Google ni ningún buscador indexe ninguna página de nuestro sitio hasta que este no haya terminado de desarrollarse. Así evitamos posteriores errores 404.
Simplemente tenemos crear el archivo robots.txt (Si no está creado aún), e introducimos los siguientes comandos:
User-agent: *
Disallow: /
Con esto les decimos a todos los agentes (Motores de búsqueda) que no sigan ninguna web de nuestro sitio.
En realidad con esto no cerramos la indexación. Sólo impedimos que se rastreen las páginas y directorios de nuestra nueva web.
Esto puede ser suficiente para que no se indexe ninguna página, pero si quieres asegurarte, añade el atributo «nofollow» A cada una de las páginas creadas en la nueva web.
Asegurando todas las URLs.
Lo primero que tenemos que hacer es recopilar todas las Urls del sitio antiguo.
Para ello vamos a necesitar una hoja de cálculo (Documento Excel).
Una herramienta que nos facilitará el trabajo: Screaming Frog.
Tener a mano el archivo .htaccess. (A veces esto no es necesario, ya que algunos servidores permiten hacer redireccionamientos directamente desde su panel de control).
Tener a mano el archivo robots.txt de la nueva web.
Un poco más sobre SEO Onpage, y más en concreto sobre penalizaciones SEO con la técnica Keywords Stuffing 😉
Paso por paso:
1-Una vez descargado e instalado screaming frog, arrancamos la aplicación.
2-Introducimos la Url de nuestro dominio antiguo y dejamos que escanee nuestra web.
3-Al cabo de un rato nos arrojará todas las Urls de nuestro sitio.
4-En la pestaña «Internal» filtramos a solo HTML.
5-Exportamos a un documento Excel.
6-Abrimos el documento Excel.
7-Apartamos la columna «A» (Qué es la que contiene las Urls) hacia la derecha.
8-Eliminamos las demás columnas, porque no nos interesan.
9-Cuando tengamos limpia nuestra hoja de cálculo, aún nos queda cosas que hacer. Algunas URLs no son necesarias que las redirecciones, porque estás NO deberían estar indexadas. Hablo del caso de Urls cómo: /Wp-content, /category/, /politica-de-cokies/, Etc. Para ello seleccionamos todas las Urls y creamos una nueva regla en nuestra hoja de cálculo.
10-Seleccionamos «Aplicar formato únicamente a las celdas que contengan», «Dar formato únicamente a las celdas con: Texto específico», «Qué contiene», en mi caso «/category/.
11-Le damos un formato, «Relleno» y el color que queramos. Esto nos sirve para distinguir las Urls que no necesitamos crearles redireccionamientos para eliminarlas de nuestra hoja de cálculo.
12-Ahora ya solo tenemos que eliminar las filas con las Urls de color y que no necesitamos.
Ahora ya, tenemos una lista completa de todas las Urls de nuestra web antigua, que nos interesa redireccionar hacia la nueva web.
Lo siguiente que vamos a hacer es crear en nuestra nueva web, una a una, páginas que tengan la misma Urls que las antiguas, exceptuando el dominio, claro está.
Si aplicamos el ejemplo del principio del post, crearemos una nueva Url que sería la siguiente: «www.dominio.es/como-adelgazar-facilmente».
En esa nueva Url copiamos el contenido de la Url antigua.
Cómo tenemos cerrada la indexación de página no tendremos problemas de contenido duplicado mientras creamos las redirecciones.
Cuando tengamos todas las nuevas páginas creadas y con el contenido copiado de las páginas antiguas, podemos comenzar a crear los redireccionamientos 301.
Redireccionamientos 301
Ha llegado el momento de ponerse manos a la obra.
Ya tenemos todo organizado, ahora debemos meterle mano a nuestro archivo .htaccess.
Hay que dejar claro, por si a estas alturas todavía alguien lo duda, que el archivo .htaccess que debemos modificar es el de la vieja web 🙂
Ya qué estamos haciendo las cosas bien y de forma ordenada, vamos a redireccionar cada Url a su nueva versión. Digo esto porque cabe la posibilidad de redireccionar todas las Urls viejas a dominio raíz. Esto es muy cómodo pero no es un trabajo bien hecho, es más bien una chapuza.
Si queremos hacer solo eso, tan solo tenemos que incluir en nuestro archivo .htaccess este comando:
Redirect 301 /como-adelgazar-facilmente/ http://dominio.es
En cambio, si queremos hacer las cosas bien debemos de redireccionar Url por Url, de la siguiente forma:
Redirect 301 /como-adelgazar-facilmente/ http://dominio.es/como-adelgazar-facilmente/
Esto debemos de hacer con cada una de las Urls que queremos redireccionar.
Así que solo nos queda coger la lista de Urls antiguas y la lista de Urls nueva, y realizar todos los redireccionamientos.
Pero ahí no queda la cosa, no no.
Hay muchos tipos de redirecccionamientos:
Redireccionar dominio a dominio:
Redirect 301 / http://www.dominio.es/
Redireccionamiento de directorio:
Redirect 301 /antiguo-directorio/ http://dominio.com/nuevo-directorio/
Pero para qué todo esto funcione correctamente, debes implementar una regla en tu archivo .htaccess:
Options +FollowSymlinks
RewriteEngine on
Con esto activas la función mod rewrite.
Una vez hayamos terminado con todas las redirecciones hay que abrir a la indexación toda la nueva web.
Para ello desactivamos los atributos «nofollow» de las páginas y eliminamos del robots.txt el comando «Disallow: /».
Cuando eso esté hecho, podemos enviar al directorio de Google las nuevas Urls para que se indexen lo más rápido posible de la siguiente manera:
1-Vamos a nuestra cuenta de Webmaster tools (Si no tenemos una, la creamos).
2-Registramos el nuevo dominio como nuestra propiedad (Si no lo habías hecho ya antes).
3-Entramos en nuestra propiedad de dominio.
4-Nos dirigimos a la pestaña «Rastreo».
5-Cliqueamos en la opción «Explorar como Google».
6-Introducimos uno a uno nuestras páginas: como-adelgazar-facilmente/.
7- Cliqueamos en la opción «Obtener y Procesar».
8-Cuando haya terminado le damos a «Enviar al indexe».
9-Marcamos la opción «Rastrear esta Url y sus enlaces directos» y le damos a «Ir».
En pocos minutos tendremos nuestras nuevas páginas indexadas en Google. Maravilloso.
Otras formas de redireccionar páginas
Existen otras formas para realizar redireccionamientos 301:
Desde el propio servidor.
Hay servidores que permiten realizar redireccionamientos 301 desde su panel de control, sin necesidad de tocar el archivo .htaccess.
Normalmente hay un número limitado de redireccionamientos.
Desde un plugins de WordPress.
Existen plugins en wordpress que nos permiten realizar redireccionamientos 301.
Entre ellos está Redirection.
Problemas con las redirecciones 301
Si estamos redirecionando de un dominio a otro, por ejemplo de www.dominio.com a www.dominio.es y este redireccionamiento lo hacemos desde un plugins habrá problemas.
Esto se debe a qué cuando hacemos ese redireccionamiento ya no tenemos acceso a nuestro escritorio de wordpress, ya que esa web está redirecionada. Por lo tanto todos los redireccionamientos que hagamos con eso plugins no se harán efectivo, porque se anulan.
Mantener la autoridad con las migraciones web
Para perder la menor autoridad posible y las menores posiciones posibles con la migración, es necesario que no perdamos el dominio antiguo, para que este proceso sea natural.
Debemos esperar al menos 3 meses para qué se vaya posicionando las páginas de la nueva web y vayan desapareciendo las páginas de la vieja web.
Y hasta aquí hemos llegado.
Es una guía bastante compleja, porque una migración es algo muy complejo.
Espero que os sirva de ayuda y que hagáis migraciones como un pro. Por supuesto y como siempre digo, si tenéis cualquier problema al respecto o con vuestro proyecto SEO, aquí me tenéis amigos.
Y por último, quiero compartir un manual de herramienta de palabras clave de Google, ¡disfrútalo!
¡Hasta la próxima!
(Imágenes cedidas por Shutterstock) ¡Un Banco de Imágenes dónde podrás encontrar de todo!
Cordial saludo.
Mechas gracias por este tutorial. Ha sido muy oportuno ya qué estoy construyendo una nueva página Web Y no había tenido en cuenta la impotencia de los enlaces de la página que voy a reemplazar, entre otras cosas.
No sabía el riesgo que conlleva cambiar el nombre a los enlaces.
Muchas gracias
Felíz día!
Hola Juan!!!
Gracias ti!!
La verdad es qué si que tiene mucha importancia redirigir bien las páginas para no perder autoridad y por ello posiciones en las Serp.
Me alegro mucho de que te sirva!!!
Un saludo!!!
Son muchas cosas, pero al menos ahora gracias a tu post, le tengo un poco mas claro.
Un saludo Daniel.
Hola Isa!!!
Me alegra saber que lo tienes más claro gracias a este artículo.
Saludos!!!
En la WordCamp Barcelona de este año y en WordPress Day Euskadi hablé de cómo migrar webs a WordPress. Os dejo el enlace a la charla (con un título muy parecido al de este post, por cierto) por si a alguien le interesa: http://www.slideshare.net/neliosoftware/a-villegas-wordpressdayeuskadi
¡Muchas gracias por escribir el post! Son ya algunos casos en los que he tenido que hacerlo y me ayuda mucho para contrastar otras opciones. Hago el mismo proceso de 301 pero he aprendido otros pasos previos muy útiles. La verdad que he tenido suerte porque han sido desde .es a .com y no al contrario.
Saludos!!
Hola Juanlu!!!
Me alegro mucho de que te sirva. Para eso lo escribí, pretendía tener una guía para que siempre podáis acudir a ella.
Saludos!!!
Buen tutorial. Más de un dolor de cabeza me habría podido ahorra de conocerlo antes.
Sólo una pregunta, si tu sitio tiene +5000 páginas ¿cómo lo haces? porque una a una es una paliza considerable, pero sobre todo, imagino que el htaccess tendrá un límite recomendable.
¿Se puede cargar ese archivo con más de 5000 líneas de redirecciones y que siga funcionando correctamente?
Esta es la duda que tengo.
UN saludo.
Hola Francisco!!!
Me alegro mucho de qué te guste la guía.
Cierto es que si tienes una web de tantas páginas es una pasada redireccionar una a una, pero eso se debe hacer si por ejemplo esas páginas (las 5000) tienen contenido que no quieres perder.
En el caso de que te de igual perderlo, puedes redireccionar todas las páginas a la index:
Redirect 301 / http://www.dominio.es/
Con esto redireccionas el dominio entero al “.es”:
Por otro lado el archivo .htaccess no tiene ningún límite, pero si es verdad que es un archivo muy delicado y tienes que saber muy bien lo qué haces para modificarlo.
Cómo siempre, lo mejor es organizarse bien y planear con antelación lo qué se va a hacer. En una migración no puede haber improvisaciones 🙂
Un abrazo!!!
Excelente toda la info, ya la he aplicado, pero tengo un inconveniente, te describo un poco el escenario, tengo mi antigua web en un servidor dentro de mi red local y migramos a una nueva web hosteada por un proveedor es decir ya esta fuera de mi lan, en internet, luego, ya hice el redirect y solo funciona dentro de mi red local, y pareciera que también funciona en internet pero en vez de redirigir al enlace que le digo redirige es a http://www.webnueva.com/subpaginavieja siempre para lo mismo con todos los enlances y muestra envidentemente que dentro de mi pagina nueva /subpaginavieja no se encuentra, es muy raro, no se si tengas alguna idea de porque pueda pasar esto.
Muchas gracias por tu post y de antemano por tu respuesta!!!
Saludos
Hola Johan.
Me falta información:
¿Sabes si cuando tenías la web en red local se llego a indexar parte de tu contenido?
Porque si no es así, no es necesario hacer redirecciones. Es decir, las redirecciones son para urls que ya están indexadas.
De todas formas no se si he entendido bien tu pregunta.
Saludos!!!
Hola,
Un artículo muy interesante, muchas gracias. Yo quiero preguntarte algo en relación con esto. ¿Cómo comprobar que Google no ha aplicado ningún tipo de penalización por haber redireccionado posts? Tenía 600 posts en un blog conjunto que finalmente volqué en un blog nuevo. Perdí el trafico ya que el redireccionamiento con el plugin creo que no funcionó. Lo que quiero saber es si Google me penalizó de alguna forma, durante un tiempo los posts aparecían indexados en Google con el nombre del otro blog.
Por otro lado, te agradecería cualquier artículo relacionado con la modificación de CSS y la eliminación de código de Javascript. Debo realizar algunas mejoras en el blog para incrementar la velocidad y me resulta complicado. Muchas gracias. Un cordial saludo,
Sofía
http://www.thecoolcollections.com
Hola Sofía,
En tu caso puede tratarse de una penalización algorítmica.
Para saber si realmente eso fue lo que pasó, deberás observar las métricas de tu tráfico. Si has observado una bajada de tráfico considerable en un periodo de tiempo corto, posiblemente tu web estará penalizada.
Saludos!!!
Hola,
Muchas gracias por el artículo muy útil! Tengo una duda y es que lo que quiero es redireccionar en wordpress todo un dominio a otro exceptuando algunas páginas que las quiero redirigir a sus nuevas versiones en el nuevo dominio. Las reglas que he utilizado son:
RewriteEngine on
# Redireccionar una página concreta
Redirect 301 /about-us http://www.newdomain.com/about-us/
# Redireccionar todo lo que no encaje con las reglas definidas previamente
RewriteRule (.*) http://www.newdomain.com/ [R=301,L]
Pero la primera regla me la ignora y me preguntaba si por casualidad sabes de algún método que me permita redirigir toda la web a la homepage menos aquellas páginas que tienen una nueva versión en el nuevo dominio?
Muchas gracias!
Hola Felix.
En ese caso, probaría a redireccionar archivos enteros, en vez de todo el dominio:
Redirect 301 /antiguo-directorio/ http://dominio.com
Menos, las Urls que quieras reemplazar.
Saludos y gracias por pasarte 😉
Muchas gracias, intentaré esa opción, Saludos!!
Gracias a ti, espero que te vaya bien con ello 😉
Hola Daniel,
Felicidades por esta guía, es del 2015 pero he leido varios post actuales y la tuya sigue siendo de los más completa 🙂
A ver si me puedes echar un cable, una vez rediseñada mi web, tengo que llevar a cabo una migración de directorio y CMS.
1) Por un lado, la web antigua trabaja con subdominios para varios idiomas y la web que estoy rediseñando tendrá solo dos idiomas que serán directorios.
Estos dos idiomas:
Página principal en inglés: http://dominio.com/
Y página en español: http://dominio.com/es/
Ejemplo subdominio (antigua web): http://es.dominio.com/ redireccionará a http://dominio.com/es/ (web rediseñada).
2) Los idiomas (subdominios) de la web antigua redireccionarán a http://dominio.com/es/ (web principal rediseñada).
3) Screaming frog. ¿Sólo se hace redireccionamientos de las páginas HTML? ¿No es necesario redireccionar las imágenes?
4) En caso de que las categorías y tags cambien de nombre también habrá que hacer redirecciones, verdad?
5) ¿Qué habría que hacer con estos ficheros que ayudan a clasificar el contenido del blog? Por ejemplo: http://dominio.com/noticias/2012/05/?
Muchas gracias de antemano Daniel. Comparto tu post para darte más difusión y ayudar a otros… 😉
Un saludo,
Vaya, gracias por estos tips tan valiosos, los aprovechare al maximo, saludos.
Gracias a ti.
Hola Daniel, buen artículo! Gracias por la explicación, pero según tengo entendido ahora Google Search Console también tiene una opción para cuando migramos de un dominio a otro verdad? Para darle a entender justamente este cambio. No se cuanto es necesario hacer el cambio a través de GSC.