Trova link rotti

Dacci un indirizzo di partenza. Il nostro crawler percorre il sito pagina per pagina, prova ogni link e immagine che incontra e riporta quelli che non funzionano insieme alle pagine in cui si trovano.

The crawl stops at 100 pages or 600 requests, whichever comes first. A small site is done in seconds, a large one in a few minutes. Keep this tab open while it runs.

Oppure prova wikipedia.org

I link si rompono senza che nessuno li tocchi

Quando aggiungi un link, conti sul server di qualcun altro, o su un file che magari rinominerai l’anno prossimo. La tua pagina memorizza solo l’indirizzo. La destinazione si sposta, un dominio non viene rinnovato, un’immagine viene cancellata dalla libreria media, e nel tuo editor la pagina sembra esattamente la stessa. L’unico che se ne accorge è chi fa clic.

Questo lento degrado si chiama link rot e non si ferma mai. Uno studio del 2024 del Pew Research Center ha rilevato che il 38% delle pagine web esistenti nel 2013 non era più raggiungibile dieci anni dopo. Per sapere a che punto è il tuo sito, qualcuno deve provare ogni link. È un lavoro infernale per una persona e facile per un programma.

Come procede la scansione

  1. Scarichiamo la pagina di partenza e leggiamo robots.txt. I percorsi che vieta vengono lasciati stare.
  2. Vengono raccolti tutti i <a href> e <img src>, comprese le immagini a caricamento differito in data-src. I link mailto:, tel: e javascript: vengono saltati e il #fragment viene scartato.
  3. I link a pagine dello stesso host vanno in coda per essere letti a turno. example.com e www.example.com contano come un solo sito. Gli altri sottodomini no.
  4. Tutto il resto (altri siti, PDF, immagini, download) viene solo testato. Iniziamo con una richiesta HEAD, che chiede lo stato senza il contenuto, e ripieghiamo su un normale GET se il server rifiuta HEAD.
  5. I reindirizzamenti vengono seguiti a mano, fino a cinque passaggi. Un sesto passaggio, o un indirizzo che reindirizza a sé stesso, viene segnalato come loop.

La scansione si ferma dopo 100 pagine lette o 600 richieste. Apre al massimo quattro connessioni alla volta verso un host, aspetta sei secondi una risposta e testa ogni indirizzo una sola volta, per quante volte sia linkato. Quando un percorso compare con più di cinque query string diverse, le varianti in più vengono ignorate. Altrimenti un calendario o una pagina di filtri si mangerebbe tutto il budget.

Come leggere le quattro liste

Link rotti
La destinazione ha risposto con un errore, o non ha risposto. 404 e 410 vogliono dire che la pagina non c’è più. Da 500 a 504 indicano un server in difficoltà e possono essere temporanei. «Nome di dominio non trovato» spesso significa che l’intero sito ha chiuso. «Certificato SSL non valido» significa che i browser mostrano un avviso prima della pagina.
Immagini rotte
Stesse cause, ma il visitatore vede un riquadro vuoto o l’icona dell’immagine rotta.
Reindirizzamenti interni
Link alle tue pagine che funzionano solo passando per un reindirizzamento. Non c’è niente di rotto, ma ogni clic costa un viaggio di andata e ritorno in più, e un giorno qualcuno potrebbe togliere il reindirizzamento.
Da verificare a mano
La destinazione ha risposto 401, 403, 429 o 999, quindi rifiuta i robot o vuole un login. LinkedIn, Facebook e molti siti dietro una protezione anti-bot fanno così. Dovrai aprire il link tu stesso per capire.

Ogni riga elenca fino a cinque pagine in cui compare l’indirizzo, e gli errori che si ripetono più spesso vengono per primi. Un link morto nel footer compare su ogni pagina e lo correggi in un solo punto.

Riparare quello che trova la scansione

  • Una tua pagina si è spostata. Correggi il link, poi aggiungi un reindirizzamento permanente per chi arriva da altrove. Apache: Redirect 301 /old-page/ /new-page/. nginx: location = /old-page/ { return 301 /new-page/; }.
  • Un altro sito ha spostato la sua pagina. Cerca il nuovo indirizzo su quel sito. Se il contenuto non c’è più, linka una copia sulla Wayback Machine (web.archive.org) o togli il link.
  • Immagine mancante. Caricala di nuovo con lo stesso nome, oppure modifica la pagina.
  • Reindirizzamento interno. Sostituisci l’indirizzo nel link con quello finale mostrato nel report.

Vediamo solo i link presenti nell’HTML che il server invia. Menu costruiti da JavaScript, immagini di sfondo CSS, varianti srcset, video e script non vengono testati, e nemmeno le pagine dietro un login. Neanche le ancore vengono verificate, quindi un link a /page#prices passa se /page esiste. E un sito che risponde 200 per le pagine mancanti nasconde i suoi link morti a qualsiasi crawler. Il test soft 404 rileva questo caso.

Domande frequenti

I link rotti danneggiano la SEO?

Qualche link morto non abbassa il posizionamento di un sito. Quello che ti costano è un’altra cosa. Un link interno rotto impedisce ai crawler di raggiungere la pagina dietro di esso, il valore che quel link trasmetteva va perso e i visitatori che incappano in un errore tendono ad andarsene.

Perché un link viene segnalato come rotto quando nel mio browser si apre?

La destinazione non tratta il nostro crawler come tratta te. Può bloccare le richieste automatiche, rispondere troppo lentamente per il limite di sei secondi, servire un certificato per cui il tuo browser ha già un’eccezione, o richiedere un cookie che hai tu. Apri il link in una finestra privata per confrontare.

Il crawler rispetta robots.txt, e come lo blocco?

Sì. Si identifica come MissWrenchBot e segue il gruppo scritto per quel nome, o il gruppo * quando non c’è. Per tenerlo fuori, aggiungi User-agent: MissWrenchBot seguito da Disallow: /. Trovi di più nella pagina del crawler.

Il mio sito ha più di 100 pagine. Cosa posso fare?

La scansione legge le pagine nell’ordine in cui le scopre, partendo dall’indirizzo che indichi. Lanciala più volte da punti di ingresso diversi, per esempio l’indice del blog e poi il catalogo prodotti, per coprire parti diverse del sito.

Per quanto tempo vengono conservati i risultati?

24 ore. Mentre una scansione è in corso, l’indirizzo nella barra del browser diventa un link a quella scansione. Puoi salvarlo nei preferiti o mandarlo a un collega finché non scade.

Qual è la differenza tra un 404 e un 410?

404 Not Found dice che in questo momento all’indirizzo non c’è niente. 410 Gone dice che la pagina è stata rimossa di proposito e non tornerà. Per un link sul tuo sito, la riparazione è la stessa.