Informazioni sui reindirizzamenti .htaccess
Quando servono i reindirizzamenti
Ogni volta che cambia un URL. Una riprogettazione, una ristrutturazione, il passaggio a https o l'unione di una pagina con un'altra lasciano un vecchio indirizzo che le persone e i motori di ricerca continuano ad avere.
Un reindirizzamento li invia alla nuova pagina e, se configurato correttamente, trasferisce i segnali di ranking che il vecchio URL aveva accumulato. Se lo ometti, quei segnali vanno persi, insieme a chiunque segua un vecchio link.
Questo generatore trasforma un elenco di URL vecchi e nuovi nelle regole .htaccess necessarie.
Quale codice 3xx utilizzare
Un 301 indica che lo spostamento è permanente. I motori di ricerca trasferiscono i segnali del vecchio URL a quello nuovo e, col tempo, rimuovono il vecchio indirizzo dal loro indice. È ciò che vuoi fare nella quasi totalità dei casi.
Un 302 indica che lo spostamento è temporaneo. Il vecchio URL rimane indicizzato e conserva i suoi segnali, il che è corretto per una pagina di manutenzione o una promozione stagionale, ma non per qualsiasi altra situazione. Un 302 lasciato in essere per mesi è uno dei modi più silenziosi per perdere posizionamento, perché nulla fa pensare che ci sia un problema.
307 e 308 sono gli equivalenti più recenti di 302 e 301. I motori di ricerca li trattano allo stesso modo e la differenza è tecnica: mantengono il metodo della richiesta originale, quindi una richiesta POST di un modulo arriva al nuovo URL come POST anziché essere convertita in GET. Questo è importante per le API e per i gestori dei moduli, ma raramente per le pagine ordinarie. Apache richiede la versione 2.4 o successiva per gestire un 308.
Il resto dell’intervallo 3xx non è destinato a questo. 300 e 305 sono di fatto inutilizzati, 304 è una risposta di caching anziché un reindirizzamento e 303 serve a indirizzare il browser a una pagina di conferma dopo l’invio di un modulo: nessuno di questi appartiene a un file di reindirizzamento.
Come funziona effettivamente la corrispondenza
Il reindirizzamento verifica la corrispondenza con l’inizio del percorso, anziché con il percorso completo. Una regola per /blog intercetta anche /blog/post e /blog/category/thing, senza che questi siano elencati. È utile quando lo si sa, ma sorprendente quando non lo si sa, perché una regola ampia posizionata sopra una specifica rende quest’ultima irraggiungibile.
Lo stesso comportamento consente di spostare un intero dominio: una singola regola con / come vecchio indirizzo intercetta ogni pagina del sito. Indicala alla radice del nuovo dominio e ogni URL seguirà il reindirizzamento.
Ciò che `Redirect` non comprende sono i pattern. Qui non ci sono caratteri jolly, quindi `/*` viene interpretato come un percorso letterale e non corrisponde a nulla: il matching per prefisso svolge già questo compito. Quando hai realmente bisogno di un pattern, `RedirectMatch` utilizza invece un'espressione regolare e conviene usarlo solo quando un prefisso non è sufficiente.
Errori comuni
- Reindirizzare tutto alla homepage, che viene interpretato come un soft 404 e non aiuta nessuno.
- Catene, in cui A rimanda a B e B rimanda a C. Indirizza ogni vecchio URL direttamente alla destinazione finale.
- Loop, in cui due regole rimandano il traffico avanti e indietro finché il browser non rinuncia.
- Reindirizzamento a una pagina che non è una sostituzione adeguata di quella precedente.
- Modificare .htaccess senza un backup. Un errore di sintassi rende inaccessibile l’intero sito.
Dove inserire queste regole
.htaccess è un file di configurazione di Apache che si trova nella directory principale del sito. Anche LiteSpeed lo legge; Nginx invece no e richiede una sintassi propria nella configurazione del server.
Le regole vengono applicate nell’ordine in cui compaiono, quindi inserisci i reindirizzamenti specifici prima di quelli generali. Conserva una copia del file funzionante prima di apportare modifiche, perché un errore in questo punto restituisce un errore 500 per ogni pagina invece di fallire senza conseguenze.
Per una manciata di URL, questo file è il posto giusto. Per centinaia di URL, un plugin o una regola basata su database è più facile da gestire rispetto a un file che nessuno vuole aprire.
Utilizzo del generatore di reindirizzamenti .htaccess
Scegli il tipo di reindirizzamento, aggiungi una riga per ogni URL che è stato spostato, quindi scarica o copia le regole. I percorsi precedenti sono relativi al tuo dominio; le destinazioni devono essere URL completi.
Successivamente, testane manualmente alcuni. Un reindirizzamento che funziona nel browser ma restituisce il codice di stato errato continua a farti perdere i segnali che avrebbe dovuto trasferire.
Cosa fare dopo
Verifica che le regole facciano ciò che ti aspetti con il nostro
verificatore di reindirizzamenti, che segue ogni passaggio e mostra i codici di stato. Conferma che la destinazione restituisca uno
codice di stato pari a 200, quindi crea il resto della configurazione con il generatore
.htaccess.