Redirección 301

15

Internet esta cambiando, nuestros usuarios están cambiando, y los webmaster y desarrolladores web debemos cambiar para que nuestros sitios cambien y sigan vigente.

Todo webmaster que tiene éxito en su sitio, va a incrementar sus visitas pero esto significa también aumentar prestaciones tanto en el script del sitio así como a veces en hosting.

En el caso de los webmaster suele suceder que comienzan trabajando en un subdominio (a veces gratuito), y cuando su proyecto crece deben comprar un dominio y un hosting para soportar el crecimiento, esto es una realidad, pero a veces al mudarnos significa perder ese posicionamiento, PR (Page Rank), y visitas del antiguo sitio.

«La redirección 301 (301 redirect), es la manera mas amigable de redirigir nuestro antiguo trafico y PR al nuevo sitio, y la manera correcta de informarle de estos cambios a los buscadores»

La redirección 301 informa al buscador que ese contenido fue Movido Permanentemente a otra dirección, los bots como el de Google, si hemos realizado un correcto 301, van a tomar el PR del antiguo sitio y dárselo al nuevo sin tener que esperar a llegar a un nuevo PR, y lo mejor de todo es que esto es «legal», ya que es la manera aconsejada por los mismos buscadores. Por otra parte es también la forma mas rápida en que Google sustituye las antiguas direcciones por las nuevas, en los resultados de búsqueda, por tanto aparte de no perder visitas, si hemos creado direcciones mejoradas para SEO (ver articulo acá), también nos beneficiaremos mas pronto de esas palabras clave en las nuevas URL.

Veamos ahora como implementar una redirección 301 en diferentes lenguajes, comenzando por el mas utilizado y optimo para Internet, o sea PHP claro.

Redireccion 301 en PHP

