Guida completa ai Redirect 301 tramite file .htaccess

Contenuti dell'articolo

I redirect 301 sono uno degli strumenti più importanti per gestire correttamente la migrazione o la riorganizzazione di un sito web (anche di un singolo contenuto).

Sono utilizzati per indirizzare in modo permanente gli utenti e i motori di ricerca da una pagina all’altra, garantiscono la conservazione del valore SEO e migliorano l’esperienza utente.

Il file .htaccess, uno dei file essenziali per i server Apache e LiteSpeed, è il modo più rapido ed efficace per configurare queste redirezioni, adattandole alle esigenze del tuo sito.
In questa guida scoprirai come utilizzare il file .htaccess per creare redirect personalizzati, ottimizzare la tua struttura URL e gestire eventuali errori in modo semplice e sicuro.

Attenzione: i server Ngix non usano l’htaccess, pertanto per quei server andranno usate altre regole di rewrite che vedremo separatamente.

Cos’è un redirect 301 e perché è importante

Il redirect 301 è una tecnica utilizzata per indirizzare permanentemente il traffico da un URL a un altro. Questo tipo di redirect è essenziale per mantenere il valore SEO di una pagina quando il suo indirizzo cambia.

Garantisce che i visitatori e i motori di ricerca siano reindirizzati automaticamente alla nuova destinazione, senza interruzioni o perdite di traffico, inoltre consente di non perdere (o almeno ridurre notevolmente il rischio) eventuali posizioni in SERP della pagina con la migrazione verso un altro url.

Definizione di redirect 301

Un redirect 301 è una risposta HTTP che indica una redirezione permanente. Quando un browser o un motore di ricerca riceve questo tipo di risposta, comprende che la risorsa richiesta è stata spostata in modo definitivo su un altro URL.

Questo permette di trasferire autorità e rilevanza della pagina originale a quella di destinazione.

Differenze principali tra redirect 301, 302, 307 e 308

Non ci sono solo Redirect 301, anzi esistono diversi tipi di redirect, ognuno con un uso specifico che è importante sapere.

Il redirect 302 ad esempio indica una redirezione temporanea, suggerendo ai motori di ricerca di mantenere l’URL originale nell’indice. È utile ad esempio nel caso di una manutenzione su una piattaforma.

Anche il redirect 307 è una redirezione temporanea, ma a differenza del 302, il 307 specifica che il metodo HTTP utilizzato (es. POST o GET) deve rimanere lo stesso durante la redirezione.
Si rivela molto utile ad esempio nell’uso con le API, in modo tale che l’uso rimanga consistente.

Il 308 Permanent Redirect è simile al 301 Moved Permanently, ma con una differenza fondamentale: garantisce che il metodo HTTP originale (es. POST) venga preservato nella nuova destinazione. Un requisito che lo rende particolarmente utile in applicazioni web o API che utilizzano metodi come POST, dove il mantenimento dei dati inviati è critico.

Ad ogni modo, in ambiente editoriale il 301 è preferito per i cambiamenti permanenti poiché trasferisce la “link juice” in modo ottimale. Ovvero, non penalizza lato SEO, come regola generale, ma ovviamente tutto dipende dal contesto e dall’uso effettivo.

Quali sono i vantaggi dei redirect 301 per la SEO

I redirect 301 offrono numerosi vantaggi in termini di SEO. Mantengono il valore dei backlink acquisiti dalla pagina originale, aiutando a conservare e potenzialmente migliorare il posizionamento nei motori di ricerca. Inoltre, facilitano la gestione dei cambiamenti strutturali del sito senza perdere traffico.

Conservazione del valore SEO dei backlink

Quando un URL cambia, i backlink che puntavano alla vecchia pagina potrebbero risultare inutili se non viene impostato un redirect 301. Questo tipo di redirect assicura che il valore SEO accumulato dai link esterni venga trasferito alla nuova pagina, preservando il ranking e l’autorevolezza del sito.

Miglioramento dell’esperienza utente

I redirect migliorano l’esperienza utente evitando errori 404 inutili e garantendo che i visitatori raggiungano la pagina desiderata senza interruzioni.
Assicurano, inoltre, che i cambiamenti nell’URL non causino frustrazione o abbandono del sito da parte degli utenti.

Prima di vedere cos’è il file .htaccess, dobbiamo capire cosa succede quando apriamo un URL e cos’è l’URL Rewrite.

Cos’è il mod_rewrite

Il mod_rewrite è un modulo del server Apache utilizzato per riscrivere URL in modo dinamico e flessibile. Grazie a questo strumento, è possibile trasformare gli URL di un sito web in formati più leggibili, SEO-friendly, o gestire operazioni come redirect personalizzati. Il modulo sfrutta espressioni regolari per analizzare e modificare le richieste HTTP, consentendo una gestione avanzata degli URL.

Caratteristiche principali del mod_rewrite:

  • Riscrittura dinamica degli URL: consente di modificare il percorso richiesto dall’utente senza cambiare il contenuto della pagina.
  • Redirect personalizzati: permette di reindirizzare gli utenti da un URL a un altro, ad esempio per consolidare domini o gestire pagine spostate.
  • Supporto per espressioni regolari: garantisce massima flessibilità nell’identificazione e modifica degli URL.
  • Utilizzabile tramite il file .htaccess o direttamente nella configurazione del server.

Cos’è la riscrittura degli URL (url rewriting)

La riscrittura degli URL, o URL rewriting, è il processo attraverso cui un URL viene modificato o mascherato per renderlo più comprensibile sia agli utenti che ai motori di ricerca. Grazie a questo sistema, si possono creare URL che:

  • Sono più leggibili e facili da ricordare.
  • Migliorano la SEO del sito, poiché gli URL ben formattati sono preferiti dai motori di ricerca.
  • Nascondono la struttura interna del server, aumentando la sicurezza.

Perché usare la riscrittura degli URL?

Gli URL standard generati da alcuni sistemi possono essere lunghi e poco chiari, ad esempio:

  • URL non riscritto:
    https://example.com/index.php?id=123&category=abc
  • URL riscritto:
    https://example.com/prodotti/categoria/nome-prodotto

Il secondo esempio è:

  • Più leggibile per gli utenti.
  • Più performante per la SEO.
  • Più professionale e pulito.

Come funziona mod_rewrite per riscrivere gli URL?

Il mod_rewrite interviene sulla richiesta HTTP per interpretare e modificare l’URL richiesto in base alle regole definite nel file .htaccess.

Queste regole possono:

  • Riscrivere gli URL per caricare contenuti diversi.
  • Reindirizzare il traffico verso altre pagine o domini.

Esempio pratico:

Regola .htaccess per trasformare un URL complesso in uno leggibile:

RewriteEngine On
RewriteRule ^prodotti/([a-z]+)/([a-z]+)$ index.php?categoria=$1&prodotto=$2 [L]

Cosa fa questa regola?

  • L’utente digita: https://example.com/prodotti/elettronica/televisore
  • Il server interpreta: https://example.com/index.php?categoria=elettronica&prodotto=televisore

Quali sono i vantaggi della riscrittura degli URL?

  • Migliore SEO: gli URL riscritti sono indicizzati meglio dai motori di ricerca.
  • User Experience: gli utenti trovano più semplice navigare il sito.
  • Branding: URL chiari e coerenti rafforzano l’immagine del brand.
  • Sicurezza: nasconde i dettagli tecnici delle pagine (es. linguaggi di programmazione).

In sintesi, il mod_rewrite e la riscrittura degli URL sono strumenti essenziali per chiunque voglia ottimizzare il proprio sito web in termini di SEO, sicurezza e accessibilità.

Cosa è il file .htaccess e perché è cruciale per i redirect

Il file .htaccess è un componente fondamentale nel contesto della gestione dei siti web ospitati su server Apache e LiteSpeed (non Ngix!!). Questo file di configurazione permette agli amministratori di modificare il comportamento del server web in una determinata cartella, senza intervenire direttamente sui file di configurazione principali di Apache.

Per chi gestisce siti web, il file .htaccess è essenziale poiché consente di implementare rapidamente redirect 301, migliorando l’esperienza utente e l’ottimizzazione per i motori di ricerca.

Definizione del file .htaccess

Il file .htaccess è un file di testo semplice che si trova nella directory principale del sito web o in qualsiasi altra directory per cui si desidera sovrascrivere le impostazioni di Apache. Questo file è utilizzato per configurare vari aspetti del server, tra cui la gestione dei permessi di accesso, la riscrittura delle URL e, appunto, i redirect 301.

Dove si trova e come accedervi su un server Apache

Il file .htaccess è generalmente posizionato nella directory principale del sito web, ma può essere presente in altre directory per gestire configurazioni specifiche.
Per accedervi, è necessario utilizzare un client FTP o un pannello di controllo fornito dal provider di hosting.
Da terminale è possibile modificarlo tramite “nano .htaccess” dopo essersi localizzati nella cartella in questione.

È importante che il file .htaccess sia visibile, poiché i file che iniziano con un punto sono spesso nascosti per impostazione predefinita.

Precauzioni prima di modificarlo (backup e permessi)

Prima di apportare modifiche al file .htaccess, è fondamentale seguire alcune precauzioni per evitare di causare problemi al sito web.

Effettuare sempre un backup del file attuale consente di ripristinare le configurazioni precedenti in caso di errori. Vi prego: fatelo.

