Logotipo horizontal de Diego C Martín colores invertidos, blanco y naranja para findo negro

Redirecciones 301 y 302 en SEO (con plantilla descargable)

En el contexto del SEO, una redirección se refiere al proceso de enviar a los usuarios y a los motores de búsqueda desde una URL específica a otra. Esto se hace por diversas razones, como cambios en la estructura del sitio web, actualizaciones de contenido o correcciones de errores, como los 404.

Supón que quieres mover una página de tu sitio web, un directorio o 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.

Con esto los usuarios no sufren el problema de llegar a una página que no existe (el error 404). Además ayuda a que los buscadores como Google mantengan sus índices actualizados y sin estos errores.

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

Aquí hay algunos tipos comunes de redirecciones:

  1. Redirección 301 (Permanente): Es la más común. Cuando se implementa una redirección 301, se le dice a los motores de búsqueda que la URL original ha cambiado permanentemente a una nueva ubicación. Esto es útil cuando se cambia la URL de una página o cuando se fusionan dos sitios web.
  2. Redirección 302 (Temporal): Indica que la URL original ha cambiado temporalmente a una nueva ubicación. Los motores de búsqueda tratan esto como una redirección temporal y no actualizan sus índices con la nueva URL.

¿Cómo hacer redirecciones 301?

Implementar una redirección 301 es un proceso sencillo que solo requiere modificar un archivo en el servidor llamado .htaccess, introduciendo las instrucciones adecuadas.

El archivo .htaccess gestiona la configuración del servidor y se ubica en el directorio raíz de tu sitio web. Este archivo se carga automáticamente antes de que cualquier página web se muestre a los usuarios o a los motores de búsqueda.

Para aplicar redirecciones 301 mediante el archivo .htaccess, realiza los siguientes pasos:

  • Localiza el archivo .htaccess: Usa una conexión FTP para acceder a tu servidor o bien el navegador de archivos del panel de hosting que uses y busca el archivo .htaccess, que comúnmente se encuentra en directorios como /www/, /httpdocs/, /public/, o /public_html/. Es un archivo oculto, así que asegúrate de habilitar la opción de mostrar todos los archivos en tu cliente FTP.
  • Abre el archivo: Utiliza un editor de texto simple, como el bloc de notas o un editor de código para abrirlo.
  • Modifica el archivo y guarda los cambios: Sigue las instrucciones que te proporciono a continuación.

Cómo hacer redirecciones 301 (plantilla descargable al final)

En el proceso de redireccionamiento, te puedes topar con diversas circunstancias, cada una con su propia solución.

Exploraremos diferentes escenarios de redireccionamiento:

  • Redireccionar una página específica
  • Cambiar la ubicación de un directorio completo
  • Mover un dominio entero a uno nuevo
  • Redirigir desde una dirección IP a un dominio
  • Cambiar de una versión sin www a una con www (o al revés)
  • Pasar de HTTP a HTTPS (y al contrario)
  • Ajustar la URL para que siempre termine con una barra (/)

Detallemos cada caso:

Redirigir una página

Si deseas trasladar una página de una URL antigua a una nueva, este proceso es bastante directo. Es una práctica habitual para:

  • Cambiar el URL por uno nuevo
  • Trasladar contenido a otra página
  • Eliminar una página existente

Para realizar esta redirección:

Redirect 301 /old-page http://www.example.com/new-page

Nota que la URL antigua no incluye el dominio, pero la nueva sí. Esta forma te permite mover páginas tanto dentro de tu dominio como hacia otros.

Para redirigir la página de inicio hacia otra interna o a un dominio diferente:

RedirectMatch 301 ^/$ http://www.example.com/new-page

Redireccionar un directorio

Si quieres cambiar el nombre de un directorio manteniendo su estructura interna:

Redirect 301 /old-directory/ http://www.example.com/new-directory/

Puedes redireccionar subdirectorios especificando su ruta completa:

Redirect 301 /directory/old-subdirectory/ http://www.example.com/directory/new-subdirectory/

Para complicar las cosas, redirigir un directorio a un subdirectorio más profundo sería así:

Redirect 301 /directory/subdirectory/ http://www.example.com/directory/new-subdirectory/subdirectory/

Si decides eliminar un directorio con todo su contenido:

RedirectMatch 301 ^/old-directory/(.*)$ http://www.example.com/new-page

Redireccionar un dominio

Cambiar completamente de dominio manteniendo la estructura de URLs es posible con:

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

Para redireccionar todo el contenido de un dominio antiguo a la página principal del nuevo:

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

Recuerda mantener el dominio antiguo y su hosting para conservar las redirecciones.

Redireccionar una IP

Para redirigir la IP de tu servidor hacia tu dominio, evitando duplicidades en los motores de búsqueda:

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

De NO-www a WWW (y viceversa)

Evita duplicidades redirigiendo de una versión sin www a una con www, o al revés:

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

Y para WWW a no-www:

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

De HTTP a HTTPS (y al contrario)

Para asegurar que tu sitio siempre use HTTPS:

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

Y para volver a HTTP:

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

Redireccionar la barra final (/)

Para unificar el acceso a tus páginas con o sin barra final:

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

Y para remover la barra:

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)/$ http://www.example.com/$1 [R=301,L,QSA]
</IfModule>
crossmenu
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram