# Link interni hub-and-spoke: la struttura che regge

Un hub definisce il tema, le spoke scendono nel dettaglio. Su 458 articoli del blog, 256 non ricevono nessun link interno: il problema è la direzione, non il numero.

> Pagina: https://ui.eneawork.it/blog/internal-linking-hub-spoke
> Markdown: https://ui.eneawork.it/blog/internal-linking-hub-spoke.md

*2026-11-01*

Un hub è la pagina che definisce un tema, le spoke sono gli articoli che scendono nel dettaglio. Il modello funziona quando ogni spoke linka l'hub, l'hub linka tutte le spoke e due spoke vicine si linkano fra loro.

Il catalogo EneUI conta 111.985 componenti, 1.556 blocchi e 12.808 icone da 1.472 librerie, letti da /api/stats il 1 novembre 2026. Lo stesso giorno abbiamo contato i link interni in data/blog: 458 articoli, 882 link verso /blog/<slug>, 251 articoli con almeno un link in uscita, 256 senza nessun link in entrata, 946 link al catalogo, cioè 2,1 per articolo. La documentazione Google sui link è stata verificata il 1 novembre 2026. «internal linking» compare nelle liste Autocomplete registrate il 31 ottobre 2026, in inglese e in italiano.

## Perché la direzione conta più del numero

Google usa i link come segnale di rilevanza e per scoprire pagine nuove: è la prima frase della documentazione sui link, letta il 1 novembre 2026. Un articolo linkato da tre pagine pertinenti riceve un segnale che nessun testo può sostituire. Un articolo linkato da nessuno dipende dalla sitemap, e la sitemap dice che la pagina esiste, non che conta.

## Cosa Google non segue

La stessa pagina dice che Google segue un link solo se è un elemento <a> con href. Un div con onclick, una chiamata a router.push senza href e un link inserito dopo il caricamento possono funzionare per l'utente e non essere visti. Nei componenti React il caso tipico è un <a> sostituito da un wrapper: il browser naviga, il crawler no.

## Contare gli orfani

cat > link-report.mjs f.endsWith(".json")); const inbound = new Map(); for (const file of files) { const post = JSON.parse(fs.readFileSync(`${dir}/${file}`, "utf8")); const html = post.body.map((b) => b.html || "").join(" "); for (const [, href] of html.matchAll(/href="\/blog\/([a-z0-9-]+)"/g)) { inbound.set(href, (inbound.get(href) || 0) + 1); } } const orphans = files .map((f) => f.replace(/\.json$/, "")) .filter((slug) => !inbound.has(slug)); console.log(`${files.length} posts, ${orphans.length} with no inbound link`); console.log(orphans.slice(0, 20).join("\n")); EOF node link-report.mjs

Lo script legge i JSON del blog, estrae ogni href interno e stampa gli articoli senza link in entrata. Sul dataset di questo sito sono 256 su 458: più della metà. Non è un errore di scrittura, è l'effetto di pubblicare un articolo al giorno senza tornare nelle pagine che esistono già.

## La forma minima

## Il record dal vivo

Il catalogo ha già hub naturali: dashboard, blog e la radice /blocks. Una pagina di categoria è un hub che linka i suoi blocchi, e ogni blocco linka la propria libreria: la stessa forma, applicata a 1.556 blocchi. Dati verificati il 1 novembre 2026.

## La limitazione

I link interni non creano domanda. Se un articolo non ha impression dopo novanta giorni, aggiungere link cambia poco: il problema è l'intento o il contenuto. La regola di questo progetto è riscriverlo una volta, poi unirlo all'hub con un redirect. Il conteggio degli orfani dice dove guardare, non cosa scrivere.

## Dove continuare

La strategia generale è in link interni: strategia; l'elenco che tiene insieme il cluster è in come costruire un indice del blog; cosa guardare in Search Console è in Search Console e indicizzazione. Se stai scegliendo lo stack di un sito marketing, cambia quante pagine puoi linkare senza costo: il confronto è in Next.js o Vite per un sito marketing.

## FAQ

### Quanti link interni servono per pagina?

Non c'è un numero: servono i link che aiutano a capire. Tre o quattro link contestuali per articolo bastano, se ognuno porta alla pagina che risponde alla domanda successiva.

### Un link interno vale come un backlink?

No. Un backlink porta un segnale da un altro dominio; un link interno distribuisce autorità dentro il sito e aiuta la scoperta delle pagine. Servono entrambi, per ragioni diverse.

### I link nel menu contano?

Contano, ma non distinguono: un link nel menu compare su tutte le pagine e dice poco sulla singola. Il link contestuale dentro il testo dice di cosa parla la pagina.

### Meglio il testo àncora o «clicca qui»?

Il testo àncora, perché descrive la destinazione. «Clicca qui» non dice nulla né a chi legge con uno screen reader né a Google.

### Un articolo senza link in entrata è invisibile?

No, resta nella sitemap e può essere indicizzato. Perde il segnale che i link portano, e nella pratica resta indietro rispetto alle pagine linkate.
