¿Qué es una redirección?
Es una manera de redireccionar usuarios de sitios webs y buscadores a una URL diferente a la solicitada en primer lugar. Más abajo hay descripciones de algunos de los tipos de redirecciones más utilizados.
301 Movido permanentemente
Una redirección 301 es una redirección permanente, la cual transfiere cerca del 90 o 99% del link juice. Esta redirección indica que la página ha sido movida hacia una nueva dirección y la vieja URL debe ser considerada cómo caducada.
302 Found (HTTP 1.1) / Movido permanentemente (HTTP 1.0)
Las redirecciones 302 son temporarias. Esta redirección transmite 0% del link juice y en la mayoría de los casos no deben ser utilizadas. Debemos saber que el internet trabaja bajo el protocolo HTTP, el cual determina la longitud de las URL. En dos versiones diferentes de este protocolo, el servidor presenta dos respuestas diferentes:
- HTTP 1.0: 302 – “Movido temporalmente” es la respuesta. Estos archivos han sido movidos temporalmente a otra URL.
- HTTP 1.1: La respuesta en “Found” (encontrado). La respuesta del servidor ante este archivo ha sido cambiada.
307 Movido temporalmente (HTTP 1.1 principal)
La redirección 307 hechas bajo el protocolo HTTP 1.1 son las receptoras de la redirección 302. Mientras que los principales robots de búsqueda son considerados como análogos del 302, para la mayoría de los casos es mejor utilizar una redirección 301. La excepción a esta regla se da cuando el contenido es movido sólo de manera temporal (por ejemplo: durante un mantenimiento técnico) y los buscadores entienden que el servidor es completamente compatible con HTTP 1.1. De cualquier manera, resulta difícil determinar si los motores de búsqueda comprenderán que el servidor es compatible con el nuevo protocolo, así que resulta mejor usar la redirección 302 para mover contenido temporalmente.
Otros tipos de redirecciones
También hay otros tipos de redirecciones: usando Meta Refresh o Javascript — ambos son ejecutados a nivel de la página y no de servidor. Así luce una redirección típica de Meta Refresh: No obstante, estas redirecciones se usan en ocasiones contadas, ya que pueden ser utilizadas para spam y como pasillo para spam. Asimismo, cuando se usan estas redirecciones, el link juice se transmite pobremente. Aquí algunos ejemplo de su uso.
Canonización de un sitio web o ¿Cómo mantener unido un dominio?
Para pegar un dominio “www” sin usar el “www”
RewriteCond %{HTTP_HOST} ^www.site\.com$ [NC] RewriteRule ^(.*)$ Http://site.com/$1 [R=301,L]
Para pegar juntos sin “www” un dominio que ya lo tiene:
RewriteCond %{HTTP_HOST} ^site\.com$ [NC] RewriteRule ^(.*)$ Http://www.site.com/$1 [R=301,L]
Para lograr escoger correctamente cual opción pegar, recomendamos tener en cuenta:
- Que opciones están más al tope
- Qué opciones llevan a más paginas en el índice
Canonicalización de la barra o slash al final de una URL
Al diseñar un sitio es importante decidir acerca del formato que usa un slash o barra al final de la URL, dado que para los motores de búsqueda existen dos tipos de URL:
- http://www.site.com/cat1/
- http://www.site.com/cat1
Estos son diferentes. Por lo que tendrás que decidir qué en el sitio a prescribir las siguientes redirecciones. Para remover un slash al final:
RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ [NC] RewriteRule ^(.*)(/)$ $ 1 [L,R =301]
Para añadir un slash al final de la barra de dirección:
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Redirección de una página a otra:
Redirect 301 /oldpage.html http://www.site.com/newpage.html
Redirigir a duplicados de la página principal
Este código se asegura que cualquier dirección de una página de inicio incluya diferentes versiones de enlaces directos al nombre de la. Por ejemplo: default.htm o index.html serán redireccionados a la página canoníca http://www.site.com:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/ [NC] RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$
http://www.site.com/$1 [L,R=301]
Redirigir directorio
Si la estructura del catalogo se muestra en la URL, entonces al hacer la redirección habrás cambiado la URL correctamente.
En este caso, necesitas escribir el siguiente código de redirección:
RewriteRule ^(.*)/old-catalog/(.*)$ $1/new-catalog/$2 [R=301,L]
Pero si la URL del antiguo catalogo comienza inmediatamente luego del dominio: www.site.com/old-catalog/, necesitarás el siguiente código
RewriteRule old-catalog /(.*) / old-catalog /$1 [R=301,L]
Redirigir al cambiar extensiones de archivo
Si súbitamente te has movido a otra plataforma o CMS y al mismo tiempo has cambiado la extensión de las URL principales, entonces necesitas una redirección como esta:
RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html
Ejemplos prácticos para proteger el sitio de páginas duplicadas
Redirigir desde diferentes dominios y subdominios
Si compraste muchos dominios en diferentes zonas de dominio o desarrollaste un nuevo sitio web y lo adjuntaste todo a un subdominio, y además olvidaste cerrar este subdominio para el índice, entonces deber redirigir a tu primer principal:
RewriteCond %{HTTP_HOST} !^www\.site\.com RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]
Así, todos los subdominios como .site.ru, www.site.net, test.site.com serán redireccionados al “.com”
¿Cómo remover múltiples barras o slashes en una URL?
Algunas veces “de casualidad” las direcciones URL pueden contener varias barras o slash. Por ejemplo: www.site.com/catalog////page-1.html.
Aquí es necesario hacer un 301 y redirigir a una pagina con un solo slash www.site.com/catalog/page-1.html:
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ RewriteRule . %1/%2 [R=301,L]
Del mismo modo, es posible juntar las barras en una sola dirección URL: www.site.com/catalog/page-1.html at www.site.com/catalog/page-1.html:
RewriteCond %{REQUEST_URI} ^(.*)--(.*)$ RewriteRule . %1-%2 [R=301,L]
¿Cómo hacer una redirección de cualquier URL a otra pero solo en minúsculas?
Las minúsculas también son tomadas por los motores de búsqueda en caso que desees añadir direcciones URL en minúscula. No obstante, si no lo hiciste desde el comienzo, es mejor usar el siguiente código de redirección a un nivel de php script:
$lowerURI=strtolower($_SERVER['REQUEST_URI']); if($_SERVER['REQUEST_URI']!=$lowerURI) { header("HTTP/1.1 301 Moved Permanently");
header("Location: http://" . $_SERVER['HTTP_HOST'] . $lowerURI); exit(); }
¿Cómo mover a un nuevo dominio? La estrategia más optima para redirecciones 301
La estrategia más favorable para moverse a un nuevo dominio; tomando en cuenta los dos más grandes motores de búsqueda: Runet Yandex y Google.
- Redirección 31 del sitio viejo al nuevo
- Considera que no hacemos una redirección a los archivos robots.txt, sino que asignamos la dirección dada al Host al nuevo dominio.
El código para configurar y redirección el sitio viejo luce algo así:
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC] RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]
and the robots.txt file for the old site:
User-agent: Google Disallow: Host: newsite.com
Generar redirecciones 301
Si no eres un conocedor de la tecnología, entonces puedes usar los siguientes servicios básicos de redirecciones:
- http://www.webconfs.com/htaccess-redirect-generator.php
- http://www.rapidtables.com/web/tools/redirect-generator.htm
En tales servicios, solo es posible sustituir tu propia data e inmediatamente obtener un código para redireccionar entre esos dominios, directorios o direcciones URL.
¿Cómo verificar las redirecciones 301?
Después de cada cambio realizado a un trabajo de redirección 301, es necesario revisar la operatividad del sitio web:
- ¿Realmente funciona? – Ve a la página principal
- Muévete por las secciones principales del sitio
También, para probarlo todo más asiduamente, usa los siguientes servicios:
- http://bertal.ru – da toda la información posible sobre las respuestas que te da el servidor
- http://www.internetmarketingninjas.com/header-checker/.
¿Cómo y cuándo usar las redirecciones 301 vs canonícas?
Incluso sabiendo que existen algunos matices, Google tiene reglas claras para poder entender exactamente lo que tratamos de decir. En palabras simples, así entienden los motores de búsqueda nuestras instrucciones:
301 – ¡Oye! Motor de búsqueda: mi página no está aquí y ha sido movida a una nueva URL. Por favor borra del índice a la página y transfiere el link juice a mi nueva página.
Canonico – ¡Hola, Motor de búsqueda!: Tengo diversas versiones de la misma página (o contenido), por favor indexa sólo la versión canoníca de esta página. Mantendré otras páginas accesibles para las personas y así ellas puedan verlas, pero no las incluyas en el índice y transfiere todo el link juice a mi página preferida.
¿Cuándo es mejor usar una redirección 301?
- Por defecto es el método preferido
- Para páginas: si la página ha sido movida de manera permanente o ha sido reemplazada con una nueva dirección.
- Para dominios: si el sitio ha sido movido a un dominio nuevo (sitio vendido, rebranding de la marca)
- Para las páginas con un error 404 y de contenido no relevante: Por ejemplo, si se ha removió un producto de un directorio especifico es posible hacer una redirección a un producto similar o a la URL de la categoría donde estaba ese producto.
¿Cuándo es mejor usar rel=”canonical”?
- Cuando las redirecciones 301 no se pueden hace o su implementación llevaría mucho tiempo.
- Para el contenido duplicado que deseas que permanezca en ambas página ( por ejemplo: mostrar diferentes prendas de diferentes URL)
- Páginas con muchos URL diferentes en un dominio (por ejemplo: catálogos extensos, paginas de seguimientos de enlaces)
- Dominios cruzados: cuando ambos sitios son similares, pero ambos deben compartir contenido muy similar.
En definitiva: ambas opciones permiten mantener el link juice y serán interpretadas de manera similar por Google. De cualquier manera, las redirecciones 301 son el método preferido.
Errores al usar redirecciones
Redirecciones de varios pasos: de ser posible, es recomendable no usar redirecciones de múltiples pasos, de esta manera el trabajo es más rápido y se transmite mejor el link juice.
Usar el tipo incorrecto de redireccionamiento: al momento de escoger del tipo de redirección es necesario tomar en cuenta las características de cada una.
Implementación de redirecciones internar sin cambiar los enlaces a una nueva dirección: Después de programar todas las redirecciones en el sitio web, es necesario que revisar cada página del sitio lleve a una nueva y que no se agreguen enlaces a las páginas en donde ocurren las redirecciones.
Redirección a páginas y contenido irrelevante: La redirección siempre debe ocurrir hacia las páginas más importantes. Ya sea a una similar o de una categoría similar al contenido original.
Mala decisión entre usar rel = canonical vs. redirección 301. Ver más arriba.
Redirección a un punto final que no sea 200: La redirección debe llevar a un correcto funcionamiento de 200 respuestas del servidor. De otra manera, es aconsejable no confundir a los robots de búsqueda para que den como respuesta un error 404.
Redirección con robots.txt:
Por ejemplo, cuando se necesita registrar al servidor tras la adhesión de un dominio.
El seguimiento de la redirección de la cadena es conveniente con la ayuda del corrector de redirección. Descubra cómo se redireccionar una url a otra para evitar errores en el futuro y no confundir al usuario.
Esperamos que esta guía se convierta en una lista de trucos y una espectacular asistente de redirecciones 301 para tu sitio.