
Redireccionamiento 301 en PHP, ASP, htaccess, Coldfusion y Ruby on Rails
Publicado por Fábio Ricotta en 15 de Octubre 2008| Categoría:SEOMuchas veces en el desarrollo de un sitio web queremos cambiar una página del directorio o tal vez intercambiarle el nombre. Esto es bien simple cuando se trata del nivel operacional: renombramos el archivo o lo movemos de directorio simplemente. Lamentablemente no podemos pensar que lo haremos como en nuestro computador personal. No basta sólo renombrar o mover el archivo, usted debe editar todas las referencias que este recibe.
Pero como ya hemos visto aquí en la MaestrodeSEO, la referencia en la Web es la base de los algoritmos de rankeamiento, como el Pagerank, siendo así, puede existir un conjunto grande de páginas que apuntan (links) para su archivo o carpeta, las cuales no van a saber que su archivo ha cambiado. Así como estos links, los robots de búsqueda no sabrán que la página fue renombrada o movida.
De esta manera, necesitamos de un método que indique que su página A fue renombrada o movida para la página B. Este método es llamado de redireccionamiento.
Hace poco atrás vimos una explicación sobre los mas variados códigos de redireccionamiento que podemos enviar al navegador de un usuario y la explicación, venimos que el código 301 indica que su página fue “movida permanentemente”, o sea, ella fue renombrada o movida para un nuevo lugar de forma definitiva.
Veamos acá la aplicación del redireccionamiento para los lenguajes PHP, ASP, htaccess, Coldfusion y Ruby on Rails:
Redireccionamiento 301 con PHP
<?
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.misitio.com.” );
?>
Redireccionamiento 301 con ASP
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.misitio.com./”
%>
Redireccionamiento 301 con ASP .NET
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”http://www.misitio.com.”);
}
</script>
Redireccionamiento 301 con JSP (JAVA)
<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.misitio.com./” );
response.setHeader( “Connection”, “close” );
%>
Redireccionamiento 301 con Coldfusion
<.cfheader statuscode=”301″ statustext=”Moved permanently”>
<.cfheader name=”Location” value=”http://www.misitio.com.”>
Redireccionamiento 301 con CGI (Perl)
$q = new CGI;
print $q->redirect(”http://www.misitio.com./”);
Redireccionamiento 301 con Ruby on Rails
def old_action
headers["Status"] = “301 Moved Permanently”
redirect_to “http://www.misitio.com./”
end
Redirecionamento 301 con .htaccess
redirect 301 /antiguo/archivo_antiguo.htm http://www.susitio.com./archivo_nuevo.htm
.htaccess – Redireccionando un dominio antiguo para uno nuevo
Algunas veces necesitamos cambiar nuestro dominio y no queremos perder ningún link antiguo, ningún visitante que haya ingresado al sitio antiguo o al principal, no perder Pagerank. Entonces, necesitamos redireccionar todos los clics del dominio antiguo para el nuevo.
Para redireccionar todos los archivos y carpetas de su antiguo dominio para su nuevo dominio siga correctamente la siguiente regla:
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.nuevositio.com./$1 [R=301,L]
Intercambie el “www.nuevositio.com.” en el código arriba por el nuevo nombre de su dominio.
El archivo .htaccess debe ser insertado en el archivo raíz de su antiguo dominio, o sea, donde está localizado su archivo índice.
Observación: Este método de redireccionamiento va apenas a funcionar en servidores Apache con el módulo Mod_rewrite habilitado. Para habilitarlo siga las instrucciones de este link.
Redireccionamiento para insertar el WWW en el inicio de su dominio
La falta de uso de este código de redireccionamiento implica una división del Pagerank de su sitio, pues una serie de links puede apuntar para http://susitio.com. y otros links pueden apuntar para http://www.susitio.com. Otro problema generado es el contenido duplicado, pues en ambas URLs usted consigue ingresar el mismo contenido.
Para prevenir estos dos problemas, puede utilizar el siguiente código en su archivo .htaccess:
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^susitio.com. [NC]
rewriterule ^(.*)$ http://www.susitio.com./$1 [r=301,NC]
Intercambie el “www.nuevositio.com.” en el código arriba por el nuevo nombre de su dominio.
El archivo .htaccess debe ser insertado en el archivo raíz de su antiguo dominio, o sea, donde está localizado su archivo índice.
Observación: Este método de redireccionamiento va apenas a funcionar en servidores Apache con el módulo Mod_rewrite habilitado. Para habilitarlo siga las instrucciones de este link.
Verificación de su redireccionamiento
La fase más importante del redireccionamiento es la prueba del mismo. Pero ¿cómo hacer esto?
Existen varias herramientas en la web que pueden devolverle el código de redireccionamiento, pero yo sugiero la herramienta Redirect Check, que hace un análisis bien simple y objetivo de su redireccionamiento. No olviden de verificar!
Espero que les haya gustado esta pista de Optimización para motores búsqueda (SEO) sobre el redireccionamiento 301 y no olviden de comentar!
Sugerimos la lectura de estos otros artículos...
- SEO para ASP.NET 4.0- Mejorías para lo Básico de SEO
- Códigos de Redireccionamiento
- Intercambio de Dominio – Como Hacer?
- Como Migrar un Blog del Blogger para el Wordpress
- Canonical Tag – Acabe con el Contenido Duplicado






03 de Diciembre de 2008 às 4:13 pm
[...] en cuánto a eso. Existen algunos códigos de redireccionamiento pero el más indicado es el redireccionamiento 301, redireccionamiento permanente, es decir, los search engines redireccionaran todos los links [...]
08 de Julio de 2009 às 1:15 pm
[...] es importante, pero también que sea original. Si la página ya existe en un sitio antiguo, haga un redireccionamiento permanente. Verifique si realmente no hay contenido duplicado. Ahora nos resta aplicar las técnicas de la [...]
10 de Septiembre de 2009 às 10:11 pm
[...] el redireccionamiento 301 para la página de un producto que sea muy relacionado al producto antiguo. De esa manera, le será [...]
20 de Octubre de 2009 às 1:43 pm
[...] 5º Paso: Reescriba el .htaccess para incluir las funciones específicas del WP y reescriba las reglas para retirar las fechas de la URL. El htaccsess que usted tendrá que reescribir depende de su antigua estructura de URL y de las extensiones de los archivos. Aprenda como crear un archivo .htaccess y como redireccionar con 301 utilizando el .htaccess [...]
27 de Octubre de 2009 às 4:10 pm
[...] canonical link tiene su funcionamiento muy similar al de un redireccionamiento 301, pero es condicional: solamente si el search engine o el motor de búsqueda considera que la [...]
18 de Noviembre de 2009 às 11:57 pm
[...] algún tiempo atrás, hablé sobre la importancia del redireccionamiento 301 en el proceso de optimización de sitios web, pero vale una observación: Muchas veces en el [...]
10 de Diciembre de 2009 às 4:10 pm
[...] es necesario hacer. Aquí en la MaestrodeSEO, Fabio Ricotta publicó un artículo con ejemplos de códigos de redireccionamiento 301 en diversos lenguajes de programación. Uno de ellos debe [...]
22 de Diciembre de 2009 às 3:23 pm
[...] Canonización de URLs · Redireccionamientos · Elementos de navegación · Páginas 404 para páginas no encontradas · [...]
06 de Enero de 2010 às 6:09 pm
[...] solución para este problema es simple: basta adicionar un redireccionamiento 301 de todos los dominios para uno solo, así al ingresar a las URLs, el usuario y consecuentemente [...]