La Guía Definitiva para Hacer Redirecciones 301

Una redirección 301 es un recurso imprescindible para mover, eliminar y consolidar páginas, Las redirecciones 301 son útiles cuando:

  • Quieres cambiar la URL de una página o eliminarla
  • Tienes problemas de contenido duplicado
  • Recibes visitas o enlaces en URLs que ya no existen
  • Vas a cambiar de gestor de contenidos o CMS
  • Necesitas establecer la versión canónica de tu sitio

De ahí que suele mencionarse como solución a problemas de SEO. Te dicen: “haz un redireccionamiento 301 y arreglado”, pero…

¿Cómo lo haces si no tienes ni idea?

A partir de ahora no tendrás problema. En esta guía te voy a enseñar a hacer redirecciones 301 en Apache para cualquier situación en la que te encuentres.

¿Qué es una redirección 301?

Las redirecciones 301 son comandos que permiten enviar a usuarios y buscadores de una URL  a otra automáticamente. Por esta razón son un recurso esencial para el mantenimiento de tu web.

Imagina que quieres mover una página de tu sitio, un directorio, o incluso todo el dominio. Una redirección 301 reenvía automáticamente a los visitantes que llegan a través de la antigua dirección a la nueva.

Gracias a ello, los usuarios no tienen esa desagradable experiencia de llegar a una página que no existe (el famoso error 404). Además ayuda a que los buscadores actualicen sus índices con las nuevas URLs.

¿Por qué son importantes las redirecciones 301?

Hay varias maneras de hacer redirecciones, como por ejemplo, meta refresh o JavaScript. Sin embargo, las únicas que pasan la prueba de los buscadores son las 301.

La diferencia está en que una redirección 301 transmite todo el valor de enlace de la antigua URL a la nueva. Y esto no sería importante sino fuera porque los buscadores calculan la popularidad de una página basándose en enlaces.

Nota: En febrero de 2016 Google hizo saber que las redirecciones 302 también transmiten Pagerank (han hecho hincapié sobre ello). Además, han afirmado que las redirecciones 30x (tanto 301 como 302) mantienen el valor de Pagerank a lo largo de toda la cadena de redirección, a diferencia de antes que se perdía una parte con cada salto.

Cuando un buscador se encuentra con una redirección 301 reacciona de esta manera:

  1. Elimina la antigua página de su índice – De esta forma la página no volverá a aparecer en las páginas de resultados.
  2. Incluye la nueva página en su índice – Para en adelante tenerla en cuenta al confeccionar los resultados de búsqueda.
  3. Transfiere el valor de la antigua página a la nueva – Y con esto me refiero a la popularidad que dan los enlaces a las páginas, la cual afecta directamente a los rankings.

De ahí que si quieres mover contenido en tu sitio y te preocupa el SEO, deberías usar redirecciones 301 antes que cualquier otra cosa.

¿Cómo hacer redirecciones 301?

Una redirección 301 es fácil de implementar. Basta con editar un archivo en tu servidor llamado .htaccess e introducir los comandos necesarios.

Por si no te suena, .htaccess es un archivo que controla la configuración del servidor. Se encuentra en la raíz de tu sitio y es lo primero que se carga cuando un usuario o un buscador acceden a tu sitio, antes incluso de que la página aparezca.

