Redirección 301 Guía Completa de Escenarios y Códigos

Redirect 301 La guia de las guías 2020

Las redirecciones 301 son sin duda parte del día a día en el trabajo de un SEO técnico, y de cualquier persona que publique contenidos de cualquier tipo.

El concepto es tan sencillo como hacer que el usuario que llegue a una URL sea enviado automáticamente a otra, pero los casos de uso son muy variados.

Existen otros métodos para hacer redirecciones, como meta refresh y también otro tipo de redirecciones, como las 302 para cambios no definitivos.

En la mayoría de los casos, las redirecciones 301 son las más adecuadas y la edición de htaccess el método más efectivo.

Los motivos por los que se hacen redirecciones 301 son varios:

Cambio del dominio de una web, redirecciones dominio a dominio

Este caso es el más sencillo de todos y se da cuando una web ya indexada y posicionada cambia de dominio por el motivo que fuera.

Es importante tener en cuenta que solo ha de cambiar el dominio, pero la estructura de urls se mantiene tal cual.

En este caso, el código en nuestro htaccess quedaría así:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RedirectMatch 301 ^(.*)$ http://www.ejemplo.com/$1
</IfModule>

Las partes en verde son imprescindibles, ya que nuestro servidor hace uso del módulo mod_rewrite para hacer las redirecciones, y se usarán en todas las redirecciones.

Muchas veces un cambio de dominio implica un cambio en la estructura de urls, ya que es un proyecto nuevo, o un CMS distinto. En este caso hay que hacer redirecciones específicas para cada url o grupo de urls.

Redirecciones de página a página

Es el caso en que una única página de tu dominio redirige a otra, ya se de tu dominio o de cualquier otro.

Redirect 301 /pagina/ http://www.ejemplo.com/otra-pagina.html

Este es el caso más habitual para:

Eliminar errores 404: Si en Search Console vemos páginas publicadas con error, podemos redirigirlas a una página similar.

Eliminar definitivamente productos de un catálogo. Por ejemplo, si nuestra tienda online tiene una ficha de producto bien posicionada, pero ese producto se descataloga. En este caso redirigiremos la página de producto a otro similar si lo hubiera, si no, a la categoría  o a la home.

Fusionar contenidos: Te has dado cuenta de que uno de tus artículos posiciona por las mismas palabras clave que otro, así que decides unificarlos.

Bien, pues la url del post que desaparezca debería redirigir vía 301 al post que se mantiene.

Redirecciones de versión canónica (www) http y https y barra final

Estos tres casos son muy parecidos, y las redirecciones han de hacerse para que solamente haya una versión navegable de la web.

De lo contrario, un mismo contenido podría ser navegable hasta en 6 versiones siendo exáctamente el mismo. Con y sin www, http y https con y sin / final.

El motor de google siempre va a tomar una versión “preferida“ automáticamente, ya que los enlaces se crean en una u otra versión, pero no es raro encontrar fallos en esta detección, sobre todo cuando ha habido algún cambio reciente.

Hay que seleccionar una de las versiones y hacerla la “oficial”.

¿Cómo elegimos?

Si ya tenemos indexadas y posicionadas urls, seguramente sean en una versión concreta, nos quedamos con esa.

Si no tenemos nada posicionado aún, nos quedaremos con la versión https.

Con o sin / final seguramente lo marque cómo monta las urls nuestro CMS.

Con y sin www también es más personal que otra cosa.  Una url sin www seria difícil de reconocer como tal en una publicación impresa, sin embargo, cualquier palabra o frase con www delante se reconoce como una url.

Por otro lado, en la última actualización de Chrome, las www se ocultan, y da pistas de la poca importancia que tienen ya.

Hay que fijarse en cómo se forman las urls en nuestra web, ya que las urls de los enlaces no es recomendable que estén redirigidas, es decir, si nuestro sitio monta los enlaces con www, o los cambiamos todos, o elegimos esa como versión “oficial”.

Sin www a www

RewriteCond %{HTTP_HOST} ^ejemplo.com [NC]
RewriteRule ^(.*)$ http://www.ejemplo.com/$1 [L,R=301]

Con www a sin www

RewriteCond %{HTTP_HOST} ^www.ejemplo.com [NC]
RewriteRule ^(.*)$ http://ejemplo.com/$1 [L,R=301]

Este código redirecciona tanto la home como las páginas internas. Tanto en este como en el siguiente ejemplo, se pasa el modificador R=301 que especifica el 301 como tipo de redirección. Sin este modificador las redirecciones también funcionan, pero serían de tipo 302, ya que es el valor por defecto para rewriterule.

De http a https

RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.ejemplo.com/$1 [R=301,L,QSA]

De https a http

RewriteCond %{HTTPS} on
RewriteRule (.*) http://www.ejemplo.com/$1 [R=301,L,QSA]

Este caso es el típico en el que a una web publicada en http se le instala un certificado de seguridad, y necesitamos forzar toda la navegación a https. En WordPress es muy util el plugin easy https que hace todo el trabajo (también cambiar los links) por nosotros.

Sin / final a con / final

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

Con / final a sin / final

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

Redirección de directorios completos

En el caso de que queramos, por ejemplo, cambiar el nombre de una categoría a nuestra tienda o blog:

Redirect 301 /viejo-nombre/ http://www.ejemplo.com/nuevo-nombre

Es una redirección de url a url como las que hemos explicado antes, pero si nuestros post o artículos montan sus urls con la ruta completa de navegación, estas urls también han de ser redirigidas.

RedirectMatch 301 /viejo-nombre/(.*) /nuevo-nombre/$1

Con esta regla cambiamos el nombre del directorio en las urls que dependan de él.

Solicita presupuesto sin compromiso

¿Cuánto tiempo mantener las redirecciones?

Desde Google nos informan que una url redirigida puede tardar entre 6 meses y un año en detectarse.

En la práctica, si no hay urls antiguas indexadas, se podrían eliminar.

Aspectos a tener en cuenta

Muy importante, el archivo .htaccess no solo sirve para hacer redirecciones, por lo que una mala configuración puede hacer que nuestra web no funcione.

SIEMPRE hay que hacer una copia antes de modificar nada, para volver atrás cuando sea necesario.

.htacces es un fichero de texto, y puede editarse con cualquier editor de texto plano: Notepad++, Textedit o el propio Notepad de Windows.

El archivo .htaccess se edita como cualquier otro archivo de la web, mediante un cliente FTP (Filezilla por ejemplo).

Este archivo se encuentra en la raíz del sitio, y en ocasiones, este archivo está oculto, por lo que tenemos que indicar a filezilla (o cliente FTP que se esté usando) que muestre archivos ocultos.

Filezilla da esta opción en el menú superior “servidor” y check en “forzar mostrar archivos ocultos”.

Roberto Gorraiz
CEO en AgenciaSEO.eu, experto en Marketing Online y en Estrategia Digital
Publicado el

Leave a Reply

Your email address will not be published. Required fields are marked *

Acepto la política de privacidad *

Call Now Button
Pide
Presupuesto