Lo Status 301 Moved Permanently è un particolare stato delle pagine Web rilasciato dal Web Server che indica che una pagina è stata rimossa, spostata o rinominata, il che incide sull’indicizzazione nei motori di ricerca, dato che l’indirizzo in cui si trovavano dei contenuti era “quello” ed ora, magari, è “un altro”.
Spieghiamoci meglio. Immaginiamo di avere un sito con una pagina di contenuto residente all’indirizzo:
http://www.miosito.ext/spieghiamo-il-php.php
ed immaginiamo di voler rinominare il file come segue:
http://www.miosito.ext/impariamo-il-php.php
I motori di ricerca conoscono bene il file spieghiamo-il-php.php e passerà del tempo prima di abituarsi all’idea della presenza del nuovo file impariamo-il-php.php e per di più si possono creare problemi di pagine duplicate o altri inconvenienti di carattere SEO che non giovano alla visibilità di un sito.
Possiamo gestire lo status 301 in PHP con le intestazioni header, specificando lo status a cui accedere ed indicando nuova locazione da raggiungere.
Prendiamo in considerazione l’esempio di URL proposto in precedenza. Scriveremo il seguente codice nel “vecchio file”, ovvero in spieghiamo-il-php.php:
<?
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.miosito.ext/impariamo-il-php.php");
exit;
?>
Il codice PHP appena proposto effettua un redirect al “nuovo file”, ovvero impariamo-il-php.php, ma oltre al redirect effettua preventivamente la gestione dello status 301 moved permanently.
