Por distintos motivos a veces nos vemos obligados a tener que cambiar el nombre de nuestras URLs, puede ser porque hemos cambiado el nombre de los archivos en el servidor por una reestructuración del sitio, porque hayamos cambiado de dominio, etc.
Lo ideal tanto para el usuario como para los buscadores es que les redirccionemos a las nuevas direcciones para que puedan ver la información que estaban solicitando. Hay muchas maneras de redirigir a los usuarios tanto con programación del lado del servidror (php, asp, etc) como por programación en el cliente (html, javaScript) y a estos les daría igual que manera escojamos.
Pero para los buscadores esto no vale. Si queremos conservar nuestra posición en el índice de Google y que todos los backlinks sigan apuntando a la nueva dirección deberemos hacer una redirección 301 desde el servidor. Para llevar a cabo este tipo de redirección hay distintos métodos, uno sería modificar el archivo .htaccess (sólo en Linux / Apache) y otro con el lenguaje de programación (php, asp, .net, etc ) del lado del servidor. Vamos a poner unos ejemplos:
Redirecciones en el
.htaccess
Este archivo es leído por el servidor cuando cualquiera
hace una petición de otro archivo, en él hay una serie de reglas que nuestro
Apache leerá antes de procesar nada. En estas reglas puedes decidir sobre los
permisos de acceso, las redirecciones, etc.
Este archivo te permite crear
patrones para redireccionar todas las páginas que contengan algo en la URL o que
no lo contengan, o que empiecen por la letra a, y así podríamos dar
infinidad de ejemplos pero veamos como sería si simplemente hemos cambiado de
dominio pero no la estructura de la web ni el nombre de los archivos y queremos
que apunte de uno al otro.
redirectMatch 301 ^(.*)$ https://www.mecagoenlos.com$1
Esto hace que una página que
estuviese en http:// viejo .com/directorio/pagina.php sea redireccionado a
https://www.mecagoenlos.com/directorio/pagina.php
Redirecciones con php
<?
Header( "HTTP/1.1
301 Moved Permanently" );
Header( "Location: http://www.nuevodominio.com" );
?>
Redirección con
ASP
<%@ Language=VBScript %>
<%
Response.Status="301
Moved Permanently" Response.AddHeader "Location", "
http://www.nuevodominio.com"
>
Redireccón ASP .NET
<script
runat="server">
private void Page_Load(object sender, System.EventArgs
e)
{
Response.Status = "301 Moved
Permanently";
Response.AddHeader("Location","http://www.nuevodominio.com");
}
</script>
JSP
(Java)
<%
response.setStatus(301);
response.setHeader(
"Location", "http://www.new-url.com/" );
response.setHeader( "Connection",
"close" );
%>
CGI
(Perl)
$q = new CGI;
print $q->redirect(http://www.nuevodominio.com/);
Para comprobar si todo está bien hecho pueden consultar en esta página:
http://www.seoconsultants.com/tools/headers.asp
Salvador Ruano (@)hace Hace más de 15 años y 307 días
Hola;
Los registradores de dominios a veces tienen redireccionamiento gratis, ¿ es este redireccionamiento 301 o no tiene nada que ver ?
Atte. gracias de antemano
Salvador Ruano
Errioxa (@)hace Hace más de 15 años y 304 días
@Salvador eso creo que se refiere a que te redireccionan el dominio grtuitamente a tu hosting. El redireccionamiento puede que te dejen especificar el tipo, pero este tipo de redireccionamientos no son buenos. Encuentra un hosting y apuntas a la ip de tu hosting desde el panel de control de tu refistrador.
Roberto (@)hace Hace más de 14 años y 92 días
Tengo un archivo en ASP con diversos parámetros para los idiomas, que quiero separar y redireccionar cada uno a una url distinta. ¿Funcionará colocando un redireccionamiento para cada parámetro, con una serie de if o case?