SocialMedia

¿Cómo hacer redirects 301?

Hace unos días nos preguntaron vía twitter «¿Cómo se pueden hacer las redirecciones cuando se cambiamos un dominio?» y vamos a intentar explicar en este post cómo podemos llevar a cabo esta tarea.

Hemos oído en cantidad de ocasiones la problemática que hay a la hora de los cambios de URLs, ya sea por cambio de dominio o por introducción de URLs amigables, en relación al SEO y no perder posicionamiento. Para estos casos, Google nos recomienda siempre hacer Redirects 301 que lo que le decimos es que ese sitio web o página ha sido movida permanentemente a la nueva dirección.

En el post de Google nos recomienda que lo hacer los redireccionamientos en el servidor pero hay veces en los que no tenemos acceso, por lo que tenemos que hacerlo a nivel de página. En este post veremos las dos opciones, en el servidor (suponemos que usamos Apache como servidor web) y en la propia página.

 

Redireccionamiento en el .htaccess:

El fichero .htaccess es un fichero de configuración del servidor Apache donde entre otras muchas definimos las directivas de configuración de los diferentes directorios y subdirectorios. Hay que tener cuidado al escribir estas directivas puesto que van en orden es decir, siempre las mas restrictivas al final. También recordar que tenemos que tener mod_rewrite activado para poder hacer uso.

Redirect 301 de una página:

Este caso es para cuando queremo solo redireccionar una página vieja a una nueva porque ha cambiado la URL

Redirect 301 /mi-pagina-vieja http://www.minuevodominio.com/mi-nueva-pagina

Redirect 301 de un dominio:

Este caso es para cuando cambiemos de dominio y tengamos uno nuevo, lo que hacemos aquí es todo el el dominio antiguo lo redireccionamos al nuevo.

RedirectMatch 301 ^/$ http://www.minuevodominio.com

Redirect 301 de un directorio:

Este caso es para cuando cambiamos de directorio y queremos mantener todo lo que cuelga de el, tanto carpetas como páginas.

Redirect 301 /antiguo-directorio/ http://www.midominio.com/nuevo-directorio/

Puede darse el caso también que eliminemos un directorio y todas sus páginas, por lo que queremos redireccionar todo eso a una página nueva. Esto lo haríamos de la siguienta manera

Redirect 301 ^/antiguo-directorio/(.*)$ http://www.midominio.com/nueva-pagina

 

Redireccionamiento en la propia página

No solo porque lo diga Google, sino que nosotros también recomendamos hacer las redirecciones en el servidor, pero como hemos dicho hay veces que no tenemos acceso al fichero .htaccess, por lo que deberemos hacerlo directamente en el código

Redirect 301 en un sitio basado en PHP:

<?

header(‘HTTP/1.1 301 Moved Permanently’ );
header( ‘Location: http://www.minuevositio.com’ );

?>

Redirect 301 en un sitio basado en Python/Django:

from django import http
def view(request):
return http.HttpResponseRedirect(‘http://www.minuevositio.com/’)

Redirect 301 en un sitio basado en ASP:

<%@ Language=VBScript %>
<%
Response.Status=»301 Moved Permanently»
Response.AddHeader «Location»,»http://www.minuevositio.com»
%>

Redirect 301 en un sitio basado en ASP.NET:

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

Redirect 301 en un sitio basado en JSP:

<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.minuevositio.com/” );
response.setHeader( “Connection”, “close” );
%>

Redirect 301 en un sitio basado en Ruby on Rails:

def old_action
headers[«status»] = “301 Moved Permanently”
redirect_to “http://www.minuevositio.com./”

Redirect 301 en HTML:

<head>
<meta http-equiv=»refresh» content=»0; url=http://www.minuevositio.com/nueva-pagina.html»>
</head>

 

Salir de la versión móvil