12 min di lettura
Come verificare i redirect di un URL (e leggere la catena)
Verifica i redirect passo per passo con TrueURL, curl e DevTools, leggi ogni salto della catena e correggi loop, catene lunghe e redirect 301 e 302 misti.
Leggi l’articoloStrumento gratuito per i redirect
Non tutti i reindirizzamenti sono un codice di stato HTTP. TrueURL legge l’HTML di ogni pagina della catena e trova i tag meta refresh e i reindirizzamenti JavaScript, con il relativo URL di destinazione e ritardo.
Premi Invio per verificare
La rete edge di Cloudflare convalida sempre i certificati, quindi questa opzione non può saltare il controllo. Gli eventuali problemi di certificato vengono segnalati nel risultato.
Inviato con la prima richiesta, fino a 16 KB. I corpi JSON vengono inviati come application/json, gli altri come dati di un modulo, a meno che tu non imposti un’intestazione Content-Type.
Da 1 a 50. I browser si fermano dopo 20.
I siti possono reindirizzare in modo diverso smartphone, crawler e bot delle anteprime dei link.
Inviate con ogni richiesta della catena.
Nessuna intestazione personalizzata.
Inserisci un valore per inviare questa intestazione. I valori delle intestazioni non vengono mai salvati.
Segue i tag <meta http-equiv="refresh"> e le intestazioni Refresh trovati nelle pagine HTML.
Segue i reindirizzamenti semplici e incondizionati negli script della pagina, come location.href = "…".
Le impostazioni vengono memorizzate in questo browser. Cookie, valori delle intestazioni e corpo POST non vengono mai salvati.
Un meta refresh è un tag HTML che dice al browser di caricare un altro URL dopo un ritardo espresso in secondi:
<meta http-equiv="refresh" content="0; url=https://example.com/new-page">
Con un ritardo di 0 si comporta come un normale reindirizzamento. Con un ritardo più lungo, i visitatori vedono prima la pagina, come nelle vecchie pagine “Stai per essere reindirizzato”. I reindirizzamenti JavaScript fanno lo stesso lavoro con codice come location.href = '...' o location.replace('...'). Entrambi sono reindirizzamenti lato client: il server risponde 200 OK ed è il browser a eseguire il reindirizzamento.
Per ogni risposta HTML con stato 2xx, TrueURL analizza i primi 256 KB della pagina alla ricerca di un tag meta refresh e di semplici reindirizzamenti JavaScript incondizionati. Viene rilevata anche un’intestazione HTTP Refresh, che funziona come un meta refresh. Quando ne trova uno, mostra il tag o il frammento di script, l’URL di destinazione risolto e il ritardo, contrassegna il salto come meta refresh o JavaScript e prosegue la catena dalla destinazione. Un refresh che si limita a ricaricare la stessa pagina non è un reindirizzamento e viene ignorato.
Nelle Impostazioni avanzate puoi scegliere di non seguire l’uno o l’altro tipo, per esaminare la pagina stessa. TrueURL non esegue JavaScript: legge gli script presenti nella pagina e riconosce i reindirizzamenti verso un URL fisso che vengono sempre eseguiti al caricamento della pagina, subito o in un setTimeout di primo livello. Non vengono rilevati i reindirizzamenti che dipendono da una condizione, come un clic, una scelta sul consenso o le dimensioni dello schermo, né quelli che costruiscono l’URL di destinazione nel codice. Usa GET anziché HEAD, perché le risposte HEAD non hanno un corpo da analizzare.
Google consiglia i reindirizzamenti lato server ovunque tu possa configurarli e il meta refresh come soluzione di ripiego, ad esempio su un hosting statico che non può inviare un 301.
I reindirizzamenti temporizzati sono un problema di accessibilità: chi usa uno screen reader, o semplicemente legge lentamente, perde il segno quando la pagina cambia all’improvviso. Le WCAG elencano il meta refresh temporizzato tra i casi di non conformità (failure F40), mentre un reindirizzamento immediato con ritardo 0 è una tecnica accettata (H76).
Se devi reindirizzare dall’HTML, usa un ritardo di 0, aggiungi un tag canonical che punti al nuovo URL e inserisci nella pagina un link visibile al nuovo indirizzo per i visitatori il cui browser non segue il refresh.
12 min di lettura
Verifica i redirect passo per passo con TrueURL, curl e DevTools, leggi ogni salto della catena e correggi loop, catene lunghe e redirect 301 e 302 misti.
Leggi l’articolo13 min di lettura
Cosa significa ogni codice di stato 3xx: 301, 302, 303, 307 e 308 a confronto per permanenza, metodo, cache e SEO, con esempi per nginx, Apache e PHP.
Leggi l’articoloGoogle considera un meta refresh immediato (ritardo 0) un reindirizzamento permanente, quindi in pratica funziona in modo molto simile a un 301. Un refresh con ritardo conta come temporaneo. Altri crawler potrebbero gestire il meta refresh in modo meno affidabile, quindi usa un 301 lato server ogni volta che il tuo hosting lo consente.
Il reindirizzamento avviene nell’HTML o nel JavaScript della pagina, non nella risposta HTTP. Gli strumenti che seguono solo i codici di stato, come curl -L, si fermano alla pagina con codice 200. TrueURL analizza il contenuto della pagina e mostra il reindirizzamento lato client come un salto a sé.
0, se lo scopo è reindirizzare. Qualsiasi ritardo lo trasforma in un reindirizzamento temporaneo per Google, fa aspettare i visitatori e crea problemi di accessibilità. Un ritardo ha senso solo su una pagina che deve prima mostrare un messaggio, e quella pagina dovrebbe avere anche un link ben visibile per proseguire.
No, solo quelli semplici e incondizionati con un URL di destinazione fisso nell’HTML della pagina, come location.href = '...', window.location = '...' o location.replace('...'), anche all’interno di un setTimeout di primo livello. I reindirizzamenti contenuti in file di script esterni, soggetti a condizioni, attivati da azioni dell’utente o con un URL calcolato hanno bisogno di un vero browser per essere eseguiti. Se la catena si ferma su una pagina che sai che reindirizza, probabilmente il motivo è questo.
Di solito perché non può inviare reindirizzamenti HTTP: hosting statico senza regole di reindirizzamento, un page builder o un vecchio CMS. Anche alcuni servizi di abbreviazione URL e sistemi di tracciamento dei clic usano reindirizzamenti HTML, così possono eseguire prima gli script di analisi o controllare il referrer che vede la destinazione.
No. Una risposta HEAD ha le intestazioni ma non il corpo, quindi non c’è HTML da analizzare. TrueURL ti avvisa quando verifichi con HEAD; con questo strumento usa GET.