Cuando cambiamos de ubicación alguna página en nuestro sitio Web los accesos a ella desde otras páginas que la enlazan suelen perderse además de que quienes nos visiten desde un buscador como Google no van a encontrar la página.
Lo que tenemos que hacer es tratar de configurar la página para que cuando llegue el robot del buscador sepa que la página se ha cambiado de ubicación de forma definitiva, para ello vamos a utilizar la redirección 301, cabe resaltar que este estado traspasa los valores de PageRank de Google y del número de páginas que la enlazan.
La redirección 301 consiste en un estado de los estándares del protocolo HTTP, veamos algunos métodos para hacerlo.
Redirección 301 con PHP
La página que vamos a redireccionar la reemplazamos por un archivo PHP con el siguiente código:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("location:http://www.neoideas.com.mx");
?>
Es importante que este código esté hasta el principio del archivo php (en la primera línea).
Redirección 301 con ASP
La página que vamos a redireccionar la reemplazamos por un archivo ASP con el siguiente código:
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.url-de-la-nueva-direccion.com"
%>
Redirección 301 con ASP.NET
La página que vamos a redireccionar la reemplazamos por un archivo ASP con el siguiente código:
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "Moved Permanently";
Response.AddHeader("Location,http://www.url-nueva.com");
}
Redirección 301 con ColdFusion
La página que vamos a redireccionar la reemplazamos por un archivo ColdFusion con el siguiente código:
<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.url-de-la-nueva-direccion.com">
Redirección 301 con Apache
Creas un archivo .htaccess (si no existe, si existe editas el actual) en tu directorio raíz y agregas la siguiente línea:
Redirect 301 / http://www.url-de-la-nueva-direccion.com
Redireción 301 en un servidor IIS
Necesitamos configurar el servidor entrando al administrador de servicios de Internet de la siguiente manera:
- Selecciona la opción «redirección a una URL»
- Introduce la página a la que va a redireccionar
- Marca la URL introducida cómo «una redirección permanente para este recurso»
- Haz clic en «aplicar»
Redirección 301 desde un HTML
Este tipo de redirección no es posible, para ello es necesario cualquiera de los métodos anteriores o tener acceso a la configuración del servidor.
Cabe destacar que en todas esta formas de redireccionamiento es necesario cambiar http://www.url-de-la-nueva-direccion.com por la nueva URL.
habla mas de los programas de estructurada codificada
y con que nombre grabo el archivo php
@ivan lozano: El archivo PHP lo tienes que guardar con el nombre del archivo que vas a redireccionar, por ejemplo si antes tenías ejemplo.com/antiguo.php y vas a redireccionar a ejemplo.com/nuevo.php debes guardarlo con el nombre antiguo.php
Hola muchachos/chas, 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 exactamente iguales en contenido. ¿Se puedo eliminar por
completo todas las páginas del viejo sitio de Google?.
y en caso de que se puedo, desde donde lo hago?
Agradecería una respuesta sana.
Zafanor.
Yo hice un subdominio y google no lo encuentra. Me marca error de redireccionamiento en el panel del centro de webmaster de google.
El subdominio en cuestion es http://sexyono.deamores.com y manda a la carpeta en mi servidor http://deamores.com/hot , hable con mi proveedor y me dice que el subdominio funciona correctamente que yo mande email a google. ¿Como podria hacerle para que google indexe mi pagina?
vale, tengo este problema on un sitio web que lo tenia en un subdirectorio
http://sitioweb.com/blog
y ahora hice una instalacion nueva de wordpress e importe las entradas a la nueva direccion. template, todo lo importe. mi problema ahora es que mis entradas anteriores siguen llamando a los archivos (imagenes) dentro de la carpeta blog en vez de llamarlos ahora en el directorio principal.
como debo escribir un 301 para estos casos? ademas necesito arreglarloporque estoy perdiendo visitas de google que apuntan a la direccion anterior-
@algarcia: eso lo puedes arreglar con el .htaccess
agrega las siguientes líneas al final del archivo .htacess que está en la raíz de tu instatalción de WordPress
redirect 301 /blog http://sitioweb.com
esto sería todo y el problema de las imágenes y las redirecciones 301 estarían funcionando correctamente. Ah es importante reemplazar sitioweb.com por tu propio dominio
Saludos
gracias por la pronta respuesta!
ya tenia una linea similar, la reemplace con la que me has puesto aca y con el nombre de mi dominio, pero aun no me llama los archivos.
en mi instalacion actual mantengo la misma estructura, es que de hecho, si el blog llama a un archivo que estaba antes en http://www.dominio.com/blog/fotos/foto.jpg esta disponible ahora en http://dominio.com/fotos/foto.jpg
tendra el www. algo que ver?
Hola, yo tengo una página web y dos dominios que llevan a la misma página, pero sólo uno de ellos es el que tiene contenido. Al analizar mi web para optimizarla para Google, me dice que debería tener un redireccionamiento 301, pero no sé cómo hacerlo.
Buenas!!
Amigo yo tengo una duda con la redirección 301:
Yo tengo un blog en WordPress y un Foro en vbulletin y no se si tengo que poner solamente el codigo en el htaccess del blog que esta en el root de la web o tengo que poner el codigo tambien en el htaccess del foro?
Salu2 y espero puedan ayudarme.
muchas gracias por el artículo, me ayudó a solucionar mi problema.
Hola, quisiera saber como hacer una pagina de redirects o un archivo aparte, yo eh coregido todo un site y ahora hay paginas que exsisten y otras que no y lo que queiro hacer es tener una rchivo con el listao de paginas y ahi hacer el redirect a las paginas que si exsisten, espero me deje entender y cualquier sugerencia es bien recibida.
muchas gracias a todos.
Cabe destacar que desde el año 2006 en el que escribiste el artículo, las cosas han cambiado respecto a la redirección 301 en HTML.
Ya que era un problema hacer una redirección de un página para aquellos que no pudiesen acceder al servidor o utilizar un lenguaje de servidor, los tres grandes (Google, Yahoo y MSN) se pusieron de acuerdo para utilizar la etiqueta meta refresh con valor cero para tratarlo como una redirección 301:
He sido incapaz de encontrar el artículo original de Google dónde aprendi esto.
Sólo he querido comentarlo para ayudarte a completar este gran artículo.
Salud
@yz!:
Se me comió el html:
< meta http-equiv=»Refresh» content=»0; url=http://www.url-de-la-nueva-direccion.com» />
Se me comió el html:
meta http-equiv=»Refresh» content=»0; url=http://www.url-de-la-nueva-direccion.comp»
Gracias por tu respuesta yz, mira te dejo este enlace que quiza te sirva, aqui encontre la forma de hacer un listado de redirects en un solo archivo para mantenernos ordenados y asi no hacerlo tedioso y tener que mantener la pagina para ponerle el tag de redirect, con esto hasta podemos eliminar la pagina y la direccion se rediccionara, bueno esto es bajo apache, espero te sirva no solo a ti sino a todos los que lo puedan usar:
http://manelgarcia.com/how-to/redirect-301-mediante-htaccess/
Saludos.
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.
Hola sabes quiero redireccionar mi blog aca http://oh-downloads.blogspot.com/ pero no puedo , y no quiero que se pierdan las entradas ya echas eso es todo lo que no quiero perder , porque ya perdi los rank afiliados y todo eso :/
porfavor si me puedes explicar
hola pero cuanto se demora para transpasar el PR y los links
sí, hasta que no haya actualización de PR no hay traspaso. yo he cambiado algunas URL con muchos backlinks y PR alto y al principio creía que la había cagado.lol.
Hola Carlos!
He construido hace algun tiempo ya un Blog con WordPress dentro de una carpeta llamada «/informacion» y ha sido indexado por Google desde hace tiempo.
Deseo cambiar mi blog a la carpeta «/blog» para organizar mi Web de otra manera y no quiero que los enlaces que se encuentran en Internet se rompan con este cambio.
Estoy utilizando un Hosting que me deja manejar mis archivos y demas a traves de CPanel.
Quizas deba usar «Redirección 301 con Apache» pero no tengo ningun programa que me abra el archivo «.htaccess» que tengo en la raiz de mi dominio. Qué hago? Creo un archivo «.htaccess» con el NotePad? y donde lo deberia pegar este archivo de hacerlo asi?
Gracias por el tiempo y la ayuda.
Saludos!!!
Es muy recomendable que hagas 301 de las URLs con /informacion a /blog . El archivo .htaccess lo puedes crear con cualquier editor, incluso dreamweaver o notepad. Si solo va a afectar a la carpeta /informacion lo puedes crear ahí o en la raíz del dominio.
la redireccion 31 hacer perder posicionamiento ?
¡¡Genial artículo!!
Me ha ayudado mucho, quizas te falta por añadir Perl y Ruby a la lista ;)
Yo he conseguido la informacion de como hacer redirección 301 en ambos lenguajes en el siguiente articulo Redirección 301
Un saludo.
Ninguna de las opciones me funciona, gestiono un windows server 2008, Hice varias pruebas
quitar haccess y usar HTTP redirect
modificar .htaccess
etc
Gracias hermano
muy util, si que lo entendido al final,gracias
muy util la info, muchas gracias , muy claro todo
Saludos a la comunidad.
Tengo una pregunta.
Si hago un redireccionamiento de dominioviejo.com a dominionuevo.com. Que pasa con las cuentas de correo???
Pierdo todos los correos que me llegan a mail@dominioviejo.com?
Como lo evitaría o como hago que todos los correos que sean dirigidos a mail@dominioviejo.com lleguen a mail@dominionuevo.com???
Gracias de antemano por la respuesta