Weiterleitungsplan prüfen
Eine Weiterleitungstabelle kann Zeile für Zeile richtig wirken und trotzdem eine Schleife enthalten, die Crawler festhält, oder dieselbe Quelle zwei verschiedenen Zielen zuweisen.
Im Browser ausführen – kostenlos
Fügen Sie den CSV- oder TSV-Plan ein, um den gesamten Graphen vor der Veröffentlichung zu untersuchen. Der Bericht ordnet jeden Befund seinem Datensatz zu, verfolgt eindeutige Wege bis zum Endziel und stoppt ausdrücklich, wenn es kein wahrheitsgemäßes Endziel gibt.
Prüfen Sie den Plan, bevor der Verkehr umzieht
Weiterleitungsfehler lassen sich am günstigsten beheben, solange der Plan noch eine Datei ist. Das Werkzeug liest Quelle, Ziel und einen optionalen HTTP-Status aus jedem Datensatz und erstellt daraus den gerichteten Graphen, den die Regeln nach dem Start ergeben würden. Es meldet ungültige Pfade, nicht zugelassene Statuscodes, eine Quelle mit widersprüchlichen Zielen und Selbstweiterleitungen. Da die Analyse offline erfolgt, werden weder Test- noch Produktionsadressen aufgerufen und die Datei wird nicht verändert. Das Ergebnis eignet sich für Ihre Migrationsprüfung, eine Freigabe-Checkliste oder eine automatisierte Qualitätskontrolle, ohne unveröffentlichte Pfade an Dritte zu übertragen.
Unterscheiden Sie Ketten, Schleifen und Endziele
Jede verwendbare Quelle wird verfolgt, bis ein Ziel erreicht ist, das nicht erneut als Quelle vorkommt. Ein Weg mit einem Sprung ist direct. Längere Wege sind chain und enthalten Sprungzahl, vollständigen Pfad sowie final_target, damit Sie die Kette bewusst auf ein direktes Ziel verkürzen können. Eine Schleife hat dagegen kein Ende. Bei einem Kreis aus zwei Seiten, einem längeren Zyklus oder einem Weg in diesen Zyklus zeigt die Ausgabe cycle und den wiederholten Abschnitt, lässt final_target jedoch weg. Auch mehrdeutige Quellen und Selbstweiterleitungen erhalten kein erfundenes Ziel.
Verwenden Sie vorsichtige CSV- und URL-Regeln
Als Trennzeichen sind Komma, Semikolon, Tabulator und senkrechter Strich möglich. Felder in Anführungszeichen, verdoppelte Anführungszeichen und äußere Leerzeichen werden berücksichtigt. Die automatische Erkennung bevorzugt eine Kopfzeile mit source und target; für besondere Exporte wählen Sie das Zeichen ausdrücklich. Quellen und Ziele dürfen absolute HTTP- oder HTTPS-URLs oder mit einem Schrägstrich beginnende Pfade sein. Geben Sie base_url an, wenn beide Schreibweisen in einem Graphen verglichen werden sollen. Großschreibung im Pfad, Abfragen und kodierte Zeichen bleiben erhalten, damit keine aggressive Normalisierung getrennte Adressen verbindet. Feste Byte- und Zeilenobergrenzen stoppen übergroße Pläne vor der Traversierung.
Anwendungsfälle
Kontrolle vor dem Website-Umzug
Prüfen Sie den Export einer Agentur, eines CMS oder einer Crawl-Inventur, bevor DNS, Vorlagen oder Serverregeln geändert werden.
Laufende Qualitätssicherung
Führen Sie denselben deterministischen Bericht bei jeder Freigabe aus und halten Sie widersprüchliche Quellen oder Schleifen von der Produktion fern.
Historische Ketten verkürzen
Nutzen Sie Pfad, Sprungzahl und Endziel, um mehrstufige Wege durch eine geprüfte direkte Weiterleitung zu ersetzen.
Häufige Fragen
Ruft die Prüfung Quellen oder Ziele im Internet auf?
Nein. Der Text wird als Offline-Graph analysiert. Das Werkzeug folgt keinen aktiven Weiterleitungen, prüft keine HTTP-Antworten, bestätigt kein Ziel und sendet keine unveröffentlichten Pfade über das Netz.
Was geschieht bei einer Weiterleitungsschleife?
Die betroffene Auflösung erhält den Status cycle und zeigt den wiederholten Pfad. final_target fehlt absichtlich, weil eine Schleife kein Endziel besitzt.
Welche Statuscodes sind zulässig?
Die optionale Codespalte muss genau `status` heißen; `code` und `status_code` werden nicht erkannt. Sie akzeptiert 301, 302, 307 und 308. Ein leeres Feld wird als 301 behandelt; ein anderer Wert erscheint als ungültiger Status in seiner Zeile.
Darf der Plan relative Pfade und absolute URLs mischen?
Ja, doch geben Sie base_url an, wenn beide zu demselben Graphen gehören. Ohne Basis erscheint eine Warnung, weil die Domain eines Pfades nicht geraten werden darf.
Ist das Werkzeug kostenlos?
Das Browserwerkzeug läuft lokal und kostenlos auf Desktop- und Mobilgeräten. Die API-Automatisierung verwendet denselben Vertrag und zieht den veröffentlichten Preis $0.002 vom vorausbezahlten KIT-Guthaben ab.
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/redirect-map-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mapping":"source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"}'const res = await fetch("https://api.kit.forhosting.com/seo/redirect-map-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mapping": "source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/redirect-map-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mapping": "source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/redirect-map-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mapping":"source,target,status\\n/old-page,/new-page,301\\n/new-page,/final-page,301"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mapping":"source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/redirect-map-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"mapping": "source,target,status\n/old-page,/new-page,301\n/new-page,/final-page,301"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.redirect_map_validate",
"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.
Limits
max_bytes | 1048576 |
max_rows | 10000 |
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. |