Vai al contenuto

Dati dei backlink in JSON: $100 di credito gratuito, nessuna carta richiesta, accesso con Google.

SEOMasters.dev
SEOMasters.devRegistrati

Controlla il mio backlink non ha restituito nulla: una tabella degli errori

Il tuo strumento è affidabile quanto la sua gestione degli errori. Di seguito, i guasti che si verificano effettivamente, la causa esatta e se un nuovo tentativo ha senso.

Quattro diversi lucchetti industriali appesi a un rack che rappresentano vari stati di errore

La regola che copre la maggior parte dei casi

Riprova i guasti di rete. Non riprovare mai con 401 o 402. Il primo tipo si risolve da solo in pochi secondi; il secondo richiede un intervento umano e sollecitarlo solo riempie i tuoi log.

Ogni risposta JSON contiene un campo ok, e quelle autenticate aggiungono _credits con il costo della chiamata e il saldo residuo. Controlla ok nel corpo anche quando lo stato HTTP sembra corretto.

I tempi di nuovo tentativo di seguito sono il nostro consiglio ingegneristico, non limiti documentati. La documentazione API che possediamo non pubblica un limite di frequenza, quindi costruisci il tuo limite e mantienilo moderato.

Perché 401 e 402 non vengono mai riprovati

Un 401 è un problema della chiave, e un 402 è un problema del saldo. Nessuno dei due si risolve tra due tentativi a un secondo di distanza, quindi un nuovo tentativo aggiunge solo rumore ai tuoi log e nient'altro.

Aspettare non risolve nemmeno un 402. Il saldo rimane dove si trova finché qualcuno non lo ricarica dalla pagina dell'account, quindi l'unica reazione utile è un messaggio chiaro e un avviso a chi gestisce il budget.

Un 401 merita un controllo dell'intestazione o del parametro chiave, e una verifica che la chiave non sia stata sostituita. Riprovare la stessa chiave errata alcune volte non dimostra nulla.

Una chiave errata e un saldo vuoto appaiono anche diversi nel tuo dashboard. Imposta avvisi separati, in modo che la persona che ricarica non venga svegliata da un errore di battitura della chiave, e la persona che ruota le chiavi non venga chiamata per un problema di saldo.

Guasti di rete e backoff

Un timeout o un reset della connessione possono risolversi da soli, quindi questi sono gli unici casi che vale la pena riprovare. Attendi 1, 2, 4 e poi 8 secondi, aggiungi un po' di jitter e fermati dopo il quarto tentativo.

Quei tempi sono il nostro consiglio, non un limite documentato. Mantieni il tuo limite, registra ogni nuovo tentativo e avvisa quando i nuovi tentativi aumentano, perché un tasso di nuovi tentativi in aumento è solitamente il primo segno di un problema a monte.

Mantieni il timeout dal tuo lato esplicito, in una costante nominata. Un valore predefinito implicito che cambia con un aggiornamento della libreria è una causa comune per cui un lavoro notturno inizia a fallire su una sola macchina.

Monitora anche il tempo di risposta a monte oltre al tasso di errore. Una risposta lenta che non fallisce mai può comunque occupare i tuoi worker, e un ciclo di nuovi tentativi peggiora quel rallentamento.

Sintomo, causa, risposta

SintomoCausaNuovo tentativo?Cosa fare
HTTP 401Chiave mancante, digitata male o revocataNoControlla l'intestazione o il valore key=, poi la pagina dell'account
HTTP 402I crediti sono esauritiNoRicarica in USDT (TRC-20) dalla pagina dell'account; la stessa chiave riprende
ok non è vero su HTTP 200Parametro errato, ad esempio un URL dove dovrebbe esserci un dominioNoConvalida l'input; invia example.com, non https://example.com/page
Timeout o reset della connessionePicco di rete o a monteSì, 3 o 4 volteBackoff 1, 2, 4, 8 secondi con jitter
Risultato vuoto per un nuovo sitoNon ancora indicizzato; l'aggiornamento è mensileNoMostra "non ancora indicizzato" con la data di indicizzazione
Il numero differisce da un altro strumentoIndice diverso e una formula DR diversaNoConfronta i trend all'interno di un unico strumento, vedi Riferimento DR
Le righe si fermano a 50.000Limite di paginazioneNoVedi Note sulla paginazione
Il saldo scende più velocemente del previstoAzione a pagamento in un ciclo, o una chiamata da 3 crediti su un percorso criticon/aRegistra _credits, consenti azioni in lista bianca
Suggerimento: testa prima con cURL

Prima di dare la colpa al tuo codice, incolla l'URL fallito in cURL con la stessa chiave. Se funziona lì, il bug è nel tuo client. Se fallisce anche lì, la risposta è nella tabella. Questo controllo ha risolto più ticket di qualsiasi ricerca nei log.

Una sessione di debug, in ordine

  1. 1

    Riproduci con curl

    Prendi l'URL fallito dalla tua app ed eseguilo manualmente con la stessa chiave. Se curl funziona, il tuo codice è il problema.

  2. 2

    Prova un'azione gratuita

    overview sullo stesso dominio non richiede una chiave. Se risponde, l'indice è corretto e il problema risiede nell'autenticazione o nel credito.

  3. 3

    Leggi il saldo

    Un 402 è inequivocabile, ma una chiamata a pagamento fallita dopo un successo gratuito di solito indica un problema di credito o un errore di battitura nella chiave.

  4. 4

    Controlla l'input

    Minuscolo, senza schema, senza percorso, senza punto finale. La maggior parte dei fallimenti ok finisce qui.

Mani che levigano un ramo ruvido in una forma liscia su un banco da lavoro in legno

Normalizza il dominio prima della chiamata

La maggior parte delle chiamate fallite inizia nella casella di input, non nella rete. Gli utenti incollano qualsiasi cosa abbiano copiato, e il tuo codice deve trasformare quello in un dominio nudo prima che l'API lo veda.

Rimuovi lo schema e il percorso

Rimuovi lo schema, qualsiasi percorso e la stringa di query. Un indirizzo di articolo incollato diventa il suo host, e solo l'host va a monte.

Converti anche l'host in minuscolo. Mantieni la pulizia in una singola funzione, in modo che la stessa regola venga eseguita nel modulo, nel lavoro batch e nei test.

Testa la pulizia con cinque o sei input reali incollati, incluso uno con una barra finale e uno con una stringa di query. Questi casi evidenziano i bug che un esempio pulito non mostra mai.

Decidi una volta cosa fare con www.

Scegli una regola per www. e applicala in una singola funzione, in modo che lo stesso sito non venga mai cercato con due grafie diverse.

Scrivi la regola accanto alla funzione. Il prossimo sviluppatore che incontra un www isolato troverà quindi la decisione, non un secondo parere.

Qualunque sia la regola scelta, mantienila in un unico file e scrivi un test per essa. Il test è la registrazione della decisione ed è breve.

Rifiuta ciò che non può essere un dominio

Rifiuta input con spazi o etichette vuote e mostra un messaggio breve nel modulo. Una stringa rifiutata non costa nulla, mentre una errata costa una chiamata fallita e un utente confuso.

I punti finali sono il caso strano. Rimuovi uno alla fine dell'host e trattalo come qualsiasi altro valore non valido.

Mostra il rifiuto accanto al campo, non come un toast che scompare. Un utente che può vedere cosa è sbagliato lo corregge al primo tentativo.

Cosa mostrare a un utente

Non stampare mai un errore grezzo a monte nell'interfaccia. Mappa 401 e 402 su un generico "servizio non disponibile" e invia i dettagli ai tuoi log e a un avviso. I visitatori non possono risolvere il tuo saldo, e il messaggio fa sembrare il tuo strumento rotto.

Una piccola piantina che spunta dalla terra secca con la mano di un giardiniere vicina

Risultati vuoti e età dell'indice

Quando qualcuno digita "controlla il mio backlink" nel tuo modulo e non ottiene nulla, una risposta vuota non è sempre un errore. Spesso significa che il dominio è nuovo, troppo piccolo o semplicemente non ancora indicizzato, e lo schermo dovrebbe dirlo.

Un sito appena lanciato

Un sito lanciato la scorsa settimana potrebbe non avere domini di riferimento nell'indice. Mostra "non ancora indicizzato" insieme alla data di indicizzazione e offri la chiamata overview gratuita come verifica incrociata.

Non memorizzare nella cache quella risposta vuota per molto tempo. Alcune ore sono sufficienti, e la prossima ricostruzione potrebbe includere il sito.

Indica al visitatore quando l'indice è stato ricostruito per l'ultima volta, con parole semplici. Una data accanto a un risultato vuoto spiega il divario meglio di un messaggio più lungo.

Una nota su una riga nella tua stessa UI è sufficiente qui. Nessuno si aspetta un indice in tempo reale, e una frase semplice accanto alla data di indicizzazione appare onesta.

Un numero che non concorda con un altro strumento

Diversi crawler vedono fette diverse del web. Leggi la figura DR come una posizione all'interno di un unico strumento e indica ai lettori il Riferimento DR per la formula.

Una breve nota sotto la figura risparmia più tempo di supporto di qualsiasi quantità di scuse a posteriori.

Se due letture differiscono, confronta prima i conteggi dei domini di riferimento. La formula DR è semplice, quindi la maggior parte delle discrepanze si riduce al conteggio.

Righe che si fermano a 50.000

Quando un elenco si ferma al limite, la risposta è corretta per ciò che l'API consente. Etichetta il cutoff e collega le Note sulla paginazione invece di provare una pagina più profonda.

Pagine più profonde oltre quel punto non sono un nuovo tentativo. Sono una query diversa, e trattarle come una è il modo in cui un ciclo viene eseguito per ore.

Mantieni il cutoff visibile anche nell'esportazione, in modo che un foglio di calcolo aperto un mese dopo mostri ancora che l'elenco era limitato.

Mostrare il conteggio delle righe accanto alla tabella trasforma un cutoff in un fatto visibile. Un lettore che vede 50.000 righe sa di dover fare una domanda più specifica.

Prima che il codice di nuovo tentativo venga rilasciato

  • 401 e 402 non vengono mai riprovati
  • I timeout riprovano con backoff e un numero fisso di tentativi
  • Ogni risposta viene controllata per ok, indipendentemente dallo stato HTTP
  • L'input viene normalizzato prima della chiamata, non dopo il suo fallimento
  • Gli errori a monte vanno nei tuoi log e i visitatori vedono un messaggio generico
  • Un risultato vuoto mostra la data di indicizzazione invece di uno schermo vuoto

Domande correlate

I miei utenti possono digitare qualsiasi URL nella casella?
Lasciali fare, poi normalizzalo tu stesso. Rimuovi lo schema, il percorso, la stringa di query e www. se scegli di farlo, converti l'host in minuscolo e solo allora chiama l'API. L'a monte si aspetta un dominio nudo, quindi un input non pulito è la causa più comune di una chiamata fallita.
Dovrei memorizzare nella cache i fallimenti?
Memorizza nella cache un risultato vuoto "non indicizzato" per alcune ore, perché l'indice cambia solo mensilmente. Non memorizzare mai nella cache un 401 o un 402 per molto tempo. Questi si risolvono nel momento in cui la chiave o il saldo vengono corretti, e un errore memorizzato nella cache nasconderebbe la correzione.
Le azioni gratuite contano contro qualcosa?
Non costano crediti. Le quattro gratuite sono domain, overview, stats e suggest. Memorizzale comunque nella cache, poiché essere educati non costa nulla e mantiene bassa la tua latenza.