Ankertext: Links schreiben, die Google nutzen kann

Ankertext muss das Ziel zwischen a-Tags mit echtem href benennen. Hier sind der Test außerhalb des Kontexts, sechs Schritte und ein Skript für Links, die einem Crawler nichts geben.

Crawling und Indexierung6 Min. Lesezeit2070 Aufrufe
Ankertext: Links schreiben, die Google nutzen kann

Um einen Ankertext zu schreiben, den Google nutzen kann, setzt du zwischen die Tags eine Beschreibung des Ziels und stellst sicher, dass das umgebende Element ein <a> mit einem echten href ist. Das sind zwei getrennte Bedingungen, und sie scheitern getrennt: Ein Link mit perfekten Worten, aber ohne href, ist kein Link, und ein crawlbarer Link ohne Text sagt Google nicht, wohin er führt.

Dieses Kapitel setzt voraus, dass du bereits entschieden hast, welche Seiten auf welche verweisen; das ist eine Strukturfrage und steht in der Strategie für interne Verlinkung. Hier gehen wir eine Ebene tiefer zum Element selbst: das href, die Worte und die zwei Ersatzwege, die Google nennt, wenn die Worte fehlen.

Was Google tatsächlich in einem Link liest

Drei Dinge, in einer festen Reihenfolge. Die Seite „Make your links crawlable“, eingesehen am 29. Oktober 2026, beginnt mit der Elementregel: Google kann einen Link nur crawlen, wenn er ein <a>-Element mit einem href-Attribut ist. Danach nennt sie den Ankertext und dann zwei Ersatzwege für einen leeren Anker: das title-Attribut und, bei einem Link um ein Bild, das alt dieses Bildes. https://developers.google.com/search/docs/crawling-indexing/links-crawlable

EbeneWas nötig istWenn es fehlt
Element<a> mit einem hrefWird nicht als Link gecrawlt
href-WertEine Adresse, kein javascript:…Google „kann versuchen“, sie aufzulösen
TextWörter zwischen den TagsErsatz durch title
Bildlinkalt am inneren BildNichts mehr zum Lesen

Die Reihenfolge zählt, wenn du in großem Umfang korrigierst. Ein Icon-Link mit aria-label und ohne alt liest sich für einen Screenreader gut und hat keinen dokumentierten Namen für die Suche: aria-label kommt auf dieser Seite nirgends vor. Ein alt am inneren Bild behebt die Suchseite, ohne einen Pixel zu ändern.

Ein href entscheidet, ob der Link existiert. Der Text entscheidet seinen Wert.

Einen Ankertext schreiben, der allein verständlich bleibt

Google veröffentlicht den Test, und er dauert etwa zwei Sekunden pro Link: Lies nur den Ankertext, außerhalb des Kontexts, und prüfe, ob er spezifisch genug ist, um allein Sinn zu ergeben. Wenn du nicht weißt, worum es auf der Seite gehen könnte, brauchst du einen beschreibenderen Text. „Mehr erfahren“ scheitert. „Die Geschichte lesen“ scheitert. „Liste der GPTBot-User-Agents“ besteht, ebenso „unsere Rückerstattungsrichtlinie 2026“.

Dieselbe Seite warnt vor beiden Extremen: zu allgemeiner Text und „seltsam langer“ Text, bei dem der ganze Satz vom Link verschluckt wurde. Ziele auf drei bis sechs Wörter, die das Ziel benennen. Der Kontext bleibt im Satz drumherum, nicht im Anker.

Umsetzen: sechs Schritte auf einer Seite

Arbeite eine Seite nach der anderen ab, in dieser Reihenfolge. Die Schritte eins bis drei entfernen Links, die einem Crawler nichts geben; die Schritte vier bis sechs verbessern die, die bereits funktionieren.

  1. Liste jeden Anker der Seite auf und markiere zwei Bedingungen: kein href-Attribut und kein Text nach dem Zusammenziehen der Leerzeichen. Nutze das Skript unten oder die Browser-Konsole.
  2. Schreibe für jeden markierten Anker um ein Bild ein alt, das das Ziel beschreibt, nicht das Foto. Ein Miniaturlink zu einem Artikel sollte die Überschrift tragen.
  3. Lass jeden markierten Anker, der ein Bedienelement ist — Menüöffner, Abstimmbutton, Karussellpfeil — unangetastet und prüfe, ob das versteckte Ziel über einen normalen Link anderswo auf der Site erreichbar bleibt.
  4. Wende bei Ankern mit Text den Test außerhalb des Kontexts an. Schreibe Fehlschläge so um, dass sie das Ziel in drei bis sechs Wörtern benennen.
  5. Kürze jeden Ankertext über etwa 100 Zeichen auf den Teil, der die Sache benennt. Der umgebende Satz behält den Rest, und Googles Seite bittet ausdrücklich darum, den Kontext außerhalb des Links zu lassen.
  6. Prüfe, dass du nicht denselben Text für zwei Ziele oder zwei Texte für ein Ziel verwendest. Ein Ziel, eine Formulierung, konsequent verwendet.

