Testo ancora: come scrivere link che Google può usare
Il testo ancora deve nominare la destinazione tra tag a con un href reale. Ecco il test fuori contesto, sei passi e uno script per trovare i link che non danno nulla.

Per scrivere un testo ancora che Google possa usare, metti tra i tag una descrizione della destinazione e assicurati che l’elemento intorno sia un <a> con un href reale. Sono due requisiti distinti e falliscono separatamente: un link con parole perfette ma senza href non è un link, e un link scansionabile senza testo non dice a Google dove porta.
Questo capitolo presuppone che tu abbia già deciso quali pagine collegano quali; è una questione di struttura e viene trattata nella strategia di link interno. Qui scendiamo di un livello, all’elemento: l’href, le parole e i due ripieghi che Google nomina quando le parole mancano.
Cosa legge davvero Google in un link
Tre cose, in un ordine fisso. La pagina «Make your links crawlable», consultata il 29 ottobre 2026, apre con la regola dell’elemento: Google può scansionare un link solo se è un elemento <a> con un attributo href. Poi nomina il testo ancora e quindi due ripieghi per quando l’ancora è vuota: l’attributo title e, per un link che avvolge un’immagine, l’alt di quell’immagine. https://developers.google.com/search/docs/crawling-indexing/links-crawlable
| Livello | Cosa serve | Se manca |
|---|---|---|
| Elemento | <a> con un href | Non viene scansionato come link |
| Valore href | Un indirizzo, non javascript:… | Google «può tentare» di risolverlo |
| Testo | Parole tra i tag | Ripiego su title |
| Link immagine | alt sull’immagine interna | Non resta nulla da leggere |
L’ordine conta quando correggi in blocco. Un link icona con aria-label e senza alt si legge bene con uno screen reader e non ha un nome documentato per la ricerca: aria-label non compare da nessuna parte in quella pagina. Aggiungere l’alt all’immagine interna corregge il lato ricerca senza cambiare un pixel.
Un href decide se il link esiste. Il testo decide il valore.
Come scrivere un testo ancora che si capisce da solo
Google pubblica il test, e richiede circa due secondi per link: leggi solo il testo ancora, fuori contesto, e verifica se è abbastanza specifico da avere senso da solo. Se non sai di cosa potrebbe parlare la pagina, serve un testo più descrittivo. «Scopri di più» fallisce. «Leggi la storia» fallisce. «Elenco degli user agent di GPTBot» passa, come «la nostra politica di rimborso 2026».
La stessa pagina mette in guardia dai due estremi: testo troppo generico e testo «stranamente lungo», in cui l’intera frase è stata inghiottita dal link. Punta a tre-sei parole che nominano la destinazione. Il contesto resta nella frase intorno, non dentro l’ancora.
Fare: sei passi su una pagina
Lavora una pagina alla volta, in questo ordine. I passi da uno a tre tolgono i link che non danno nulla a un crawler; i passi da quattro a sei migliorano quelli che già funzionano.
- Elenca ogni ancora della pagina e segnala due condizioni: nessun attributo
href, e nessun testo dopo aver compresso gli spazi. Usa lo script qui sotto o la console del browser. - Per ogni ancora segnalata che avvolge un’immagine, scrivi un
altche descrive la destinazione, non la foto. Un link in miniatura a un articolo deve portare il titolo dell’articolo. - Per ogni ancora segnalata che è un controllo — apertura menu, pulsante di voto, freccia del carosello — non toccarla e verifica che la destinazione nascosta resti raggiungibile tramite un link normale altrove nel sito.
- Per le ancore che hanno testo, applica il test fuori contesto. Riscrivi i fallimenti per nominare la destinazione in tre-sei parole.
- Taglia qualsiasi testo ancora oltre circa 100 caratteri fino alla parte che nomina la cosa. La frase intorno conserva il resto, e la pagina di Google chiede esplicitamente di lasciare il contesto fuori dal link.
- Verifica di non aver ripetuto lo stesso testo per due destinazioni, né due testi per una sola destinazione. Una destinazione, una formulazione, usata in modo coerente.
Il sesto passo è quello che si salta, e quello che si accumula. Se tre pagine collegano la pagina prezzi come «prezzi», «piani» e «vedi i costi», ogni formulazione porta un terzo della descrizione, e un motore di risposte che cerca di capire quella pagina ha tre nomi parziali invece di uno.
Consegna: lo script e la checklist
Questo script stampa ogni ancora di una pagina live che non dà nulla a un crawler: senza href, oppure senza testo e senza alt dell’immagine. Non serve altro che Python 3.
import sys, urllib.request
from html.parser import HTMLParser
class Links(HTMLParser):
def __init__(self):
super().__init__(convert_charrefs=True)
self.rows, self.cur = [], None
def handle_starttag(self, tag, attrs):
a = dict(attrs)
if tag == "a":
self.cur = {"href": a.get("href"), "text": "",
"aria": (a.get("aria-label") or "").strip(),
"img": (a.get("title") or "").strip()}
elif tag == "img" and self.cur is not None:
self.cur["img"] = (a.get("alt") or "").strip()
def handle_data(self, d):
if self.cur is not None:
self.cur["text"] += d
def handle_endtag(self, tag):
if tag == "a" and self.cur is not None:
self.rows.append(self.cur)
self.cur = None
req = urllib.request.Request(sys.argv[1], headers={"User-Agent": "Mozilla/5.0"})
page = urllib.request.urlopen(req, timeout=30).read().decode("utf-8", "replace")
p = Links()
p.feed(page)
bad = 0
for r in p.rows:
named = r["text"].strip() or r["img"]
if r["href"] is None or not named:
bad += 1
why = "no href" if r["href"] is None else "no text"
print(f'{why:8} {(r["text"].strip() or r["aria"] or "")[:40]:40} {(r["href"] or "")[:50]}')
print(f'{bad} of {len(p.rows)} anchors give a crawler nothing')
Salvalo come linkcheck.py ed esegui python3 linkcheck.py https://tuo-sito.example/. Legge l’HTML consegnato, e questo è il punto: vede ciò che vede un crawler prima che qualsiasi script venga eseguito.
| Controllo | Condizione |
|---|---|
| Elemento | Ogni destinazione di navigazione è un <a href> |
| Testo vuoto | Zero, oppure ognuno ha un alt dell’immagine |
| Fuori contesto | Il testo nomina la destinazione da solo |
| Lunghezza | Circa 3-8 parole, non la frase intera |
| Coerenza | Una destinazione, una formulazione |
| Affollamento | Nessuna coppia di link attaccati senza parole tra loro |
Tre modi di sbagliare
Tutti e tre compaiono su siti reali in produzione, e nessuno sembra rotto nel browser.
- Un pulsante di apertura menu non è un link. Spesso non ha
hrefper progetto. Va bene per il trigger ed è fatale per le pagine dietro se non compaiono altrove. Controlla footer e sitemap prima di cambiare il menu. - Un link icona con solo un
aria-labelpassa un audit di accessibilità e lascia la ricerca senza nulla, perché i ripieghi documentati sonotitlee l’altdell’immagine. Mantieni l’aria-label; aggiungi l’alt. - Un testo ancora oltre 100 caratteri di solito significa che è stato avvolto un titolo o un paragrafo intero. Google chiede di tenere il contesto intorno al link, non dentro.
Dove si ferma
Il testo ancora non salva una pagina che un crawler non può raggiungere, e non dice quanto vale un singolo link. La documentazione di Google descrive ciò che legge; non pubblica un peso, e nessuna checklist onesta può fornirlo. Non sappiamo quale peso Google dia a un singolo link.
Se mancano pagine nell’indice, parti un livello sopra con la verifica di raggiungibilità per i crawler IA: raggiungibilità prima, formulazione dopo. Questo capitolo presuppone anche link editoriali normali; i link a pagamento e generati dagli utenti richiedono una qualificazione rel, che è un’altra regola.
Domande frequenti
Quante parole deve avere un testo ancora?
Google non dà un numero, solo due direzioni da evitare: troppo generico e «stranamente lungo». Tre-sei parole nominano la maggior parte delle destinazioni, e il test fuori contesto risolve il resto.
Devo mettere la keyword obiettivo in ogni link interno?
No. La stessa pagina classifica il keyword stuffing come violazione delle politiche anti-spam e chiede se il lettore ha bisogno di quelle parole per capire la pagina successiva. La coerenza batte la ripetizione: una formulazione per destinazione, usata dove entra nella frase.
Basta un aria-label per un link icona?
Per gli screen reader, sì. Per la ricerca, non è nominato nella documentazione Google sul testo dei link, e i due ripieghi documentati sono title e l’alt dell’immagine interna. Su 27 homepage misurate, aria-label da solo era il modo più comune di nominare un link senza testo.
I link aggiunti da JavaScript contano?
La pagina di Google dice che sono scansionabili «purché usino il markup HTML mostrato», cioè finiscano come <a href>. Lo script qui sopra non li vede: verificali con l’HTML renderizzato dello strumento di ispezione URL.
Dove si colloca questo lavoro nel flusso?
Dopo aver deciso la struttura nella strategia di link interno e prima di pubblicare. Il flusso di promozione tiene traccia delle pagine pubblicate e dei link aggiunti, così la prossima verifica confronta uno stato noto con un altro.
Fa parte di del manuale di QueryWin · Livello 2