Inoltre, assicuratevi di avere i permessi corretti per modificare il file è cruciale: senza i permessi adeguati, le modifiche non saranno applicate o potrebbero portare a errori di accesso al server.

Struttura di un redirect 301 nel file .htaccess

Il redirect 301 è uno dei metodi più efficaci per comunicare ai motori di ricerca e ai browser che una pagina web è stata permanentemente spostata a un nuovo URL. Implementare un redirect 301 attraverso il file .htaccess è una pratica comune nei server Apache e LiteSpeed, che permette di gestire i reindirizzamenti in modo efficiente.

Qual è la sintassi base per un redirect tramite .htaccess

La sintassi di base per un redirect 301 nel file .htaccess è relativamente semplice. Un tipico comando di redirect 301 segue il formato:

Redirect 301 /vecchio-percorso /nuovo-percorso

In questa sintassi, “Redirect 301” indica il tipo di reindirizzamento, mentre “/vecchio-percorso” e “/nuovo-percorso” rappresentano rispettivamente il percorso della vecchia e della nuova risorsa. È importante notare che il percorso specificato è relativo alla radice del sito.

Quindi ad esempio un redirect da lepuzzette.it/paperino a lepuzzette.it/topolino si fa con questa configurazione modificando il file .htaccess nella root del sito lepuzzette.it :

Redirect 301 /paperino /topolino

Differenza tra percorsi relativi e URL completi

Quando si parla del file .htaccess, è cruciale comprendere la differenza tra percorsi relativi e URL completi.

Cos’è un URL relativo

Un percorso relativo inizia con una barra (/) e si riferisce a un percorso rispetto alla radice del sito. Ad esempio un url //lepuzzette.it/topolino.jpg si sta ricollegando al file topolino.jpg. Starà al browser se cercare il contenuto tramite protocollo http o https.

Cos’è un url completo

Al contrario, un URL completo include il protocollo (es. http:// o https://), il dominio e il percorso completo della risorsa. Utilizzare percorsi relativi consente maggiore flessibilità, soprattutto quando il dominio rimane invariato.

Ordine e gerarchia delle regole nel file .htaccess

Il file .htaccess segue un ordine gerarchico che determina come le regole vengono applicate. È essenziale che le regole di redirect siano posizionate in modo tale da non causare conflitti o loop infiniti. Le regole vengono lette e applicate dall’alto verso il basso, quindi è importante organizzare correttamente i comandi per garantire che il comportamento desiderato sia rispettato.

Quindi ricapitoliamo:

  • L’ordine delle regole è fondamentale per evitare conflitti.
  • Le regole vengono eseguite in ordine sequenziale dall’alto verso il basso.
  • Assicurarsi che le regole siano ben organizzate nel file.

Esempi pratici di redirect 301 tramite .htaccess

Redirect di una singola pagina

Il redirect di una singola pagina è uno degli usi più comuni dei redirect 301. Questo tipo di reindirizzamento è utile quando una pagina è stata spostata permanentemente a un nuovo URL. Per eseguire questa operazione tramite il file .htaccess, è necessario inserire il seguente codice:

Redirect 301 /pagina-vecchia.html /pagina-nuova.html

Questo comando dice al server di reindirizzare qualsiasi richiesta per /pagina-vecchia.html a /pagina-nuova.html, assicurando che gli utenti e i motori di ricerca siano inviati al nuovo indirizzo.

Redirect di un’intera directory

Nel caso in cui si debba spostare un’intera directory a un nuovo percorso, il redirect 301 può essere configurato per gestire questa transizione. Il codice necessario nel file .htaccess è il seguente:

RedirectMatch 301 ^/vecchia-directory/(.*)$ /nuova-directory/$1

Questo comando permette di reindirizzare tutte le richieste dalla vecchia directory alla nuova, mantenendo la struttura dei file intatta.

Redirect da HTTP a HTTPS

Con l’aumento delle preoccupazioni per la sicurezza, il passaggio da HTTP a HTTPS è diventato essenziale. Un redirect 301 può garantire che tutte le richieste vengano inoltrate alla versione sicura del sito. Aggiungere il seguente codice al file .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Questo codice controlla se la connessione non è sicura e reindirizza tutte le richieste al protocollo HTTPS.

Redirect con modifica del dominio

Quando un sito cambia dominio, è cruciale che il traffico venga trasferito correttamente al nuovo URL per evitare perdite di visitatori e di posizionamento nei motori di ricerca. Un redirect 301 nel file .htaccess potrebbe apparire così:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^vecchio-dominio.com [NC]
RewriteRule ^(.*)$ http://nuovo-dominio.com/$1 [L,R=301]

Questa configurazione assicura che tutte le pagine del vecchio dominio vengano reindirizzate al nuovo, mantenendo intatta la struttura degli URL.

Redirect delle pagine AMP alla versione non AMP

Per effettuare un redirect delle pagine /amp alle versioni non-AMP dei contenuti tramite il file .htaccess, puoi utilizzare una regola di riscrittura basata su mod_rewrite di Apache. Ecco un esempio pratico:

RewriteEngine On

# Controlla se l'URL termina con /amp
RewriteCond %{REQUEST_URI} /amp/?$ [NC]

# Rimuove /amp e reindirizza alla versione non-AMP
RewriteRule ^(.*)/amp/?$ /$1 [R=301,L]

Gestione avanzata dei redirect: consigli e best practice

I redirect 301 sono essenziali per mantenere l’integrità di un sito web durante modifiche strutturali o migrazioni. Ma attenzione: una gestione avanzata richiede attenzione a vari aspetti per evitare problemi che possono influenzare negativamente l’esperienza utente e il posizionamento SEO.

@matteo_morreale Probabilmente già sai cos'è un #redirect 301, ma quello che potresti non sapere è che ci sono dei limiti nel loro uso concatenato. Questo significa che, di fatto, hai molti meno redirect concatenati a tua disposizione di quanto pensi! In questo video parliamo anche dei migliori prosciutti, quindi potete anche taggare @donatodecaprio3 e chiedere informazioni, e dei migliori maglioni di natale ma su questi non so dirvi chi taggare. #seo #sem #marketing #marketingdigitale #digitalmarketing ♬ suono originale – Matteo Morreale

Come evitare cicli di redirect

I cicli di redirect si verificano quando un URL reindirizza a un altro URL, che a sua volta reindirizza al primo, creando un loop infinito.

Questo può causare errori di caricamento e una pessima esperienza utente. Per evitarli, è fondamentale pianificare attentamente la catena di redirect, evitando di reindirizzare gli URL in modo circolare. L’uso di strumenti di analisi dei redirect può aiutare a individuare e correggere i cicli esistenti.

Strumenti per testare i redirect

Testare i redirect è cruciale per assicurarsi che funzionino correttamente. Strumenti online come Redirect Checker o estensioni per browser possono verificare se un redirect è impostato correttamente e se il percorso è ottimale.
Questi strumenti aiutano a rilevare errori di configurazione e a confermare che il redirect 301 stia passando la giusta autorità SEO.

Monitoraggio degli effetti sui risultati SEO

Monitorare gli effetti dei redirect sui risultati SEO è fondamentale. Strumenti di analisi SEO come Google Search Console possono fornire dati preziosi sulle variazioni di traffico e sull’indicizzazione degli URL reindirizzati.
È importante tenere traccia delle variazioni nel ranking e nel traffico per determinare se i redirect stanno avendo l’effetto desiderato o se sono necessarie ulteriori ottimizzazioni.

Errori comuni da evitare

Gli errori nella configurazione dei redirect possono avere conseguenze gravi. Evitare questi errori è fondamentale per mantenere un sito web funzionante e ottimizzato.

Non fare un backup del file .htaccess originale

Prima di effettuare qualsiasi modifica al file .htaccess, è essenziale creare un backup. La mancanza di un backup può portare a difficoltà nel ripristino delle impostazioni precedenti in caso di errori, con conseguenze potenzialmente disastrose per l’accessibilità del sito.

Non avete idea di quante volte un backup del file .htaccess mi abbia salvato.

Utilizzo di regole in conflitto tra loro

Le regole di redirect in conflitto possono causare malfunzionamenti del sito. È importante assicurarsi che le regole siano chiare e non si sovrappongano. L’analisi delle configurazioni esistenti e l’uso di strumenti di simulazione possono prevenire tali errori.

Redirect inutili che rallentano il sito

I redirect inutili possono rallentare il sito e peggiorare l’esperienza utente. Limitare il numero di redirect e ottimizzare le catene esistenti garantisce una maggiore efficienza. L’eliminazione di redirect non necessari può migliorare significativamente la velocità di caricamento delle pagine.

Troppi Redirect 301 possono rallentare un sito

Quando il server interpreta un url ed elabora cosa mostrare all’utente passa per vari passaggi, uno di questi è l’elaborazione dell’htaccess per l’URL Rewrite.

Ma se ci sono tantissimi url redirezionati, prima di mostrare il contenuto all’utente dovrà prima verificare se quell’url è nella lista di url redirezionati.
Una operazione che può aumentare il TTFB se ci sono migliaia di url, per questo motivo è sempre preferibile aggregare più url sotto delle REGEX, anziché indicarli tutti singolarmente.

Condividi:

Potrebbero interessarti