Überschriftenstruktur prüfen
Die Funktion liest den eingefügten HTML-Quelltext einer Seite und stellt die Überschriften H1 bis H6 als Baumstruktur dar. Sie zeigt, ob genau ein H1 vorhanden ist, ob eine Ebene übersprungen wird und ob Überschriften leer sind. Für alle, die die Gliederung einer Seite auf einen Blick prüfen wollen.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Was eine saubere Struktur ausmacht
Eine Seite sollte genau ein H1 tragen, das den Hauptinhalt benennt, gefolgt von H2 für die Hauptabschnitte und H3 für Unterpunkte darin, ohne eine Ebene zu überspringen. Die Funktion stellt die gefundenen Überschriften in ihrer tatsächlichen Reihenfolge und Verschachtelung dar, sodass sich Abweichungen von diesem Muster sofort erkennen lassen, statt den Quelltext Zeile für Zeile von Hand durchzusehen. Diese Baumdarstellung zeigt zugleich, wie ein Screenreader oder ein Suchmaschinen-Crawler die Gliederung der Seite vermutlich liest.
Häufige Fehler, die die Funktion markiert
Erkannt werden unter anderem mehrere H1 auf derselben Seite, ein fehlendes H1, übersprungene Ebenen wie ein H4 direkt nach einem H2 sowie leere Überschriften-Tags ohne sichtbaren Text. Jeder Fund erscheint mit der betroffenen Zeile aus dem eingefügten Quelltext, damit sich die Stelle im eigenen CMS schnell wiederfinden lässt, ohne die gesamte Seite erneut durchsuchen zu müssen. Gerade bei umgebauten Vorlagen häufen sich solche Fehler unbemerkt über die Zeit.
So fügen Sie den Quelltext ein
Sie öffnen die Seite im Browser, rufen mit der rechten Maustaste „Seitenquelltext anzeigen“ auf, kopieren den HTML-Code und fügen ihn hier ein. Ein Ausschnitt reicht ebenso wie die vollständige Seite; die Funktion sucht ausschließlich nach den Überschriften-Tags und ignoriert den übrigen Inhalt, etwa Navigation, Werbeflächen oder eingebundene Skripte. Ein Firefox- oder Chrome-Browser reicht dafür vollkommen aus, eine Entwicklerumgebung ist nicht nötig.
Kostenlos und ohne Übertragung
Die Prüfung läuft direkt in Ihrem Browser: Der eingefügte Quelltext verlässt Ihren Browser nicht. Die manuelle Nutzung ist kostenlos und ohne Limit, ohne Anmeldung, egal wie oft Sie die Funktion an einem Tag nutzen. Wer stattdessen nur eine URL angeben und die Seite automatisch abrufen lassen möchte, statt den Quelltext selbst zu kopieren, nutzt dafür die kostenpflichtige API-Anfrage für $0.002.
Anwendungsfälle
Neue Vorlage vor dem Rollout prüfen
Sabine Schneider fügt den Quelltext einer neuen Blog-Vorlage ein und stellt fest, dass die Vorlage zwei H1 erzeugt, bevor die Vorlage auf alle Artikel ausgerollt wird.
Alten Artikel überarbeiten
Thomas Müller prüft einen mehrere Jahre alten Artikel und findet ein übersprungenes H3, das er beim Überarbeiten des Textes korrigiert.
Redaktionsrichtlinie durchsetzen
Eine Redaktion prüft stichprobenartig neue Beiträge freier Autoren, bevor sie veröffentlicht werden, um eine einheitliche Überschriftenstruktur sicherzustellen.
Häufige Fragen
Muss ich die ganze Seite einfügen?
Nein. Ein Ausschnitt mit den relevanten Überschriften reicht aus, die Funktion sucht ausschließlich nach den Tags H1 bis H6.
Was gilt als Fehler in der Struktur?
Mehrere H1, ein fehlendes H1, übersprungene Ebenen und leere Überschriften-Tags. Jeder Fund wird einzeln aufgeführt.
Verlässt der eingefügte Quelltext meinen Browser?
Nein, beim kostenlosen Einfügen nicht. Die Verarbeitung geschieht direkt auf dieser Seite in Ihrem Browser.
Kann ich stattdessen nur eine URL angeben?
Ja, über die API, für $0.002 pro Anfrage. Die Seite wird dann automatisch abgerufen, statt den Quelltext selbst einzufügen.
Ist die Nutzung im Browser wirklich unbegrenzt?
Ja, ohne Limit und ohne Anmeldung. Nur die Prüfung per URL über die API kostet.
Ist dafür eine Registrierung notwendig?
Nein, für die kostenlose Nutzung im Browser ist keine Registrierung vorgesehen.
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/headings \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/seo/headings", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/headings",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/headings", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/headings", 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://ejemplo.com"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.headings",
"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. |