Schritt sechs wird übersprungen und summiert sich. Wenn drei Seiten auf deine Preisseite als „Preise“, „Tarife“ und „Kosten ansehen“ verweisen, trägt jede Formulierung ein Drittel der Beschreibung, und eine Antwortmaschine, die diese Seite verstehen will, hat drei Teilnamen statt einem.

Ergebnis: das Skript und die Checkliste

Dieses Skript gibt jeden Anker einer Live-Seite aus, der einem Crawler nichts gibt: kein href, oder kein Text und kein Bild-alt. Es braucht nur 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')

Speichere es als linkcheck.py und starte python3 linkcheck.py https://deine-site.example/. Es liest das ausgelieferte HTML, und das ist der Punkt: Es sieht, was ein Crawler sieht, bevor ein Skript läuft.

PrüfungBedingung
ElementJedes Navigationsziel ist ein <a href>
Leerer TextNull, oder jedes hat ein Bild-alt
Ohne KontextDer Text benennt das Ziel allein
LängeEtwa 3 bis 8 Wörter, nicht der ganze Satz
KonsistenzEin Ziel, eine Formulierung
GedrängeKeine zwei Links ohne Wörter dazwischen

Drei Arten, es falsch zu machen

Alle drei kommen auf echten Produktionsseiten vor, und keine sieht im Browser kaputt aus.

  1. Ein Menüöffner ist kein Link. Er hat oft absichtlich kein href. Das ist für den Auslöser in Ordnung und fatal für die Seiten dahinter, wenn sie nirgends sonst auftauchen. Prüfe Footer und Sitemap, bevor du das Menü änderst.
  2. Ein Icon-Link nur mit aria-label besteht ein Accessibility-Audit und lässt die Suche leer, weil die dokumentierten Ersatzwege title und das Bild-alt sind. Behalte das aria-label; ergänze das alt.
  3. Ankertext über 100 Zeichen bedeutet meist, dass eine ganze Überschrift oder ein Absatz umschlossen wurde. Google bittet darum, den Kontext um den Link zu lassen, nicht hinein.

Wo das endet

Ankertext rettet keine Seite, die ein Crawler nicht erreicht, und er sagt nicht, wie viel ein einzelner Link wert ist. Googles Dokumentation beschreibt, was gelesen wird; sie veröffentlicht kein Gewicht, und keine ehrliche Checkliste kann eines liefern. Wir wissen nicht, welches Gewicht Google einem einzelnen Link gibt.

Wenn Seiten im Index fehlen, beginne eine Ebene höher mit der Prüfung der Erreichbarkeit für KI-Crawler: Erreichbarkeit zuerst, Formulierung danach. Dieses Kapitel setzt außerdem normale redaktionelle Links voraus; bezahlte und nutzergenerierte Links brauchen eine rel-Qualifizierung, die eine andere Regel ist.

Häufige Fragen

Wie viele Wörter sollte ein Ankertext haben?

Google nennt keine Zahl, nur zwei Richtungen, die du vermeiden sollst: zu allgemein und „seltsam lang“. Drei bis sechs Wörter benennen die meisten Ziele, und der Test außerhalb des Kontexts klärt den Rest.

Soll ich das Zielkeyword in jeden internen Link setzen?

Nein. Dieselbe Seite nennt Keyword-Stuffing einen Verstoß gegen die Spam-Richtlinien und fragt, ob die Leserin diese Wörter braucht, um die nächste Seite zu verstehen. Konsistenz schlägt Wiederholung: eine Formulierung pro Ziel, dort eingesetzt, wo sie in den Satz passt.

Reicht ein aria-label für einen Icon-Link?

Für Screenreader ja. Für die Suche wird es in Googles Dokumentation zum Linktext nicht genannt, und die zwei dokumentierten Ersatzwege sind title und das alt des inneren Bildes. Auf 27 gemessenen Startseiten war aria-label allein der häufigste Weg, einen textlosen Link zu benennen.

Zählen Links, die JavaScript hinzufügt?

Googles Seite sagt, sie seien crawlbar, „solange sie das gezeigte HTML-Markup verwenden“, also am Ende <a href> sind. Das Skript oben sieht sie nicht: Prüfe sie mit dem gerenderten HTML des URL-Inspection-Tools.

Wo gehört diese Arbeit in den Ablauf?

Nachdem du die Struktur in der Strategie für interne Verlinkung festgelegt hast und vor der Veröffentlichung. Der Promotion-Workflow hält veröffentlichte Seiten und ergänzte Links fest, damit die nächste Prüfung einen bekannten Zustand mit einem anderen vergleicht.

Teil von dem QueryWin-Handbuch · Stufe 2

Ankertext: Links schreiben, die Google nutzen kann