Para introducir redirecciones 301 en el archivo .htaccess, sigue estos pasos:

  1. Encuentra al archivo .htaccess – Conéctate mediante FTP a tu servidor (puedes usar FileZilla o CyberDuck) y busca el archivo .htaccess (normalmente está en /www//httpdocs//public/ /public_html/). Ten en cuenta que se trata de un archivo oculto, por lo que deberás activar la opción para ver todos los archivos en tu cliente FTP.
  2. Abre el archivo – Con cualquier editor de texto, como el bloc de notas o Notepad++.
  3. Edita el archivo – Siguiendo las instrucciones que te voy a dar más adelante.
  4. Guarda el archivo – Con la codificación ANSI para evitar errores.

¡Ten cuidado con el archivo .htaccess!

El archivo .htaccess es cosa seria. Si cometes un error al editarlo puedes provocar un desastre en tu web, así que trátalo con respeto.

Te recomiendo tomar estas precauciones:

  • Haz una copia de seguridad del archivo antes de hacer cualquier cambio
  • No cambies una sólo línea de las que ya trae a menos que sepas lo que haces
  • Prueba todas y cada una de las redirecciones introducidas, incluyendo las páginas individuales, directorios, etc.
  • Haz los cambios en las horas de menor tráfico

¿Cuánto tiempo dejar las redirecciones 301?

En teoría, una redirección 301 es permanente y debería dejarse configurada para siempre. Pero en la práctica, es difícil mantener una redirección eternamente.

¿Cuánto tiempo como mínimo debe dejarse una redirección 301? ¿Es malo borrarla?

El analista de Google John Mueller dice que el buscador puede tardar entre 6 meses y un año en reconocer que un sitio ha cambiado de dirección, de ahí que recomienda mantener las redirecciones activas al menos un año.

Si reconocemos que la redirección es permanente, entonces lo tenemos en cuenta de cara al futuro. Por tanto, si has trasladado tu sitio y hemos llegado a reconocerlo (lo que quizá puede llevar medio año o un año), entonces puedes quitar la redirección hasta cierto punto.

Por otra parte, si borras las redirecciones y tus antiguas URL están enlazadas, conducirán hacia una página 404 o a un dominio aparcado. Para evitar al usuario esta mala experiencia, avisa a los sitios de referencia para que actualicen los enlaces a tus páginas. Google tiene una guía donde explica los pasos a seguir.

Resumiendo: mantén las redirecciones todo el tiempo posible, como mínimo un año, y asegúrate de que los enlaces a tu sitio se actualizan a la nueva versión.

Casos de redirección

A la hora de hacer redirecciones puedes encontrarte con situaciones muy variadas, y no todas se resuelven igual.

Vamos a ver varios tipo de redirecciones en cada uno de estos casos:

  • Redireccionar una página
  • Redireccionar un directorio
  • Redireccionar un dominio
  • Redireccionar una IP
  • Redireccionar de NO-www a WWW (y viceversa)
  • Redireccionar de HTTP a httpS (y viceversa)
  • Redireccionar la barra al final (/)

Veamoslos:

Redireccionar una página

Es el caso en el que quieres mover una página de una dirección a otra, sin más. Es una acción muy común cuando pretendes:

  • Cambiar el nombre a la URL
  • Mover el contenido a otra página
  • Eliminar la página

La redirección se haría así:

Redirect 301 /vieja-pagina http://www.example.com/nueva-pagina

Fíjate en que la primera URL no incluye el dominio y la otra sí. La ventaja de esta sintaxis es que puedes mover la página no sólo dentro de tu dominio, sino hacia otro distinto.

Alternativamente, puede darse el caso en el que quieras mover únicamente la página principal de tu sitio (la home), a una página interna o a otro dominio.

Entonces la redirección sería así:

RedirectMatch 301 ^/$ http://www.example.com/nueva-pagina

Redireccionar un directorio

Supongamos que tienes un directorio en tu sitio del que cuelgan otros directorios o páginas, y quieres moverlo a un directorio con otro nombre, conservando toda la estructura de directorios y páginas que cuelgan de él.

La redirección sería esta:

Redirect 301 /viejo-directorio/ http://www.example.com/nuevo-directorio/

Fijate que no sólo puedes redireccionar directorios de primer nivel, sino subdirectorios. Lo único que tendrías que hacer sería incluir la estructura completa del directorio hasta el nivel que te interese:

Redirect 301 /directorio/viejo-subdirectorio/ http://www.example.com/directorio/nuevo-subdirectorio/

Otro caso interesante sería el de mover un directorio hacía un subdirectorio más profundo, aunque la cosa ya se complica:

Redirect 301 /directorio/subdirectorio/ http://www.example.com/directorio/nuevo-subdirectorio/subdirectorio/

Ahora supongamos que tienes un directorio del que cuelgan páginas internas y has decidido librarte de ese directorio y todo lo que contiene. Esta sería la redirección adecuada:

RedirectMatch 301 ^/viejo-directorio/(.*)$ http://www.example.com/nueva-pagina

Redireccionar un dominio

Puede llegar un momento en el que el nombre de tu dominio deja de tener sentido, por lo que tienes que moverlo a otro con un nombre más adecuado. Por supuesto, quieres conservar toda la estructura de URLs, lo único que te interesa es cambiar el nombre.

Lo harías así:

Redirect 301 / http://www.example.com/

Y en el caso de que quieras redireccionar todo el contenido del viejo dominio a la página principal del nuevo:

RedirectMatch 301 (.*) http://www.example.com/

Al mover un sitio de un dominio a otro, debes acordarte de renovar el antiguo dominio junto con un plan de alojamiento para seguir conservando las redirecciones. Si se te olvida y no consigues que los enlaces que apuntan al viejo dominio cambien al nuevo, perderás el jugo de enlace que habías acumulado hasta el momento.

Redireccionar una IP

A menudo se olvida que la dirección IP de un sitio debería reconducir a la URL del dominio. De otra forma, los buscadores pueden confundirse e indexar una réplica de tu sitio para la IP del servidor, lo que es poco deseable.

Para redirecionar la IP de tu servidor a tu dominio usa la siguiente regla:

<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} ^198\.51\.100\.24
RewriteRule (.*) http://www.example.com/$1 [R=301,L,QSA] </IfModule>