<?php
header( «HTTP/1.1 301 Moved Permanently» );
header( «Location: http://www.tu-nuevo-sitio.com» );
?>

Un archivo, por ejemplo index.php debemos publicar en nuestro antiguo sitio, con ese contenido e indicando la nueva dirección de manera correcta. Esto, obviamente se puede realizar en varios otros lenguajes de los cuales citamos algunos ejemplos a continuación.

Redireccion 301 en ASP

<%
Response.Status=»301 Moved Permanently»
Response.AddHeader «Location»,»http://www.tu-nuevo-sitio.com/»
%>

Redireccion 301 en ASP.NET

<script runat=»server»>
private void Page_Load(object sender, System.EventArgs e) {
Response.Status = «301 Moved Permanently»;
Response.AddHeader(«Location»,»http://www.tu-nuevo-sitio.com»);
}
</script>

Redireccion 301 en JAVA JSP

<%
response.setStatus(301);
response.setHeader( «Location», «http://www.tu-nuevo-sitio.com/» );
response.setHeader( «Connection», «close» );
%>

Redireccion 301 en RoR Ruby on Rails

def old_action
headers[«Status»] = «301 Moved Permanently»
redirect_to «http://www.tu-nuevo-sitio.com/»
end

Redireccion 301 con .htaccess

redirect 301 / http://www.tu-nuevo-sitio.com/

En este último, / es la raíz del antiguo sitio y luego la nueva URL completa. Siempre los ejemplos son para ubicar en nuestro antiguo sitio, y apuntando al nuevo.

Estos ejemplos pueden ser utilizados por cualquier webmaster para redirigir sus antiguas visitas de todo el sitio a la raíz del nuevo sitio. En el caso de los desarrolladores web, que tengan conocimiento mas profundo de cualquiera de estos lenguajes pueden desarrollar un sistema inteligente que no solo recupere las visitas de raíz a raíz, si no a cada una de las urls del antiguo al viejo sitio.

Te invito a leer:






Loading Facebook Comments ...

15 comentarios para “Redirección 301”

  1. Muchas gracias por el dato Jorge.

    Soy nuevo en esto de PHP y Web 2.0. Estas tecnicas cortitas y al pie me vienen de maravillas.

  2. elQuique says:

    Justamente, si bien en mis otros sitios posteo tutoriales, a veces por falta de tiempo me demoro mucho en publicarlos, y la idea de este blog es tirar las cortitas y al pie 😉 por si algún día me da amnesia, solo tengo que saber mi nombre jaja !!

    Gracias por tu comentario

  3. zafanor says:

    Hola muchachos, hace mas o menos 15 días puse mi sitio en el
    espacio virtual, y una forma de experimetar lo vinculé a un blog mio
    que tiene un PageRank de 4. Con el paso de los días Google indexó
    todas las páginas de mi nuevo sitio (35 mas o menos). Ahora se me dió
    por cambiarle el nombre al nuevo sitio. Si bien nunca fué enviado
    ningún sitemap a google y ni a otro buscador, me preguntaba si puedo
    tener problemas con el nuevo sitio en caso de que google notara que
    hay 2 sitios con dominio diferente pero exactamente iguales en contenido. ¿Se puedo eliminar por
    completo todas las páginas del viejo sitio de Google?.
    y en caso de que se pueda, desde donde lo hago?
    Les comento que en el archivo .htaccess tengo el siguiente código:
    —————————–
    # mod_rewrite in use

    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^sitio-viejo.com [NC]
    RewriteRule ^(.*)$ http://www.sitio-nuevo.com/$1 [L,R=301]

    —————————–
    Agradecería una respuesta sana.
    Zafanor.

  4. zafanor says:

    He probado con el ejemplo

    ————————–
    redirect 301 / http://www.tu-nuevo-sitio.com/
    ————————–
    Y me da el siguiente error:

    ————————-
    La página no está redirigiendo correctamente.

    Firefox ha detectado que el servidor está redirigiendo la solicitud a esta dirección de una manera en la que nunca terminará.

    * Este problema está causado normalmente por desactivar o rechazar las cookies.

  5. elQuique says:

    @zafanor: pero estas utilizando http://www.tu-nuevo-sitio.com/ o escribes en su lugar una direccion correcta de tu nuevo sitio ?

    También es bueno asegurarte que tu hosting soporte el uso de htaccess.

  6. zafanor says:

    Quique, te cuento un poco como viene la mano. cuando escribo http://www.sitio-viejo.com , entro al viejo sitio (obvio no?),
    y cuando escribo http://www.nuevo-sitio.com entro al nuevo sitio. Es como si hubiese dos sitio con el mismo contenido pero destinto dominio. Necesito eliminar el viejo-sitio o direccinar el viejo al nuevo para evitar el duplicado de contenido. Tal véz lo ideal sería darle de baja al dominio en Nic.ar.-
    Ó copiar en el FileZilla el contenido del viejo y pegarlo en una nueva carpeta con el nombre del nuevo sitio.
    Vos que pensás?

  7. zafanor says:

    Si mi hosting soporta y permite editar el .htaccess

  8. Sorin says:

    Muy explicativo el post jorge. Mejor sin muchos comentarios porque el post esta desde el año pasdo. Voy a ver que dice los otros mas nuevos:)

  9. Así es, este es un artículo es genérico para Redirecciones 301.

    Es aconsejable lean los otros dos casos específicos para www con o sin, y el de parking de dominios.

    Son omisiones frecuentes que se deben optimizar.

  10. aca463 says:

    Muchas gracias por el tuto.
    La explicación está OK.

    Yo Redireccioné un dominio completo y el pagerank y el nº de páginas indexadas por google es el que tenía en el dominio antiguo.

    Saludos.

  11. Pau says:

    Quiero hacer un redireccionamiento 301, pero yo sólo tengo conocimientos de programacion de html y css.
    ¿Como puedo hacer el redireccionamiento desde un documento html?

    Gracias

    • html y css son para maquetado y diseño web, nada tienen que ver con redirecciones a nivel de servidor, no puedes hacer una redireccion 301 con html y menos con css.

      Igualmente aunque no tengas conocimiento la redireccion se hace solamente usando las 2 o 3 lineas que explico en este artículo y los que sugiero al pie, es muy sencillo y cualquier duda consultas 🙂

  12. Pau says:

    He leido que se pueden hacer redirecciones de este tipo:

    window.location=»nuevadireccion.html»;

    o

    (donde 10 es el tiempo que tarda en redireccionar)

    Aunque he leido en algunos sitios que el redireccionamiento en HTML no es muy aconsejable y que es más aconsejable con «.HTACCES». El problema es que todo el mundo da porsupuesto que la gente sabe lo que és, como funciona, como se obtiene y donde se cuelga, y yo no tengo ni idea.
    ¿Me puedes ayudar?

    Gracias.

    • La redirección 301 es la única válida para este caso, si hablas de SEO es la forma correcta.

      Lo que mencionas del windows.locatin en javascript no tiene para nada el mismo valor a nivel SEO ya que se realiza a nivel usuario y no servidor

Dejar un comentario