Come fare Redirect 301 di una pagina web

Posted gennaio 10th, 2009 in Seo, WebServer by Andrea Pernici

Avete appena ricreato alcune pagine del vostro sito. Le vecchie hanno un buon posizionamento sui motori di ricerca e non volete perderlo. Come potete fare per inoltrare il traffico delle vecchie pagine alle nuove senza perdere il vostro posizionamento ? Potete farlo con il Redirect 301.

Che cosa è un redirect 301 ?

Il redirect 301 è il miglior metodo che abbiamo per mantenere il ranking sui motori quando reindirizziamo una pagina del nostro sito.

Il codice “301″ viene infatti interpretato come “moved permanently”. Dopo il codice infatti va poi specificata la vecchia pagina seguita da uno spazio e poi la nuovo pagina.

Per implementarlo basta aggiungere questo codice all’interno del file .htaccess (oppure direttamente nel virtualhost)

Cosa è il file .htaccess ?

Quando un visitatore/spider richiede una pagina web, il web server controlla la presenza del file .htaccess.

Il file .htaccess contiene istruzioni specifiche per alcuni tipi di richieste, incluse sicurezza, redirect e gestione errori.

Come implementare un redirect 301

  1. Per creare un file .htaccess aprite un qualsiasi editor di testo, create un nuovo file e salvatelo come .htaccess (senza estensioni). Nel caso di windows potreste avere problemi a salvare il file iniziando con il punto (.) quindi in questo caso chiamatelo htaccess.txt e poi una volta inviato via FTP sul server rinominatelo.
  2. Se avete già un file .htaccess sul vostro server, scaricatelo ed editatelo.
  3. Inserite il seguente codice nel vostro file .htaccess:redirect 301 /vecchia/vecchia.html http://www.tuodominio.com/nuovapagina.html
  4. Se il vostro file .htaccess contiene già delle righe di codice saltate una linea e scrivete l’istruzione lì senza cancellare quelle già presenti.
  5. Salvate il file .htaccess
  6. Inviate il file nella cartella root del vostro server.
  7. Testate il tutto scrivendo nel browser la vecchia pagina. Dovreste essere immediatamente inoltrati alla nuova.

Note: E’ importantissimo non aggiungere “http://www” alla prima parte dell’istruzione, ma mettere solamente il percorso a partire dal livello più alto del vostro sito.

Assicuratevi inoltre che ci sia lo spazioe tra questi due elementi:

redirect 301 (l’istruzione che indica che la pagina è spostata per sempre)

/vecchia/vecchia.html (il percorso e nome del file da spostare)

http://www.tuodominio.com/nuovapagina.html (il nuovo percorso e nome del file)

Quando gli spider dei motori di ricerca passeranno in esame il tuo sito seguiranno le regole che hai inserito nel file .htaccess.

In realtà gli spider non leggono il file .htaccess, ma riconoscono la risposta dal server come valida.

Durante il successivo aggiornamento dei motori il vecchio file verrà eliminato e rimpiazzato con il nuovo. A volte può capitare di vedere alternanze tra i file e alcune fluttuazioni che possono durare dalle 6 alle 8 settimane in riferimento alle linee guida di Google.

Altri metodi per implementare il redirect 301

  1. Per reindirizzare tutti i file di un tuo dominio puoi usare queste regole nel tuo file
    .htaccess se sei su server linux/unix:redirectMatch 301 ^(.*)$ http://www.dominio.com

    redirectMatch permanent ^(.*)$ http://www.dominio.com

    Puoi anche usare una regola delle seguenti nel .htaccess file:

    redirect 301 /index.html http://www.dominio.com/index.html

    redirect permanent /index.html http://www.dominio.com/index.html

    redirectpermanent /index.html http://www.dominio.com/index.html

    Questo farà il redirect della pagina “index.html” verso un altro dominio usando un
    redirect 301-Moved permanently.

  2. Se hai bisogno di fare redirect da http://miosito.com a
    http://www.miosito.com e hai il mod_rewrite abilitato sul tuo server puoi inserire le seguenti regole nel tuo file .htaccess:Options +FollowSymLinks

    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^miosito.com

    RewriteRule ^(.*)$ http://www.miosito.com/$1 [R=permanent,L]

    oppure questo:

    Options +FollowSymLinks

    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^miosito.com$ [NC]

    RewriteRule ^(.*)$ http://www.miosito.com/$1 [R=301,L]

  3. Se vuoi reindirizzare le tue pagine .html verso pagine .php e hai il mod_rewrite abilitato sul tuo server puoi inserire queste regole nel tuo file .htaccess:
    RewriteEngine onRewriteBase /RewriteRule (.*).html$ /$1.php
  4. Se vuoi reindirizzare le tue pagine .html o .htm verso delle pagine .shtml perché usi Server Side Includes (SSI) aggiungi queste regole al tuo .htaccess:AddType text/html .shtmlAddHandler server-parsed .shtml .html .htmOptions Indexes FollowSymLinks Includes

    DirectoryIndex index.shtml index.html