Al configurar la redirección, recuerda cambiar la IP del ejemplo (198.51.100.24) por la de tu servidor. Ésta puedes obtenerla con la herramienta SpyOnWeb.

Redireccionar de NO-www a WWW (y viceversa)

Esta redirección evita el problema de tener 2 versiones de un sitio web, uno en la versión www.example.com y otro en la versión example.com (sin www). Lo que hace es redireccionar todo lo que está en la versión NO-www a la versión WWW mediante la llamada redirección canónica:

<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} ^example.com [NC] RewriteRule (.*) http://www.example.com/$1 [R=301,L,QSA] </IfModule>

Pero claro, puede ser que lo que te interese es tener tu sitio en la versión NO-www, como hago yo.

En ese caso, la redirección de WWW a No-www sería así:

<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule (.*) http://example.com/$1 [R=301,L,QSA] </IfModule>

Redireccionar de HTTP a httpS (y viceversa)

Si tienes una web segura que funciona sólo con SSL, es bueno asegurarse de que tus paginas se sirven siempre desde el protocolo HTTPS.

Para ello, emplea la siguiente regla:

<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.example.com/$1 [R=301,L,QSA] </IfModule>

Y si has tenido una web segura durante un tiempo, pero has decidido quitar el certificado SSL, necesitaras redireccionar a la versión HTTP. En caso contrario, tus usuario se encontrarán con un molesto mensaje de error en el navegador y perderás visitas.

Aquí tienes la regla:

<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} on
RewriteRule (.*) http://www.example.com/$1 [R=301,L,QSA] </IfModule>

Redireccionar la barra al final (/)

Puede ocurrir que tus páginas estén disponibles tanto con una barra al final como sin ella. Por ejemplo:

  • http://www.example.com/pagina
  • http://www.example.com/pagina/

Si es así, tienes una duplicidad que sólo puede resolverse redirigiendo una versión a la otra.

Para redireccionar todas las páginas sin barra a la versión con barra al final, usa la siguiente regla:

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://www.example.com/$1/ [R=301,L,QSA] </IfModule>

Y para hacerlo al revés y así quitar la barra del final, usa esta otra regla:

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ http://www.example.com/$1 [R=301,L,QSA] </IfModule>

Imprescindible para que las redirecciones funcionen

Para asegurarte de que las redirecciones funcionan, necesitas implementarlas sobre el archivo .htaccess, en un servidor web Apache, y con la función mod rewrite activada.

Para ello, incluye el siguiente código al inicio del archivo:

Options +FollowSymlinks
RewriteEngine on

Teniendo esto, basta con que copies los comandos que te he dado (cambiando el nombre a las páginas, directorios y dominios) y los pegues justo debajo.

Guía para hace redirecciones 301 por Tomas Deteresa.

Una redireccion 301 se puede realizar desde el htacces y plugins de WordPress.

Entradas relacionadas:

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *