HTML, PHP o htaccess: redirezionare o aggiornare dopo una pausa

Reindirizzare o aggiornare sono quasi la stessa cosa, la differenza fra loro à che aggiornare è reindirizzare verso la stessa pagina (caricare un altra volta). Ci sono alcuni aspetti tecnici che si applicano alle ridirezione, non tutte le ridirezioni sono uguali. Alcune sono permanenti, alcune sono provvisorie, altre inviano ad una pagina con lo stesso contenuto, altre no. Questo à utile per sapere quando stai pensando su SEO (Search Engine Redirection) e devi spiegare ai motori di ricerca perché questo reindirizzamento sta accadendo. Quindi prima di fare i reindirizzamenti parliamo un po' sui codici di stato HTML.

Tipi di reindirizzamento:
I codici di stato HTML che iniziano con 3 informano su un reindirizzamento. I più importanti sono il 301, la pagina si trasferì definitivamente verso un altro URL, il che significa che i motori di ricerca aggiornano i loro legami con il nuovo URL, e il 302, la pagina si trasferì temporaneamente, la nuova pagina è stata trovata e nessun aggiornamento dei link è necessaria. Con un reindirizzamento 301 Google trasferirà il PageRank della prima pagina alla seconda pagina reindirizzata, me immagino che gli altri motori di ricerca fanno qualcosa di simile. Questo è buono quando si modifica l'indirizzo di un sito per esempio. Ora facciamo i nostri reindirizzamenti.

Diverse tecniche di reindirizzamento:

Ci sono molte tecniche per reindirizzare una pagina, vedremo qui tre di queste tecniche: il metodo vecchia scuola con un meta tag HTML, il metodo del server tramite uno script PHP e il metodo del webmaster con il archivio htaccess o il httpd.conf. Ogni metodo ha i suoi vantaggi, diamoci uno sguardo a tutti i tre.

 

Reindirizzamento con la meta tag (metodo vecchio)
 

Inserisci questo tag nell'intestazione della pagina HTML tra <head> e </head>

<meta http-equiv="Refresh" content="5;url=http://www.esempio.it" />
 

Il numero dopo "content" è il numero di secondi prima che la pagina viene reindirizzata verso l'indirizzo URL. Se il content è impostato su 0, Google considera che si tratta di una ridirezione 301, altrimenti sarà una 302. Se l'URL punta alla stessa pagina allora si tratta di un aggiornamento del suo contenuto. Questo è un buon metodo per aggiornare i contenuti dato che si ha il controllo del tempo di pausa prima dell aggiornamento.


Reindirizzamento con PHP

Mettete questo script all'inizio della pagina, potrebbe anche essere l'unica cosa sulla pagina perché il reindirizzamento si fa direttamente sul server e la pagina non verrà mostrata all'utente.


<?php
header('HTTP/1.1 301 Moved Permanently'); //opzionale
header('Location: http://www.esempio.it');
exit();
?>

 

Se non mette la prima linea opzionale il reindirizzamento sarà 302. Il PHP non offre un modo per avere una pausa (dato che il reindirizzamento avviene sul server), per questo non si deve mai usare questo per aggiornare la pagina. Se questo script punta alla stessa pagina creerà un ciclo infinito.

 

Reindirizzare con htaccess o httpd.conf

Inserite questo codice nel archivio .htaccess e mettete il archivio nella cartella principale del sito. Si può scegliere di mettere il codice di stato o di omettere per un reindirizzamento 302.



Redirect 301 /vechia-pagina.html http://www.esempio.it/nuova-pagina.php

È possibile inoltre reindirizzare intere cartelle con una sola riga.

Redirect 301 /vechia-cartella/ http://www.esempio.it/nuova-cartella/

O interi siti.

Redirect 301 / http://www.esempio.it/

Se hai bisogno di controlare meglio le redirezioni utilizi:


Options +FollowSymLinks
RewriteEngine on
 
RewriteCond %{HTTP_HOST} ^www.vechio-sito.com$ [NC]
RewriteRule ^.*$ http://www.nuovo-sito.it/$1 [R=301,L]

 

Il "RewriteCond" è la condizione per una riscrittura degli URL. Il [NC] significa "No case", non case sensitive. Poco prima dell'URL è possibile scegliere quale URL deve essere reindirizzato:

"^" = "È il seguente sito"

"!^"= "Non è il seguente sito"


Il "RewriteRule" spiega come il nuovo indirizzo sarà costruito. Il finale "$1" deve essere utilizzato se il tuo nuovo sito è esattamente lo stesso di quello vecchio. In questo caso l'URL www. sito-vechio.com / pagina1.html reindirizzerà a www. nuovo-indirizzo.net / pagina1.html. Se vuoi che tutti siano reindirizzati alla pagina iniziale del nuovo sito, basta omettere il "$1".

Alla fine il [R = 301, L] significa che si tratta di un reindirizzamento 301 e che questo è l'ultimo comando.

Questo è il metodo usuale per reindirizzare da http:// www. url.tld a http:// url.tld (o viceversa). Modificate il codice per dire "se il indirizzo non è url.tld $ reindirizzare a url.tld $ 1" facile nò?

 

Se siete su un server dedicato è meglio inserire il codice qui sopra direttamente sul file httpd.conf e omettere la prima linea “Options +FollowSymLinks”.

Bene, ci siamo! Probabilmente già sapete quale tecnica e quale codici di stato avete bisogno ma solo per fare un riassunto:

301= reindirizzamento permanente che aggiorna i link dei motore di ricerca e trasferisce il PageRank di Google.

302= indefinito, reindirizzamento temporaneo, la pagina viene considerata trovata.

HTTP meta tag = consentono di impostare un ritardo.

Script PHP = reindirizzamento fatto sul server.

htaccess = reindirizzamento delle cartelle e siti interi possibile.

Grazie per aver letto questo tutoriale!


Aggiungi un commento