Cómo redireccionar una página web: 301 Redirect

Cómo redireccionar una página web con 301

¿Cómo redirecciono mi página web con 301 Redirect? Es una pregunta que aparece constantemente y la respuesta la encuentras aquí. Un poco de información básica al respecto.

Por qué redireccionar una página web

Hay muchas razones por las cuales puedes implementar el redireccionamiento web con 301. Una de ellas es que quieras cambiar tu página hacia un dominio nuevo. Otra es que quieres combinar dos páginas independientes, con dominio independiente, en una sola, por lo que quieres redireccionar una URL de esas. O puede que sólo quieras actualizar tu página de promociones del año pasado y es una muy buena idea redireccionar esa página específica hacia la nueva página de promociones. En realidad, cada vez que quites algún tipo de contenido debe implementarse el redireccionamiento 301.

Qué significa el 301

301 es el código de estatus HTTP para un redireccionamiento permanente. La definición oficial de 301 es la siguiente:

«El recurso solicitado ha sido asignado permanentemente a una nueva URL y cualquier referencia futura hacia este recurso DEBERÁ redireccionarse hacia la nueva URL. Esta respuesta es cacheable si no se indica lo contrario.»

En otras palabras, básicamente le indica al motor de búsqueda que «esta página ha cambiado de dirección. Actualiza tus registros de acuerdo a lo indicado». También le permite a los motores de búsqueda transferir apropiadamente cualquier posicionamiento asociado al dominio anterior al nuevo.

El método 301 es el método preferido de redireccionamiento para SEO. Desafortunadamente, el método por defecto en la mayoría de servidores IIS es el 302. El código 302 regresa un estatus de Encontrado. En realidad, este código debiera utilizarse cuando el servidor tiene algún problema y nada más.

El 302 ha sido reemplazado con el redireccionamiento 307. El redireccionamiento 307 le dice al motor de búsqueda que «esto es temporal, por favor, visita de nuevo la URL en una siguiente ocasión». Con un redireccionamiento 302 ó 307 no se transfiere ningún tipo de posicionamiento, pagerank o autoridad a la nueva URL. En otras palabras: no los uses.

Como implemento el redireccionamiento 301

Se puede implementar de varias maneras. La manera más fácil es vía archivo .htaccess pero debemos dar algunas recomendaciones de como sí hacerlo y como no. Usaremos un ejemplo básico de redireccionamiento de un dominio sin www hacia su versión con www. Es decir: redireccionaremos tudominio.com hacia www.tudominio.com

Redireccionamiento 301 con .htaccess

Si utilizas Apache y puedes editar el archivo .htaccess, esta es la manera más simple. Incluye en tu archivo las siguientes líneas:

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

Siguiendo este ejemplo, substituye los valores para utilizarlo en cualquier redireccionamiento web que requieras. Aplica para dominios completos o sólo páginas específicas.

Redireccionamiento 301 con PHP

En los casos en que no sea posible modificar el archivo .htaccess, entonces debes hacerlo al nivel de página. Una opción de código sería la siguiente:

<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.tudominio.com/”);
?>

Debes asegurarte que no imprimes nada de texto o código HTML antes de ejecutar las líneas anteriores.

Redireccionamiento 301 en ASP

Si utilizas ASP, entonces debes incluir las siguientes líneas:

<%
Response.Status = «301 Moved Permanently»
Response.AddHeader «Location», «http://www.tudominio.com/»
Response.End
%>

Como no redireccionar tu web

Este artículo no estaría completo si no te diéramos algunos tips de cómo no redireccionar tu página web y evitar así algunas trampas.

No utilices redireccionamiento con Javascript

Los redireccionamientos con Javascript no dan ninguna garantía que el buscador los asimile y los incluya. El código típico sería:

<script type=”text/javascript”>
window.location.href=’http://www.tudominio.com/’;
</script>

También podrías utilizar document.location o document.url en lugar de window.location.href pero esos fueron ya desechados y no funcionan en todos los navegadores.

No utilices redirecionamiento con Meta refresh

Las etiquetas Meta Refresh son incluso peor que las de Javascript, y se implementan así:

<meta http-equiv=”refresh” content=”0;url=http://www.tudominio.com/”>

Recomendación final: Utiliza el redirecionamiento utilizando el código 301.