Blog

Redirect 301 per domini spostati

Guida completa che illustra come effettuare un redirect 301 ad un URL diverso da quello richiesto.

Redirect 301 per domini spostati

Il redirect 301 è un particolare tipo di reindirizzamento, necessario per dichiarare che l'URL richiesto è stato spostato in maniera permanente (dall'inglese moved permanently).
La sua caratteristica principale, che è anche una delle cause della sua diffusione in ambito SEO, è la capacità di trasmissione del PageRank delle pagine del proprio sito. Si può quindi dire che sia il più appetibile dai motori di ricerca, che in questa maniera ricevono indicazioni precise sulla nuova locazione dell'URL richiesto.
E' molto importante infatti evitare che un motore di ricerca vada incontro a pagine inesistenti, oppure che indicizzi contenuti identici su due domini diversi, a causa di cui si andrebbe incontro ad una penalizzazione quasi certa.

In tutti i casi che andremo ad analizzare, è importante ricordare che l'URL non può essere locale, ma deve essere obbligatoriamente remoto, non può quindi iniziare con /path, ma necessariamente con http://.

Esempi di URL

  • /index.htm (errato)

  • https://www.icelab.eu (corretto)

  • https://www.icelab.eu/index_new.htm (corretto)

Tecniche di redirect 301

Esistono svariate tecniche, adatte a diverse esigenze, correlate al metodo di sviluppo del proprio sito web, implementabili sia server-side che client-side.

PHP Redirect 301

Il linguaggio più diffuso in ambito web è sicuramente il PHP e, di conseguenza, non potrebbe mancare un metodo di redirect in questo linguaggio.
Il codice è di semplice applicazione, deve essere inserito all'inizio della pagina non più disponibile, prima di ogni operazione di stampa a video.

header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.nuovosito.com/nuovapagina.php');

	/* oppure */

header("Location: http://www.nuovosito.com/nuovapagina.php", true, 301);


Ricordiamo che l'header Location, senza indicazioni sul codice di risposta HTTP (301), ritornerebbe un codice 302, che indica un redirect temporaneo ad un URL diverso da quello attuale.

ASP Redirect 301

Programmando in ASP, sempre nell’intestazione della vecchia pagina, dovrebbe essere inserito il seguente codice:

<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.nuovosito.com/nuovapagina.asp"
%>

Redirect tramite .htaccess

Se si dispone dell'accesso al webserver, esclusivamente nel caso in cui su di esso "giri" il famoso Apache e su cui sia attivo il mod_rewrite, è sufficiente creare un file .htaccess nella root del sito e inserire il comando:

RewriteEngine On


seguito da uno dei seguenti:

Redirect permanent http://www.miosito.com/vecchiapagina.php http://www.nuovosito.com/nuovapagina.php


oppure

Redirect 301 http://www.miosito.com/vecchiapagina.php http://www.nuovosito.com/nuovapagina.php


oppure

RedirectMatch 301 ^(pattern)$ http://www.nuovosito.com/$1


in cui il pattern è una espressione regolare che permette, in una sola volta, di fare un redirect per ogni pagina del dominio che corrisponda a quei criteri.

Ecco un esempio di applicazione di questa tecnica:

Dominio spostato

Nel caso in cui il dominio sia stato trasferito interamente ad un altro, ad esempio da vecchiosito.it a nuovosito.com, è sufficiente inserire nel file .htaccess, nella root di vecchiosito.it, il seguente codice:

RewriteEngine On
RedirectMatch 301 ^/(.*)$ http://www.nuovosito.com/$1


Nel caso di un dominio spostato, bisogna ricordarsi di segnalare ai siti che presentano backlinks verso il vecchio dominio, di aggiornare tali links per favorire il processo di conservazione del PageRank.

HTML Redirect 301

Esiste un metodo per aggiornare la pagina visualizzata dopo un certo periodo, chiamato meta refresh. Tramite questo sistema è possibile specificare l'URL di destinazione, reindirizzando quindi da una pagina ad un'altra. Specificando "0" come parametro dei secondi dopo cui effettuare il redirect, pare che l'effetto sia un redirect 301. Questo metodo è molto utile nel caso non sia possibile avere l'accesso agli altri metodi server side.
Come descritto nel seguente esempio, il tag meta deve essere inserito nella sezione <head> della pagina.

<html>
<head>
	<title>Esempio di Redirect</title>
	<meta http-equiv="refresh" content="0; url=http://www.nuovosito.com/">
</head>
<body>
	<p>Redirect in corso...</p>
</body>
</html>

Coldfusion Redirect 301

<CFHEADER statuscode="301" statustext="Moved Permanently">
<CFHEADER name="Location" value="http://www.nuovosito.com/">

Perl Redirect 301

#!/usr/bin/perl -w
use strict;
print "Status: 301 Moved Permanantly\n";
print "Location: http://www.nuovosito.com/\n\n";
exit;

ASP .NET - C#

private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.miosito.it/nuova_pagina.aspx");
}

ASP .NET - VB

Private Sub Page_Load(object sender, System.EventArgs e)
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.miosito.it/nuova_pagina.aspx");
End Sub

Altri metodi

  • Redirect tramite codice Javascript

2 commenti

  1. TuttoVolume10 marzo 2009, 21:11:19

    Ciao, volevo poter approfondire il tema del redirect 301. In pratica io ho un blog su blogger aperto da molto tempo e ben posizionato nella serp di Goolge, ora ho deciso di aprire un blog con un dominio personale e utilizzare Wordpress. Ho importato tutti i post e ora sto pubblicando quelli nuovi solo sul nuovo blog da circa un mese, il problema è che comunque il vecchio blog su blogger non lo posso chiudere del tutto in quanto alcuni link interni ai post portano al vecchio blog, modificarli sarebbe impossibile, visto che si tratta di 1700 post. Vorrei poter effettuare il redirect, se non altro per non far incacchiare Google che vede 1700 post doppi, ma nessuno mi ha saputo dare informazioni in merito.
    Se vorresti essere cosi gentile da dirmi qualcosa in più sul redirect e se sia possibile farlo con Blogger, te ne sarei eternamente grato.
    Ciao

  2. Loris.genetti11 marzo 2009, 11:19:44

    Non uso abitualmente la piattaforma Blogger, quindi non so essere più preciso per quanto riguarda il redirect. Posso però darti un paio di link che a suo tempo erano stati molto utili a farmi una cultura di base sul redirect da Blogger a Wordpress.

    Una guida passo passo scritta da Tagliaerbe:
    http://www.giorgiotave.it/wikigt/os/Passare_da_Blogger_a_Wordpress

    Un approfondimento che riguarda i permalink:
    http://www.kasiusweb.it/2008/04/come-trasferire-un-blog-da-blogger-a-wordpress.html

Solo gli utenti registrati possono lasciare commenti.

© Copyright ©2008-2020. Tutti i diritti riservati.