Hreflang-Tags prüfen
Die Funktion liest die hreflang-Tags im eingefügten HTML-Quelltext einer Seite und listet die Sprach- und Regionscodes samt Ziel-URL auf und zeigt, ob ein x-default-Tag gesetzt ist. Für alle, die mehrsprachige oder länderspezifische Seiten betreiben und die Sprachverweise durchsehen wollen, bevor Google sie falsch zuordnet.
Im Browser ausführen – kostenlos
Warum fehlerhafte hreflang-Tags teuer werden
Ein falscher Sprachcode oder eine relative statt absolute URL im hreflang-Tag führt dazu, dass Google den Verweis stillschweigend ignoriert, ohne eine sichtbare Fehlermeldung. Die betroffene Sprachversion verliert dadurch die Chance, in der passenden Landesversion der Suche zu erscheinen, oft ohne dass jemand den Fehler bemerkt, bis der Zugriff aus diesem Land über Wochen spürbar ausbleibt und niemand die Ursache sofort erkennt.
Was ausgelesen wird
Die Funktion sammelt jeden hreflang-Eintrag der Seite, listet zu jedem den Sprachcode und die angegebene Ziel-URL auf und markiert, ob ein x-default-Tag für Besucher ohne passende Sprachversion vorhanden ist. Ausgegeben wird die Liste aller gefundenen Einträge in der Reihenfolge, in der sie im Quelltext stehen, damit Sie einen vertippten Code oder eine fehlende Sprache selbst erkennen. Die Funktion bewertet die Codes nicht gegen die ISO-Tabellen und ruft die verlinkten Seiten nicht ab — sie zeigt, was deklariert ist, zur Durchsicht.
Was die Prüfung nicht leistet
Aus dem Quelltext einer Seite lassen sich die deklarierten hreflang-Tags vollständig auflisten, nicht aber, ob jede verlinkte Sprachversion ihrerseits korrekt auf alle übrigen Versionen zurückverweist – das setzt voraus, die Tags der anderen Seiten ebenfalls zu lesen und die Listen zu vergleichen, und gilt gleichermaßen für die Browser- und die API-Nutzung. Gerade bei Websites mit vier oder mehr Sprachversionen ist eine fehlende Rückverweisung ein häufiger, schwer von Hand zu findender Fehler.
Kostenlos im Browser, per URL über die API
Sie fügen den Quelltext einer Seite ein; das Auslesen der Sprachcodes und URLs läuft direkt in Ihrem Browser, kostenlos und ohne Limit, ohne Anmeldung, auch bei mehreren Seiten hintereinander an einem Tag oder über mehrere Wochen verteilt. Um statt eingefügtem Quelltext eine Live-URL auszulesen, ruft die API die angegebene Adresse ab und listet ihre hreflang-Tags — für $0.002 pro Anfrage, ideal im Deploy-Pipeline.
Anwendungsfälle
Neuer Länder-Rollout
Schneider IT-Systeme GmbH & Co. KG liest die hreflang-Tags der deutschen Seite aus, nachdem eine französische Version hinzugekommen ist, und sieht in der Liste einen falsch geschriebenen Sprachcode.
x-default für internationale Startseite
Ein Onlineshop mit mehreren Länderversionen prüft, ob die internationale Startseite korrekt als x-default markiert ist, für Besucher ohne passende Sprachversion.
Migration eines mehrsprachigen CMS
Nach dem Wechsel des CMS liest Katrin Baumann stichprobenartig die Tags mehrerer Seiten aus, um sicherzustellen, dass die hreflang-Tags bei der Migration nicht verloren gegangen sind.
Häufige Fragen
Was passiert bei einem falschen Sprachcode?
Google ignoriert den betroffenen hreflang-Verweis in der Regel stillschweigend, ohne Fehlermeldung. Die Seite bleibt dann ohne den beabsichtigten Sprachverweis in der Suche.
Prüft die Funktion auch die Rückverweise anderer Sprachversionen?
Nein. Sie liest die Tags einer Seite. Um die Rückverweise zu prüfen, lesen Sie auch die verlinkten Seiten aus und vergleichen die Listen — das gilt für die Browser- wie für die API-Nutzung.
Was ist ein x-default-Tag?
Er markiert die Version, die Besuchern ohne passende Sprach- oder Regionszuordnung gezeigt werden soll, meist die internationale oder englische Startseite.
Was kostet die Nutzung über die API?
$0.002 pro Anfrage; dabei ruft die API die angegebene URL ab und listet ihre hreflang-Tags auf. Das Einfügen von Quelltext im Browser bleibt kostenlos.
Bleibt der eingefügte Quelltext auf meinem Gerät?
Ja, bei der kostenlosen Nutzung verlässt er Ihren Browser nicht.
Ist dafür eine Anmeldung nötig?
Nein, weder für die kostenlose Prüfung im Browser noch für die API-Anfrage ist eine Anmeldung erforderlich.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/seo/hreflang-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'const res = await fetch("https://api.kit.forhosting.com/seo/hreflang-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://example.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/hreflang-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://example.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/hreflang-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://example.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/hreflang-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"url": "https://example.com"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.hreflang_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |