Texto âncora: como escrever links que o Google consegue usar
O texto âncora deve nomear o destino entre tags a com um href real. Veja o teste fora de contexto, seis passos e um script para encontrar links que não dão nada.

Para escrever um texto âncora que o Google consiga usar, coloque entre as tags uma descrição do destino e garanta que o elemento em volta seja um <a> com um href real. São dois requisitos separados e falham separadamente: um link com palavras perfeitas mas sem href não é link, e um link rastreável sem texto não diz ao Google para onde ele vai.
Este capítulo parte do princípio de que você já decidiu quais páginas apontam para quais; isso é estrutura e está na linkagem interna. Aqui descemos um nível, ao elemento: o href, as palavras e os dois substitutos que o Google nomeia quando faltam palavras.
O que o Google lê de verdade em um link
Três coisas, em uma ordem fixa. A página “Make your links crawlable”, consultada em 29 de outubro de 2026, começa pela regra do elemento: o Google só consegue rastrear um link se ele for um elemento <a> com um atributo href. Depois nomeia o texto âncora e, em seguida, dois substitutos para quando a âncora está vazia: o atributo title e, para um link em volta de uma imagem, o alt dessa imagem. https://developers.google.com/search/docs/crawling-indexing/links-crawlable
| Camada | O que deve ser | Se faltar |
|---|---|---|
| Elemento | <a> com um href | Não é rastreado como link |
| Valor do href | Um endereço, não javascript:… | O Google “pode tentar” resolver |
| Texto | Palavras entre as tags | Substituto com title |
| Link de imagem | alt na imagem interna | Não sobra nada para ler |
A ordem importa quando você corrige em lote. Um link de ícone com aria-label e sem alt é lido bem por um leitor de tela e não tem nome documentado para a busca: aria-label não aparece em lugar nenhum dessa página. Acrescentar o alt à imagem de dentro corrige o lado da busca sem mudar um pixel.
Um href decide se o link existe. O texto decide o valor.
Como escrever um texto âncora que se entende sozinho
O Google publica o teste, e ele leva uns dois segundos por link: leia apenas o texto âncora, fora de contexto, e verifique se ele é específico o bastante para fazer sentido sozinho. Se você não sabe do que a página poderia tratar, precisa de um texto mais descritivo. “Ver mais” falha. “Ler a história” falha. “Lista de user agents do GPTBot” passa, assim como “nossa política de reembolso de 2026”.
A mesma página alerta contra os dois extremos: texto genérico demais e texto “estranhamente longo”, em que a frase inteira foi engolida pelo link. Mire em três a seis palavras que nomeiem o destino. O contexto fica na frase em volta, não dentro da âncora.
Fazer: seis passos em uma página
Trabalhe uma página por vez, nesta ordem. Os passos um a três removem links que não dão nada a um rastreador; os passos quatro a seis melhoram os que já funcionam.
- Liste cada âncora da página e marque duas condições: sem atributo
hrefe sem texto depois de colapsar os espaços. Use o script abaixo ou o console do navegador. - Para cada âncora marcada que envolve uma imagem, escreva um
altque descreva o destino, não a foto. Um link em miniatura para um artigo deve levar o título do artigo. - Para cada âncora marcada que é um controle —abridor de menu, botão de voto, seta de carrossel— não mexa e confirme que o destino escondido continua acessível por um link normal em outra parte do site.
- Para as âncoras que têm texto, aplique o teste fora de contexto. Reescreva as falhas para nomear o destino em três a seis palavras.
- Corte qualquer texto âncora com mais de uns 100 caracteres até a parte que nomeia a coisa. A frase em volta guarda o resto, e a página do Google pede explicitamente para deixar o contexto fora do link.
- Verifique se você não repetiu o mesmo texto para dois destinos, nem dois textos para um único destino. Um destino, uma frase, usada de forma consistente.
O passo seis é o que as pessoas pulam, e o que compõe. Se três páginas apontam para sua página de preços como “preços”, “planos” e “ver custos”, cada frase carrega um terço da descrição, e um motor de respostas que tenta entender essa página tem três nomes parciais em vez de um.
Entregável: o script e a lista de verificação
Este script imprime cada âncora de uma página ao vivo que não dá nada a um rastreador: sem href, ou sem texto e sem alt de imagem. Ele não precisa de nada além de 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')
Salve como linkcheck.py e rode python3 linkcheck.py https://seu-site.example/. Ele lê o HTML entregue, e esse é o ponto: vê o que um rastreador vê antes de qualquer script rodar.
| Verificação | Condição |
|---|---|
| Elemento | Cada destino de navegação é um <a href> |
| Texto vazio | Zero, ou cada um tem um alt de imagem |
| Fora de contexto | O texto nomeia o destino sozinho |
| Comprimento | Cerca de 3 a 8 palavras, não a frase inteira |
| Consistência | Um destino, uma frase |
| Amontoamento | Sem dois links colados sem palavras entre eles |
Três formas de errar
As três aparecem em sites reais em produção, e nenhuma parece quebrada no navegador.
- Um botão de abrir menu não é um link. Muitas vezes não tem
hrefpor projeto. Isso é aceitável para o gatilho e fatal para as páginas de trás se elas não aparecerem em nenhum outro lugar. Confira o rodapé e o sitemap antes de mudar o menu. - Um link de ícone com apenas um
aria-labelpassa em uma auditoria de acessibilidade e deixa a busca sem nada, porque os substitutos documentados sãotitlee oaltda imagem. Mantenha oaria-label; acrescente oalt. - Um texto âncora com mais de 100 caracteres normalmente significa que um título ou um parágrafo inteiro foi envolvido. O Google pede para manter o contexto em volta do link, não dentro dele.
Onde isso termina
O texto âncora não salva uma página que um rastreador não consegue alcançar, e não diz quanto vale um link específico. A documentação do Google descreve o que ele lê; não publica um peso, e nenhuma lista honesta pode fornecer um. Não sabemos que peso o Google dá a um link específico.
Se faltam páginas no índice, comece uma camada acima com a verificação de acessibilidade para rastreadores de IA: acessibilidade primeiro, redação depois. Este capítulo também pressupõe links editoriais comuns; links pagos e gerados por usuários precisam de qualificação rel, que é outra regra.
Perguntas frequentes
Quantas palavras deve ter um texto âncora?
O Google não dá um número, apenas duas direções a evitar: genérico demais e “estranhamente longo”. Três a seis palavras nomeiam a maioria dos destinos, e o teste fora de contexto resolve o resto.
Devo colocar a palavra-chave alvo em cada link interno?
Não. A mesma página classifica o excesso de palavras-chave como violação das políticas anti-spam e pergunta se o leitor precisa dessas palavras para entender a próxima página. Consistência vence repetição: uma frase por destino, usada onde cabe na oração.
Um aria-label basta para um link de ícone?
Para leitores de tela, sim. Para busca, ele não é nomeado na documentação do Google sobre texto de links, e os dois substitutos documentados são title e o alt da imagem interna. Em 27 páginas iniciais medidas, aria-label sozinho era a forma mais comum de nomear um link sem texto.
Links adicionados por JavaScript contam?
A página do Google diz que são rastreáveis “desde que use a marcação HTML mostrada”, ou seja, que acabem como <a href>. O script acima não os verá: verifique com o HTML renderizado da ferramenta de inspeção de URL.
Onde este trabalho entra no fluxo?
Depois de decidir a estrutura na linkagem interna e antes de publicar. O fluxo de divulgação guarda o rastro das páginas publicadas e dos links adicionados, para que a próxima verificação compare um estado conhecido com outro.
Faz parte do guia do QueryWin · Nível 2


