Zum Inhalt springen

Backlink-Daten als JSON: $100 Guthaben, keine Karte erforderlich, Anmeldung mit Google.

SEOMasters.dev
SEOMasters.devRegistrieren

Check my backlink hat nichts zurückgegeben: Eine Fehlerübersicht

Ihr Tool ist nur so stabil, wie seine Fehlerbehandlung. Im Folgenden finden Sie die tatsächlichen Ausfälle, die genaue Ursache und die Frage, ob eine Wiederholung sinnvoll ist.

Vier verschiedene industrielle Vorhängeschlösser, die an einem Gestell hängen und verschiedene Fehlerzustände repräsentieren

Die Regel, die die meisten Fälle abdeckt

Wiederholen Sie Netzwerkfehler. Wiederholen Sie niemals 401 oder 402. Die erste Art behebt sich selbst innerhalb von Sekunden; die zweite erfordert einen Menschen, und das ständige Wiederholen füllt nur Ihre Logs.

Jede JSON-Antwort enthält ein Feld ok, und authentifizierte Antworten fügen _credits mit den Kosten des Aufrufs und dem verbleibenden Guthaben hinzu. Prüfen Sie ok im Antwortkörper, auch wenn der HTTP-Status korrekt aussieht.

Die unten genannten Wiederholungszeiten sind unsere ingenieurtechnische Empfehlung, keine dokumentierten Limits. Die von uns vorliegende API-Dokumentation veröffentlicht kein Rate Limit, also erstellen Sie Ihre eigene Obergrenze und halten Sie sie bescheiden.

Warum 401 und 402 nie wiederholt werden

Ein 401 ist ein Schlüsselproblem, und ein 402 ist ein Guthabenproblem. Keines von beiden klärt sich zwischen zwei Versuchen im Abstand einer Sekunde, sodass eine Wiederholung nur Rauschen in Ihren Logs erzeugt.

Warten behebt auch kein 402. Das Guthaben bleibt unverändert, bis jemand es über die Kontoseite auflädt. Die einzige sinnvolle Reaktion ist eine klare Meldung und eine Benachrichtigung für die verantwortliche Person.

Ein 401 verdient eine Prüfung des Headers oder des Schlüsselparameters sowie die Überprüfung, ob der Schlüssel nicht ersetzt wurde. Dieselben falschen Schlüssel mehrmals zu wiederholen, beweist nichts.

Ein falscher Schlüssel und ein leeres Guthaben sehen in Ihrem Dashboard auch unterschiedlich aus. Legen Sie separate Warnungen an, damit die Person, die das Guthaben auflädt, nicht durch einen Tippfehler geweckt wird und die Person, die Schlüssel rotiert, nicht wegen des Guthabens alarmiert wird.

Netzwerkfehler und Backoff

Ein Timeout oder eine Verbindungsunterbrechung kann von selbst behoben werden, daher sind dies die einzigen Fälle, die einen weiteren Versuch wert sind. Warten Sie 1, 2, 4 und dann 8 Sekunden, fügen Sie etwas Jitter hinzu und stoppen Sie nach dem vierten Versuch.

Diese Zeiten sind unsere Empfehlung, kein dokumentiertes Limit. Halten Sie Ihre eigene Obergrenze ein, protokollieren Sie jede Wiederholung und alarmieren Sie bei steigenden Wiederholungsraten, da eine steigende Wiederholungsrate meist das erste Anzeichen für ein Problem in der Upstream-Infrastruktur ist.

Halten Sie das Timeout auf Ihrer Seite explizit in einer benannten Konstanten. Ein implizites Standardwert, der sich bei einer Library-Aktualisierung ändert, ist eine häufige Ursache dafür, dass ein nächtlicher Job nur auf einer einzigen Maschine zu fehlerhaften Ergebnissen führt.

Beobachten Sie auch die Antwortzeit des Upstreams sowie die Fehlerquote. Eine langsame Antwort, die nie fehlschlägt, kann Ihre Worker trotzdem blockieren, und eine Wiederholungsschleife verschlimmert diese Verlangsamung noch.

Symptom, Ursache, Reaktion

SymptomUrsacheWiederholen?Maßnahme
HTTP 401Schlüssel fehlt, falsch eingegeben oder widerrufenNeinPrüfen Sie den Header oder den Wert key= und dann die Kontoseite
HTTP 402Guthaben aufgebrauchtNeinAufladen in USDT (TRC-20) über die Kontoseite; derselbe Schlüssel funktioniert weiter
ok ist nicht wahr bei HTTP 200Fehlerhafter Parameter, z. B. eine URL, wo eine Domain erwartet wirdNeinValidieren Sie die Eingabe; senden Sie example.com, nicht https://example.com/page
Timeout oder VerbindungsunterbrechungNetzwerk- oder Upstream-StörungJa, 3 bis 4 MalBackoff 1, 2, 4, 8 Sekunden mit Jitter
Leeres Ergebnis für eine neue SeiteNoch nicht im Index; Aktualisierung monatlichNeinZeigen Sie „noch nicht indexiert“ mit dem Indexdatum an
Die Zahl unterscheidet sich von einem anderen ToolVerschiedener Index und eine andere DR-FormelNeinVergleichen Sie Trends innerhalb eines Tools, siehe DR-Referenz
Die Zeilen enden bei 50.000PaginierungsgrenzeNeinSiehe Hinweise zur Paginierung
Das Guthaben sinkt schneller als geplantBezahlte Aktion in einer Schleife oder ein 3-Credit-Aufruf auf einem Hot Pathn. a.Protokollieren Sie _credits, Aktionen auf eine Whitelist setzen
Tipp: Zuerst mit cURL testen

Bevor Sie Ihrem Code die Schuld geben, fügen Sie die fehlerhafte URL in cURL mit demselben Schlüssel ein. Wenn es dort funktioniert, liegt der Fehler in Ihrem Client. Wenn es dort auch fehlschlägt, finden Sie die Antwort in der Tabelle. Diese Prüfung hat mehr Tickets gelöst als jede Log-Suche.

Ein Debugging-Lauf, in der richtigen Reihenfolge

  1. 1

    Mit cURL reproduzieren

    Nehmen Sie die fehlerhafte URL aus Ihrer App und führen Sie sie manuell mit demselben Schlüssel aus. Wenn cURL funktioniert, ist Ihr Code das Problem.

  2. 2

    Versuchen Sie eine kostenlose Aktion

    overview für dieselbe Domain benötigt keinen Schlüssel. Wenn es antwortet, ist der Index in Ordnung und das Problem liegt bei der Authentifizierung oder dem Guthaben.

  3. 3

    Guthaben lesen

    Ein 402 ist eindeutig, aber ein fehlgeschlagener bezahlter Aufruf nach einem erfolgreichen kostenlosen Aufruf deutet meist auf Guthaben oder einen Tippfehler im Schlüssel hin.

  4. 4

    Die Eingabe prüfen

    Kleinbuchstaben, kein Schema, kein Pfad, kein abschließender Punkt. Die meisten ok-Fehler enden hier.

Hände, die einen rauen Ast auf einer Holzwerkbank zu einer glatten Form schleifen

Normalisieren Sie die Domain vor dem Aufruf

Die meisten fehlgeschlagenen Aufrufe beginnen im Eingabefeld, nicht im Netzwerk. Benutzer fügen ein, was sie kopiert haben, und Ihr Code muss dies in eine reine Domain umwandeln, bevor die API sie sieht.

Schema und Pfad entfernen

Entfernen Sie das Schema, jeden Pfad und die Abfragezeichenfolge. Eine eingefügte Artikeladresse wird zu ihrem Host, und nur der Host geht nach oben.

Konvertieren Sie den Host auch in Kleinbuchstaben. Halten Sie die Bereinigung in einer Funktion, damit dieselbe Regel im Formular, im Batch-Job und in den Tests ausgeführt wird.

Testen Sie die Bereinigung mit fünf oder sechs echten eingefügten Eingaben, darunter eine mit einem abschließenden Schrägstrich und eine mit einer Abfragezeichenfolge. Diese Fälle decken die Fehler auf, die ein sauberes Beispiel nie zeigt.

Entscheiden Sie einmal, was mit www. zu tun ist.

Wählen Sie eine Regel für www. und wenden Sie sie in einer einzigen Funktion an, damit dieselbe Seite nie unter zwei Schreibweisen abgefragt wird.

Schreiben Sie die Regel neben die Funktion. Der nächste Entwickler, der auf einen fehlgeleiteten www-Stoß stößt, findet dann die Entscheidung, nicht eine zweite Meinung.

Welche Regel Sie auch wählen, halten Sie sie in einer Datei und schreiben Sie einen Test dafür. Der Test ist die Aufzeichnung der Entscheidung und er ist kurz.

Verwerfen Sie, was keine Domain sein kann

Verweigern Sie Eingaben mit Leerzeichen oder leeren Labels und zeigen Sie eine kurze Nachricht im Formular an. Eine abgelehnte Zeichenfolge kostet nichts, während eine schlechte einen fehlgeschlagenen Aufruf und einen verwirrten Benutzer kostet.

Abschließende Punkte sind der Sonderfall. Entfernen Sie einen am Ende des Hosts und behandeln Sie alles andere als ungültig.

Zeigen Sie die Ablehnung neben dem Feld an, nicht als Toast, der verschwindet. Ein Benutzer, der sehen kann, was falsch war, behebt es im ersten Versuch.

Was dem Benutzer angezeigt werden soll

Drucken Sie niemals einen rohen Upstream-Fehler in der Oberfläche. Mappen Sie 401 und 402 auf ein generisches „Dienst nicht verfügbar“ und senden Sie die Details in Ihr eigenes Log und eine Warnung. Besucher können Ihr Guthaben nicht aufladen, und die Nachricht lässt Ihr Tool kaputt aussehen.

Ein kleiner Pflanzenkeim, der aus trockener Erde sprießt, mit der Hand eines Gärtners in der Nähe

Leere Ergebnisse und das Indexalter

Wenn jemand „check my backlink“ in Ihr Formular eingibt und nichts erhält, ist eine leere Antwort nicht immer ein Fehler. Sie bedeutet oft, dass die Domain neu, zu klein oder einfach noch nicht im Index ist, und der Bildschirm sollte anzeigen, welcher Fall vorliegt.

Eine brandneue Seite

Eine letzte Woche gestartete Seite kann keine Verweisdomänen im Index haben. Zeigen Sie „noch nicht indexiert“ zusammen mit dem Indexdatum an und bieten Sie den kostenlosen overview-Aufruf als Kreuzprüfung an.

Kacheln Sie diese leere Antwort nicht lange. Ein paar Stunden reichen aus, und der nächste Neuaufbau kann die Seite einbringen.

Teilen Sie dem Besucher mit, wann der Index zuletzt neu aufgebaut wurde, in klaren Worten. Ein Datum neben einer leeren Antwort erklärt die Lücke besser als eine längere Nachricht.

Eine einzeilige Notiz in Ihrer eigenen Benutzeroberfläche reicht hier aus. Niemand erwartet einen Live-Index, und ein einfacher Satz neben dem Indexdatum wirkt ehrlich.

Eine Zahl, die mit einem anderen Tool nicht übereinstimmt

Verschiedene Crawler sehen verschiedene Teile des Webs. Lesen Sie die DR-Zahl als Position innerhalb eines Tools und verweisen Sie Leser auf die DR-Referenz für die Formel.

Eine kurze Notiz unter der Zahl spart mehr Support-Zeit als jede Menge Entschuldigungen im Nachhinein.

Wenn zwei Messwerte abweichen, vergleichen Sie zuerst die Anzahl der Verweisdomänen. Die DR-Formel ist einfach, daher beruhen die meisten Uneinigkeiten auf der Anzahl.

Zeilen, die bei 50.000 enden

Wenn eine Liste an der Obergrenze endet, ist die Antwort korrekt für das, was die API erlaubt. Kennzeichnen Sie den Cut-off und verlinken Sie die Paginierungshinweise, anstatt eine tiefere Seite zu versuchen.

Tiefere Seiten jenseits dieses Punktes sind keine Wiederholung. Sie sind eine andere Abfrage, und die Behandlung als eine ist der Grund, warum eine Schleife stundenlang läuft.

Halten Sie den Cut-off auch im Export sichtbar, damit eine Spreadsheet, die einen Monat später geöffnet wird, immer noch zeigt, dass die Liste begrenzt war.

Die Anzeige der Zeilenanzahl neben der Tabelle macht einen Cut-off zu einer sichtbaren Tatsache. Ein Leser, der 50.000 Zeilen sieht, weiß, dass er eine engere Frage stellen sollte.

Bevor der Wiederholungscode ausgeliefert wird

  • 401 und 402 werden nie wiederholt
  • Timeouts wiederholen mit Backoff und einer festen Anzahl von Versuchen
  • Jede Antwort wird auf ok geprüft, unabhängig vom HTTP-Status
  • Die Eingabe wird vor dem Aufruf normalisiert, nicht nachdem sie fehgeschlagen ist
  • Upstream-Fehler gehen in Ihr eigenes Log, und Besucher sehen eine generische Nachricht
  • Ein leeres Ergebnis zeigt das Indexdatum an, statt eines leeren Bildschirms

Verwandte Fragen

Können meine Benutzer jede URL in das Feld eingeben?
Lassen Sie es zu, normalisieren Sie es dann selbst. Entfernen Sie das Schema, den Pfad, die Abfragezeichenfolge und www., wenn Sie sich dafür entscheiden, konvertieren Sie den Host in Kleinbuchstaben und rufen Sie erst dann die API auf. Der Upstream erwartet eine reine Domain, daher ist unclean input die häufigste Ursache für einen fehlgeschlagenen Aufruf.
Sollte ich Fehler zwischenspeichern?
Speichern Sie ein leeres „nicht indexiert“-Ergebnis für ein paar Stunden, da sich der Index nur monatlich ändert. Speichern Sie ein 401 oder 402 nicht lange. Diese klären sich sofort, wenn der Schlüssel oder das Guthaben behoben wird, und ein zwischengespeicherter Fehler würde die Behebung verbergen.
Zählen kostenlose Aktionen gegen irgendetwas?
Sie kosten keine Credits. Die vier kostenlosen sind domain, overview, stats und suggest. Speichern Sie sie trotzdem, da Höflichkeit nichts kostet und Ihre eigene Latenz niedrig hält.