posicionamiento
59

Escrito por

En muchos casos nos encontramos con la situación de tener una dirección URL de una página que hemos cambiado a otra URL nueva, y por supuesto, queremos que nuestros visitantes actuales accedan mediante la nueva dirección.

Asumamos el hipotético caso de querer cambiar a una URL nueva por una serie de razones (hemos cambiado de dominio, el hosting tenía un dominio propio, nos gusta más un dominio.com, etc...). El cambio será, por ejemplo, el siguiente:

http://micarromelorobaron.blogspot.com/ a un nuevo dominio.

En este ejemplo cambiaremos de dirección porque la longitud de la URL original no nos parecía adecuada. Asi pues, cambiamos a una nueva URL:
http://www.micarromelorobaronanochemientrasdormia.com/.

El usuario webmaster suele realizar una de las tareas siguientes para solucionar esta situación:

Avisar por texto e incluir un enlace

El webmaster ha preparado una página para que al acceder a la dirección anterior muestre un texto avisando al visitante humano que la página ha cambiado de dirección, junto a un enlace para acceder a la nueva dirección. La peor solución de todas.

Una redirección META

El webmaster incluye el siguiente código HTML en su dirección anterior:

<head>
<meta http-equiv="refresh"
content="0;URL=http://www.nuevaurl.com/">

<title>La página ha cambiado de dirección </title>
</head>

Con ello realiza una redirección a nivel del navegador (pero que sólo algunos navegadores lo efectuan) y la cuál tarda más en realizarse. Mejor que la anterior, pero sigue siendo una mala opción.

Redirección a nivel del servidor

El webmaster coloca el siguiente código, en un lenguaje de servidor, como por ejemplo ASP o PHP:

<?php
header("Location: http://www.nuevaurl.com/");
?>

Con este ejemplo, hacemos una redirección instantánea. El usuario no se da cuenta de que hay una redirección, excepto por el cambio de la URL. De las mejores soluciones con respecto a las anteriores, no obstante, no es la mejor.

Redirección 301

Esta redirección trata a nivel de usuario humano exactamente igual que la anterior, pero con un ligero cambio que es muy importante.

La mayoría de los buscadores o robots indexadores, al encontrar una redirección 301 saben que la URL ha cambiado a la web redirigida, actualizando en un breve espacio de tiempo todas las URLs antiguas de su base de datos a la nueva URL. Esto es muy importante, ya que en un buscador como Google, por ejemplo, perdería el número de enlaces existentes a su web, muchos usuarios no entrarían y buscarían otra web por no tener que volver a pinchar en un enlace, etc.

<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.nuevaurl.com" );
?>

¡Por fin! Hemos llegado a la mejor redirección posible.

Redirección 301 con ModRewrite

Una forma más limpia aún, para los que tengan el módulo de ModRewrite instalado en su apache, es la siguiente, editando el fichero .htaccess:

RewriteEngine On
RewriteRule .* http://www.nuevaurl.com/ [R=301]

Para más información, echarle un vistazo a la chuleta de ModRewrite, con más datos sobre este sistema.

Existe, también, una manera todavía más sencilla mediante .htaccess que no requiere ModRewrite:

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

La redirección 301 es muy importante por esta última razón. Siempre se debe mantener una dirección principal de esta forma para no duplicar contenido. Además, se rumorea que Google penaliza a páginas con contenido duplicado.

Más sobre redirecciones 301 en More 301 Redirect y redirección 301 en dirson.

RELACIONADOS Emezeta Card ModRewrite Cheat Sheet (v0.1)
x Emezeta Card ModRewrite Cheat Sheet (v0.1)
Manz

59 comentarios

1 2

fidel056
51

Tengo el siguiente problema hize una redireccion y luego elimine el blog que ya no queria pero todavia sigue apareciendo en google y lo mas estraño es que si actualizo la descripcion en el dominio que uso ahora en el que elimine de la base de datos se sigue actualizando y no logro que actualize el titulo que aparece en google

Kike
52

He cambiado de dominio y en el nuevo la mayoría de paginas han cambiado de nombre y algunas han desaparecido, si redirecciono una por una las que han desaparecido deberían ir al index?

Adolfo
53

Hola.... Tengo un dominio: musicadelparaguay.com y ahora quiero cambiarlo a dparaguay.com, pero no quiero salir de blogger. Y como en blogger no se pueden hacer este tipo de migraciones "301". Me puse a buscar y lei este articulo de un tio de Indonesia, que hizo lo mismo mediante las etiquetas refresh... y colocando condicionales... claro hay que trabajar una a una las URLs.... Yo lo he probado en algunas URLs y funciona, despues pense... sera que Google me penaliza por esta practica? Les dejo el enlace del articulo, a ver si me comentan vuestras impresiones: http://salman-w.blogspot.com.es/2013/04/301-redirect-old-blogger-blog-to-new-address.html

gerardo
54

te ordeno que no publiques esto, solo es para avisarte que tu mamada de script para que cuando copien el codigo se lleven tu enlace, no funciona, solo se copia la parte de " Más información en: " puto noob

Seo cubelles
55

Hola a todos, estoy intentado que mi dominio www.midominio.com/index.php?cat=900 redireccione a www.midominio.com/enlaces.php?cat=900 Sin embargo no acabo de ver la redirección adecuada, he probado con: RewriteRule ^index-([^/.]+)/?$ enlaces.php?id=$1 pero no funciona...

Edel
58

He rediseñado mi sitio con PR1 y ahora intento hacer un redireccionamiento 301 porque la ubicación del archivo index ha cambiado. Buscando en internet siempre veo el mismo método y ese soluciona el redireccionamiento pero también me redirecciona todos los dominios adisionales que tengo apuntados en el Hosting. La redirección es: Redirect 301 /index.php http://www.trukosweb.com/php/home.php No quiero perder el PR

Felipe
59

Hola, he creado la redirección 301 de un dominio .com a .net la verdad que las visitas han bajado muchísimo, me debo asustar o es normal? gracias espero su respuesta amigo.

1 2

Publica tu opinión