Formas de implementar una redirección 301

Cuando nos vemos obligados a cambiar de dirección una página web, o incluso un sitio web completo, tenemos que tener en cuenta el efecto que produce ésto en el posicionamiento en buscadores. Cambiar de sitio una página supone dejar de existir para el buscador, convertir lo que antes era un recurso indexado en un error (404) de página no encontrada.

Existen diferentes formas de redireccionar una página web (o un sitio web entero), pero la más conveniente para conservar el posicionamiento que ya teníamos son las redirecciones 301. Éstas son recomendadas por Google, cosa que ya vimos en boca del propio Matt Cutts.

La forma de realizar una redirección de tipo 301 puede ser muy variada, y es por ello que os presento una lista de diferentes formas de hacer lo mismo, una redirección 301, para que cada uno adopte la que más le interese:

Redirección 301 mediante .htaccess
Ejemplo: Redirect 301 /pagina.html http://otrodominio.com/pagina.html

Redirección 301 mediante código fuente en las páginas
(*) Deben colocarse siempre al principio de la página, antes de procesar ninguna otra salida.

Redirección 301 en PHP
Ejemplo:

<? header("HTTP/1.1 301 Moved Permanently", TRUE, 301);
@header("Location: http://dominio.com/nuevapagina.php"); ?>

Redirección 301 en ColdFusion
Ejemplo:

<CFHEADER statuscode="301" statustext="Moved Permanently">
<CFHEADER name="Location" value="http://dominio.com/nuevapagina.php">

Redirección 301 en Perl
Ejemplo:

#!/usr/bin/perl -w
use strict;
print "Status: 301 Moved Permanentlyrn", "Location: http://dominio.com/nuevapagina.phprnrn";
exit;

Redirección 301 en ASP
Ejemplo:

<% Response.Buffer = TRUE;
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://dominio.com/nuevapagina.php"
Response.End %>

Redirección 301 en ASP .NET
Ejemplo:

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://dominio.com/nuevapagina.php");
}</script>

Redirección 301 en JSP
Ejemplo:

<% response.setStatus(301);
response.setHeader( "Location", "http://dominio.com/nuevapagina.php" );
response.setHeader( "Connection", "close" ); %>

Redirección 301 en Ruby on Rails
Ejemplo:

def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://dominio.com/nuevapagina.php"
end