Anchor Link: Regole di Navigazione Stabile nella Pagina
Usa gli anchor link per creare una navigazione stabile nella pagina, preservare gli ID delle intestazioni, proteggere gli URL con frammento citati e aiutare i lettori a raggiungere le risposte senza attriti.
Gli anchor link sono link all’interno della pagina che portano il lettore a una sezione denominata del documento corrente. Trasformano una pagina lunga in un insieme di risposte durevoli e indirizzabili, ma solo quando ogni destinazione ha un ID intestazione stabile.
Vai a: Perché gli anchor link sono importanti · Quando usarli · Anatomia dell’ID stabile · Sintassi di implementazione · Checklist QA
La riga sopra è l’elemento renderizzato nella sua forma compatta inline. Ogni link contiene un identificatore di frammento, la parte dopo #, e ogni frammento risolve a un’intestazione di questa pagina.
Perché questo elemento è importante
I documenti lunghi creano un problema di recupero delle informazioni prima di creare un problema di lettura. Un visitatore che arriva da una ricerca, un ticket di supporto o un messaggio di un collega spesso vuole un singolo vincolo piuttosto che l’intero argomento. Un jump link descrittivo elimina lo scrolling e rassicura il visitatore che la risposta esiste. Supporta anche la lettura non lineare: qualcuno può controllare i parametri, tornare all’anatomia e poi passare alla QA senza fingere che ogni visita utile inizi dall’introduzione.
Il beneficio psicologico dipende dalla fiducia. Il testo del link fa una promessa sulla destinazione e il clic deve mantenerla immediatamente. Un’etichetta vaga come “Scopri di più” costringe il lettore a ricordare il contesto circostante. Un link che atterra sotto un’intestazione sticky sembra rotto anche quando il browser ha tecnicamente raggiunto le coordinate corrette. Un elenco con 25 voci quasi identiche crea un altro compito di scansione invece di ridurne uno.
Gli anchor link migliorano anche l’estraibilità automatica: la capacità del software di isolare una sezione e preservarne il significato al di fuori della pagina completa. Un URL come /guide/#renewal-terms identifica una regione di risposta più piccola di /guide/. I sistemi di ricerca, le estensioni del browser, gli strumenti di documentazione e i sistemi di recupero AI possono citare o condividere quella regione direttamente. Il frammento non crea autorità né garantisce una citazione, ma fornisce a una sezione già utile un indirizzo pubblico preciso.
Quell’indirizzo è un’interfaccia, non un sottoprodotto accidentale dell’intestazione. Molti sistemi di pubblicazione generano renewal-terms dall’intestazione visibile “Renewal terms”. Se un editor in seguito modifica l’intestazione in “How renewals work”, il generatore potrebbe produrre how-renewals-work. Ogni link in entrata che termina ancora con #renewal-terms ora punta a un ID che non esiste più. Questo include link in altri articoli, segnalibri del browser, messaggi di campagne, risposte dell’assistenza, risultati di ricerca e risposte AI citate. L’URL della pagina restituisce ancora successo, il che può nascondere la regressione, ma il visitatore perde la destinazione promessa a livello di sezione.
Segui le regole di scrittura degli elementi prima di aggiungere la navigazione. La regola di precedenza si applica ancora: gli anchor link navigano verso elementi di contenuto; non sostituiscono una definizione, un confronto, un avviso, una FAQ o altro blocco tipizzato richiesto. Il sistema di intestazioni gestisce la gerarchia del documento e gli ID stabili collegati alle intestazioni. Gli anchor link consumano tali ID.
Quando usarlo
Usa gli anchor link quando una pagina contiene più destinazioni che i lettori potrebbero necessitare in modo indipendente. I casi principali includono un lungo riferimento con parametri discreti, documentazione con sezioni di configurazione e risoluzione dei problemi, un report con metodologia e risultati separati, una policy con obblighi nominati e un hub FAQ con gruppi di domande.
Usa un set visibile di jump link quando almeno una di queste condizioni è vera:
- La pagina ha cinque o più sezioni H2 significative e i lettori probabilmente entreranno con obiettivi diversi.
- La pagina è lunga 1.800 parole o più e le sue sezioni possono essere comprese in modo non lineare.
- I team di supporto, vendite, legale o editoriale condividono regolarmente link a singole sezioni.
- È probabile che una sezione venga citata, aggiunta ai segnalibri, rivisitata o aggiornata in modo indipendente.
- I lettori mobili avrebbero altrimenti bisogno di molto scrolling per raggiungere una risposta prevedibile.
Ogni intestazione sostanziale può comunque ricevere un ID anche quando non è presente un elenco visibile di jump link. Le destinazioni stabili sono economiche da preservare e costose da ricostruire dopo che i link hanno circolato.
I casi dubbi meritano moderazione. Una procedura lineare in tre passaggi dovrebbe di solito mantenere il lettore in ordine; un elenco di salti può invitare a saltare i prerequisiti. Una pagina breve le cui intestazioni sono già visibili sopra la piega non ottiene una navigazione utile. I controlli a schede e accordion cambiano lo stato dell’interfaccia piuttosto che navigare verso posizioni del documento, quindi non sono sostituti degli anchor link. I link di paginazione si spostano tra documenti. Un link a un’altra pagina è un link interno anche se la sua destinazione contiene un frammento.
Non aggiungere ancore come tattica di keyword né creare intestazioni extra per ottenere più URL con frammento. L’unità di navigazione deve essere una sezione reale con uno scopo distinto e contenuti sufficienti a soddisfare l’etichetta del link.
Dove posizionarlo
Posiziona un gruppo di jump link a livello di pagina dopo l’hero, la risposta diretta o una breve dichiarazione di ambito e prima della prima sezione principale del corpo. Il lettore deve comprendere la pagina prima di scegliere un percorso al suo interno. Quando la pagina utilizza anche una panoramica rapida e un indice dei contenuti , non aggiungere un secondo elenco delle stesse destinazioni. L’indice dei contenuti è una presentazione degli anchor link; configura o semplifica quell’elemento invece di duplicare la navigazione.
Posiziona un gruppo di jump link locale immediatamente prima della regione delimitata che controlla, come una directory alfabetica o un riferimento API multi-parte. Dagli un’etichetta che nomini l’ambito: “Vai alla famiglia di prodotti” è più chiaro di un altro generico “In questa pagina”. Posiziona un riferimento incrociato inline nella frase in cui la destinazione diventa utile, usando parole che nominano il target.
Non posizionare la navigazione ad ancora:
- Tra un’intestazione e il paragrafo che le risponde.
- Tra un’affermazione e la sua evidenza, qualifica o fonte.
- Accanto a un CTA, annuncio, modulo di newsletter o scheda promozionale non correlati che competono per lo stesso clic.
- All’interno di un altro link, pulsante, intestazione o controllo interattivo.
- In una regione sticky che copre l’intestazione di destinazione dopo la navigazione.
- Dopo il contenuto che dovrebbe aiutare i lettori a scoprire.
Se un’intestazione sticky del sito è alta 72 pixel, il target necessita di almeno quel margine di scroll più una spaziatura confortevole. Risolvi questo problema sulla destinazione con un scroll-margin-top coerente, non inserendo elementi spaziatori vuoti o modificando il frammento con JavaScript.
Anatomia
Un sistema di anchor link ha sette parti:
- Etichetta di navigazione: nomina il set, di solito “In questa pagina” o un’alternativa specifica dell’ambito.
- Testo del link: descrive la destinazione quando letto senza la frase circostante.
- Frammento href: inizia con
#per la pagina corrente, come#renewal-terms. - ID target: il valore univoco sulla destinazione, che corrisponde esattamente all’href senza
#. - Intestazione di destinazione: dice al lettore in arrivo dove è atterrato e cosa segue.
- Offset di arrivo: mantiene l’intestazione visibile sotto la chrome dell’interfaccia sticky.
- Stato di interazione: rende percepibili hover, focus da tastiera, stato visitato dove appropriato e posizione corrente.
L’intestazione visibile e l’ID sono correlati ma non identici. L’intestazione può cambiare per chiarezza. Una volta pubblico, l’ID rimane fisso finché la sezione mantiene lo stesso scopo. Gli ID usano lettere ASCII minuscole, numeri quando significativi e trattini: #cancel-subscription è portabile; #Section 4! non lo è.
Esempi di design
Ogni variante utilizza lo stesso contratto link-a-ID. Le varianti differiscono per contesto e densità, non inventando un nuovo comportamento di destinazione.
Compatto inline: usa da tre a sei destinazioni pari vicino all’apertura. Consenti l’andata a capo e mantieni i separatori fuori dai nomi di link accessibili.
Elenco impilato: usa da cinque a dodici destinazioni quando le etichette hanno bisogno di spazio o la scansione è più importante dello spazio verticale. Questa è l’impostazione predefinita per guide e policy lunghe.
Elenco annidato: usa le destinazioni H2 come percorso principale e includi solo i figli H3 sostanziali. Limita la profondità a due livelli di navigazione; alberi più profondi appartengono alla navigazione della documentazione.
Indice locale: usa lettere, categorie o gruppi di riferimento per navigare una regione delimitata. Renderizza le destinazioni che non esistono come testo semplice dall’aspetto disabilitato, non come link con target vuoti o fittizi.
Permalink dell’intestazione: fornisci un piccolo controllo di copia link accanto a un’intestazione quando i lettori citano comunemente singole sezioni. Il suo nome accessibile deve includere l’intestazione, come “Copia link a Renewal terms”. L’intestazione stessa rimane testo, non un grande auto-link.
Riferimento incrociato inline: usa un normale link in frase quando un passaggio dipende da un’altra sezione. Preferisci “rivedi i termini di rinnovo” a “vai qui”.
Parametri
La raccolta e ogni destinazione hanno campi separati. La prima intestazione in un corpo di direttiva portabile corrisponde all’etichetta di navigazione secondo la regola del corpo predefinita; gli elementi di elenco successivi forniscono i link.
| Nome | Tipo | Obbligatorio | Min/max | Predefinito | Fonte | |
|---|---|---|---|---|---|---|
label | Stringa semplice | Sì per un gruppo | 2–6 parole; massimo 60 caratteri | In questa pagina | Attributo o prima intestazione nel corpo | |
variant | Enum | No | inline, stacked, nested, local-index, permalink | stacked | Attributo | |
items | Raccolta di link | Sì per un gruppo | 3–12 elementi visibili; 26 consentiti per un indice A–Z | Nessuno | Elenco del corpo | |
text | Testo inline semplice | Sì per elemento | 2–10 parole; massimo 70 caratteri | Testo dell’intestazione di destinazione | Etichetta del link nel corpo | |
href | URL frammento | Sì per elemento | Un #id; nessun frammento vuoto | Derivato da targetId | Destinazione del link nel corpo o attributo dell’elemento | |
targetId | ID HTML univoco | Sì | 1–8 token minuscoli con trattino | Generato dal testo dell’intestazione prima della prima pubblicazione, poi fissato | Attributo dell’intestazione di destinazione o campo ancora dell’editor | |
depth | Enum intero | No | 1 o 2 | 1 | Attributo; può essere derivato dall’annidamento del corpo | |
copyable | Booleano | No | true o false | false | Attributo | |
content | Elenco di link Markdown | Sì per varianti di gruppo | Un elenco corrispondente a items; nessun corpo solo testo | Tutto dopo la prima intestazione del corpo | Corpo |
Il target editoriale dell’elemento è intenzionalmente più piccolo del massimo tecnico. Se una pagina necessita di 18 destinazioni, prima raggruppa le sezioni correlate, usa un indice dei contenuti generato o dividi il documento. Un indice A–Z è l’eccezione limitata perché il suo ordine e le sue etichette sono già prevedibili.
Sintassi e esempi di codice
La fonte portabile memorizza il testo del link e i frammenti in modo esplicito, così da poter passare tra renderizzatori senza perdere gli ID pubblicati.
Direttiva Markdown portabile
:::anchor-links{variant=stacked depth=1}
### In questa pagina
- [Eligibility](#eligibility)
- [Required documents](#required-documents)
- [Renewal terms](#renewal-terms)
:::
## Eligibility {#eligibility}
La prima intestazione del corpo diventa label; l’elenco diventa content e fornisce items. Fissa l’ID di destinazione quando la pagina viene pubblicata per la prima volta.
Shortcode Hugo
{{< anchor-links variant="stacked" label="In questa pagina" >}}
- [Eligibility](#eligibility)
- [Required documents](#required-documents)
- [Renewal terms](#renewal-terms)
{{< /anchor-links >}}
## Eligibility {#eligibility}
Questo è il contratto dell’adattatore Hugo, non un’affermazione che questo repository registri già uno shortcode anchor-links. Un’implementazione Hugo può generare l’elenco da .TableOfContents o rendere normali link Markdown, purché preservi gli stessi ID, semantica, limiti e comportamento di accessibilità.
WordPress
<!-- wp:group {"tagName":"nav","ariaLabel":"In questa pagina"} -->
<nav aria-label="In questa pagina">
<ul>
<li><a href="#eligibility">Eligibility</a></li>
<li><a href="#required-documents">Required documents</a></li>
<li><a href="#renewal-terms">Renewal terms</a></li>
</ul>
</nav>
<!-- /wp:group -->
<!-- wp:heading {"level":2,"anchor":"eligibility"} -->
<h2 id="eligibility">Eligibility</h2>
<!-- /wp:heading -->
Imposta esplicitamente il campo ancora HTML di WordPress (Avanzate → HTML anchor) per le destinazioni pubblicate. Non affidarti a un tema o plugin per rigenerare gli ID dal testo visibile modificato.
Esempi
Buono: etichette e ID sopravvivono ai miglioramenti editoriali
**In questa pagina**
- [Calculate the total cost](#calculate-total-cost)
- [Compare contract terms](#compare-contract-terms)
- [Choose a plan](#choose-plan)
## Compare annual and monthly contract terms {#compare-contract-terms}
Funziona perché le etichette di navigazione prevedono risposte distinte, l’ID è leggibile e univoco, e l’intestazione può diventare più specifica senza cambiare l’indirizzo pubblicato #compare-contract-terms. Una citazione creata prima del miglioramento linguistico raggiunge ancora la sezione corretta.
Cattivo: gli ID generati vengono trattati come usa e getta
- [More information](#more-information)
- [Click here](#section-4)
- [Pricing](#pricing-2026)
## New pricing details
Fallisce perché due etichette necessitano di contesto circostante, section-4 codifica la posizione piuttosto che il significato, e pricing-2026 diventerà fuorviante quando l’anno cambierà. Anche l’intestazione è cambiata senza mantenere il vecchio id="pricing-2026", quindi i frammenti in entrata esistenti non si risolvono più. Rinominare la voce dell’elenco non può riparare i link già pubblicati altrove.
Schema markup e accessibilità
Gli anchor link non alimentano un tipo Schema.org dedicato. Non marcare un elenco di jump link come ItemList solo perché usa <ul>; il suo scopo è la navigazione, non una raccolta classificata o curata di entità. Una sezione di destinazione può contribuire con contenuti visibili a Article, FAQPage, HowTo o altro tipo di schema appropriato a livello di pagina, ma il frammento in sé non è un dato strutturato separato.
Usa link nativi <a href="#target-id">. Avvolgi un gruppo a livello di pagina o locale in <nav aria-label="In questa pagina"> quando è una regione di navigazione distinta. Non aggiungere role="link" a un’ancora nativa. Ogni ID target deve essere univoco e l’href deve corrispondervi esattamente, inclusa la differenza tra maiuscole e minuscole.
Gli utenti da tastiera necessitano di un indicatore di focus visibile. I target touch necessitano di spaziatura sufficiente per evitare attivazioni accidentali. Il testo del link deve identificare la destinazione senza fare affidamento sul colore, sul testo vicino o su un attributo title. Se un controllo di copia permalink usa un pulsante, annuncia il successo senza spostare il focus inaspettatamente.
La navigazione tramite frammento deve lasciare l’intestazione di destinazione visibile sotto le intestazioni sticky. Preferisci CSS scroll-margin-top sui target. Lo scrolling fluido è opzionale e deve rispettare le preferenze di movimento ridotto. Evita JavaScript che annulla il comportamento nativo del link, rimuove il frammento dalla cronologia del browser o cambia la posizione di scroll senza aggiornare l’URL.
Non spostare automaticamente il focus per ogni clic di frammento ordinario; il comportamento nativo del browser dovrebbe rimanere prevedibile. Se un menu personalizzato o un disclosure si chiude dopo l’attivazione e il focus andrebbe altrimenti perso, sposta deliberatamente il focus su un target che possa riceverlo, come l’intestazione con tabindex="-1", poi testa con navigazione da tastiera e screen reader. Un controllo di navigazione persistente può indicare la destinazione corrente con aria-current="location", ma solo quando lo stato viene aggiornato accuratamente.
Regole di scrittura
Scrivi le destinazioni dopo che la struttura della pagina è stabile e prima che i link circolino. Usa la formattazione a frase e nomi o verbi concreti. Un’etichetta dovrebbe avere senso in isolamento perché i link copiati, gli elenchi di link dello screen reader e le citazioni automatiche possono rimuoverla dal suo contesto visivo originale.
- Usa da tre a dodici link in un gruppo visibile; preferisci da cinque a otto per un set di apertura compatto.
- Mantieni le etichette da due a dieci parole e sotto i 70 caratteri.
- Includi le destinazioni H2 per impostazione predefinita. Includi H3 solo quando risponde a un’esigenza indipendente.
- Mantieni un modello grammaticale all’interno di un gruppo: tutte domande, tutte frasi nominali o tutti verbi imperativi.
- Usa ID da uno a otto token minuscoli separati da trattino. Inizia con una lettera e ometti punteggiatura, emoji, segni diacritici, date che scadranno e numeri di posizione.
- Congela ogni ID pubblico. Un’intestazione visibile può cambiare senza cambiare il suo ID quando lo scopo della sezione rimane lo stesso.
- Non riutilizzare mai un ID ritirato per contenuti non correlati. Un vecchio link non deve sembrare funzionare mentre atterra su un’affermazione diversa.
- Non inserire mai citazioni, indicatori di nota a piè di pagina, prezzi, badge promozionali o affermazioni di urgenza in un’etichetta di navigazione.
- Non posizionare mai pulsanti, controlli di modulo, immagini o un altro link all’interno di un anchor link.
- Non usare mai “clicca qui”, “leggi di più”, “dettagli” o “sezione” come etichetta completa.
Quando una sezione viene rimossa, decidi cosa prometteva il vecchio frammento. Se il suo contenuto è stato spostato in una sezione equivalente sulla stessa pagina, preserva il vecchio ID come alias adiacente alla nuova destinazione, dove la piattaforma supporta più ancore. Se non esiste un equivalente, non collegare silenziosamente il vecchio ID a una sezione diversa. Registra la rimozione e aggiorna ogni riferimento interno noto.
Tipi di post che lo utilizzano
L’array postTypes nel frontmatter guida questa relazione. L’inclusione significa che il formato beneficia comunemente di destinazioni di sezione stabili; non richiede un elenco di salti visibile su ogni istanza breve.
| Tipo di post | Perché usa gli anchor link | Destinazioni tipiche |
|---|---|---|
| Guide complete | La copertura ampia crea diversi punti di ingresso legittimi e target di citazione. | Aree tematiche principali, metodi, limiti, passi successivi |
| Guide pratiche | I lettori rivisitano prerequisiti, fasi, verifica e percorsi di recupero. | Prerequisiti, fasi, risoluzione problemi, verifica |
| Articoli di documentazione | Il supporto e le interfacce dei prodotti spesso linkano direttamente a un’istruzione mantenuta. | Gruppi di configurazione, campi, errori, esempi |
| Hub FAQ | I visitatori arrivano con una domanda e hanno bisogno di un percorso breve verso il suo gruppo di risposte. | Categorie di domande e risposte individuali sostanziali |
| Report di benchmark | I risultati devono rimanere collegati a metodo, popolazione e limiti quando vengono condivisi. | Metodologia, coorti, risultati, limiti |
| Pagine policy | I lettori e i team citano singole regole, eccezioni e responsabilità. | Ambito, obblighi, eccezioni, date di efficacia |
| Indici di directory | Le grandi raccolte prevedibili beneficiano di salti alfabetici o per categoria. | Lettere, categorie, regioni, gruppi di entità |
Checklist QA
- La pagina ha un reale bisogno di navigazione non lineare; l’elenco non è decorativo.
- Ogni etichetta di link visibile descrive la sua destinazione quando letta da sola.
- Ogni href inizia con
#per un link sulla stessa pagina e corrisponde esattamente a un ID target esistente. - Ogni ID target è univoco, minuscolo, leggibile e privo di date transitorie o numeri di posizione.
- Gli ID pubblicati sono stati confrontati con la release precedente e rimangono invariati a meno che non sia documentata una migrazione.
- La ridenominazione di un’intestazione visibile preserva il suo vecchio ID quando lo scopo della sezione è invariato.
- Le destinazioni rimosse o unite non riutilizzano vecchi ID per contenuti diversi.
- Il gruppo contiene 3–12 elementi utili, tranne un indice locale A–Z giustificato.
- Le destinazioni H3 appaiono solo quando sono sostanziali e correttamente annidate sotto una H2.
- Il gruppo non è duplicato da un indice dei contenuti o da un componente di navigazione adiacente.
- La navigazione non interrompe un’intestazione e la sua risposta, un’affermazione e la sua evidenza, o una sequenza richiesta.
- Il gruppo utilizza link nativi e, quando distinto, un punto di riferimento di navigazione nominato.
- Il focus da tastiera è visibile e segue un ordine logico.
- L’intestazione di destinazione rimane visibile sotto le intestazioni sticky su desktop e mobile.
- Le impostazioni di movimento ridotto sono rispettate quando è presente lo scrolling fluido.
- I controlli di copia link nominano la destinazione e annunciano il successo senza perdere il focus.
- Il caricamento diretto di ogni URL completo più frammento atterra sulla sezione prevista dopo un caricamento fresco della pagina.
- I link interni in entrata noti, i segnalibri usati nel materiale di supporto e gli URL con frammento citati sono stati testati per regressioni dopo le modifiche.
Rifiuta la pubblicazione quando la pagina stessa si carica ma un frammento noto non si risolve più. Un’anchor rotta è un link in entrata rotto a livello di sezione, anche quando il monitoraggio a livello di pagina riporta una risposta riuscita.
FAQ
Le domande sopra coprono le decisioni di manutenzione che più spesso rompono la navigazione tramite ancora dopo la pubblicazione. Le loro risposte autorevoli vivono nel frontmatter strutturato [[faq]], così l’output FAQ visibile e qualsiasi output schema idoneo possano usare la stessa fonte.
Altri tutorial in questa sezione
Pronto a metterlo in pratica?
Verifica gratuita · Prova di 7 giorni · senza carta di credito