Kontrola zpětných odkazů vrátila nic: tabulka chyb
Váš nástroj je tak klidný, jak je jeho zvládání chyb. Níže najdete selhání, která skutečně nastávají, jejich přesnou příčinu a to, zda má smysl opakování.

Pravidlo, které pokrývá většinu případů
Opakujte síťové chyby. Nikdy neopakujte 401 ani 402. První typ se sám opraví za několik sekund; druhý vyžaduje zásah člověka a jeho drti jen zaplňuje vaše protokoly.
Každá odpověď JSON obsahuje pole ok, a ty ověřené přidávají _credits s náklady na volání a zbývajícím zůstatkem. Zkontrolujte ok v těle odpovědi, i když stav HTTP vypadá v pořádku.
Časy opakování níže jsou naším inženýrským doporučením, ne zdokumentovanými limity. Dokumentace API, kterou máme, nezveřejňuje limit rychlosti, takže si nastavte vlastní strop a udržujte ho skromný.
Proč 401 a 402 nikdy neopakovat
401 je problém s klíčem a 402 je problém s zůstatkem. Ani jedno se neopraví mezi dvěma pokusy oddělenými sekundou, takže opakování přidává šum do protokolů a nic dalšího.
Čekání také neopraví 402. Zůstatek zůstává tam, kde je, dokud ho někdo nenabije na stránce účtu, takže jedinou užitečnou reakcí je jasná zpráva a upozornění pro toho, kdo spravuje rozpočet.
401 si zaslouží pohled na hlavičku nebo parametr klíče a kontrolu, zda nebyl klíč nahrazen. Opakování se špatným klíčem několikrát nic neprokáže.
Špatný klíč a prázdný zůstatek také vypadají na vašem dashboardu odlišně. Mějte je v samostatných upozorněních, aby člověk, který dobíjí, nebyl probuzen překlepem v klíči, a člověk, který klíče rotuje, nebyl vyvolán pro zůstatek.
Síťové chyby a backoff
Časový limit nebo reset připojení se mohou vyřešit samy, takže to jsou jediné případy, které stojí za další pokus. Počkejte 1, 2, 4 a poté 8 sekund, přidejte trochu jitteru a po čtvrtém pokusu přestaňte.
Tyto časy jsou naše doporučení, ne zdokumentovaný limit. Udržujte vlastní strop, protokolujte každé opakování a upozorněte, když počet opakování roste, protože rostoucí míra opakování je obvykle prvním znakem problému nadřazené služby.
Udržujte časový limit na své straně explicitní, v pojmenované konstantě. Implicitní výchozí hodnota, která se změní při aktualizaci knihovny, je častým důvodem, proč noční úloha začne selhávat pouze na jednom stroji.
Sledujte také dobu odpovědi nadřazené služby a míru selhání. Pomalá odpověď, která nikdy neselže, může stále obsazovat vaše pracovníky a smyčka opakování tento zpomalení zhorší.
Příznak, příčina, reakce
| Příznak | Příčina | Opakovat? | Co dělat |
|---|---|---|---|
| HTTP 401 | Klíč chybí, je špatně zapsán nebo byl zrušen | Ne | Zkontrolujte hlavičku nebo hodnotu key=, poté stránku účtu |
| HTTP 402 | Úvěr došel | Ne | Nabijte v USDT (TRC-20) na stránce účtu; stejný klíč pokračuje |
ok není true na HTTP 200 | Špatný parametr, například URL, kde patří doména | Ne | Ověřte vstup; pošlete example.com, ne https://example.com/page |
| Časový limit nebo reset připojení | Síťová nebo nadřazená vlna | Ano, 3 až 4krát | Backoff 1, 2, 4, 8 sekund s jitterem |
| Prázdný výsledek pro nový web | Ještě není v indexu; obnova je měsíční | Ne | Zobrazit „ještě neindexováno“ s datem indexu |
| Číslo se liší od jiného nástroje | Různý index a jiný vzorec DR | Ne | Porovnávejte trendy v rámci jednoho nástroje, viz odkaz na DR |
| Řádky končí na 50 000 | Strop stránkování | Ne | Viz poznámky k stránkování |
| Zůstatek klesá rychleji, než bylo plánováno | Placená akce ve smyčce nebo 3-kreditní volání na horké cestě | n/a | Protokolovat _credits, povolit seznam akcí |
Než obviníte svůj kód, vložte selhávající URL do cURL se stejným klíčem. Pokud tam funguje, chyba je ve vašem klientovi. Pokud tam také selže, odpověď je v tabulce. Toto ověření vyřešilo více tiketů než jakékoli hledání v protokolech.
Sada ladění, v pořadí
- 1
Reprodukovat pomocí curl
Vyjměte selhávající URL z aplikace a spusťte ji ručně se stejným klíčem. Pokud curl funguje, problémem je váš kód.
- 2
Vyzkoušejte bezplatnou akci
overviewna stejné doméně nepotřebuje klíč. Pokud odpoví, index je v pořádku a problém je v ověření nebo kreditu. - 3
Přečíst zůstatek
402 je jednoznačné, ale selhání placeného volání po úspěšném bezplatném obvykle ukazuje na kredit nebo překlep v klíči.
- 4
Zkontrolovat vstup
Malá písmena, bez schématu, bez cesty, bez koncové tečky. Většina selhání
okkončí zde.

Normalizujte doménu před voláním
Většina selhávajících volání začíná ve vstupním poli, ne v síti. Uživatelé vloží cokoliv, co zkopírovali, a váš kód musí to převést na holou doménu, než API uvidí.
Odstranit schéma a cestu
Odstraňte schéma, jakoukoli cestu a query string. Vložená adresa článku se stane svým hostitelem a pouze hostitel jde nahoru.
Převeďte hostitele také na malá písmena. Udržujte čištění v jedné funkci, aby se stejné pravidlo spouštělo ve formuláři, v dávkové úloze i v testech.
Otestujte čištění s pěti nebo šesti reálnými vloženými vstupy, včetně jednoho s koncovým lomítkem a jednoho s query stringem. Tyto případy odhalí chyby, které čistý příklad nikdy neukáže.
Rozhodněte se jednou, co dělat s www.
Vyberte jedno pravidlo pro www. a aplikujte ho v jedné funkci, aby se stejný web nikdy nehledal pod dvěma pravopisy.
Zapište pravidlo vedle funkce. Další vývojář, který narazí na potulné www, pak najde rozhodnutí, ne druhý názor.
Ať už pravidlo zvolíte jakékoliv, udržujte ho v jednom souboru a napište pro něj jeden test. Test je záznam rozhodnutí a je krátký.
Odmítnout to, co nemůže být doménou
Odmítněte vstup s mezerami nebo prázdnými štítky a zobrazte krátkou zprávu ve formuláři. Odmítnutý řetězec nic nestojí, zatímco špatný stojí selhání volání a zmateného uživatele.
Koncové tečky jsou podivný případ. Odstraňte jednu na konci hostitele a cokoli jiného považujte za neplatné.
Zobrazte odmítnutí vedle pole, ne jako toast, který zmizí. Uživatel, který vidí, co bylo špatně, to opraví na první pokus.
Nikdy netiskněte surovou chybu nadřazené služby v rozhraní. Mapujte 401 a 402 na obecné „služba nedostupná“ a odešlete detail do vlastního protokolu a upozornění. Návštěvníci nemohou opravit váš zůstatek a zpráva způsobí, že váš nástroj vypadá rozbitý.

Prázdné výsledky a stáří indexu
Když někdo zadá kontrolu zpětných odkazů do vašeho formuláře a nedostane nic, prázdná odpověď není vždy chybou. Často to znamená, že doména je nová, příliš malá nebo prostě ještě není v indexu, a obrazovka by měla říct, která.
Zcela nový web
Web spuštěný minulý týden může mít v indexu žádné odkazující domény. Zobrazte „ještě neindexováno“ společně s datem indexu a nabídněte bezplatné volání overview jako křížovou kontrolu.
Neukládejte tuto prázdnou odpověď dlouho. Pár hodin stačí a další rebuild může web přidat.
Řekněte návštěvníkovi, kdy byl index naposledy obnoven, srozumitelnými slovy. Datum vedle prázdné odpovědi vysvětlí mezeru lépe než delší zpráva.
Zde stačí poznámka na jeden řádek ve vašem UI. Nikdo neočekává živý index a obyčejná věta vedle data indexu působí upřímně.
Číslo, které nesouhlasí s jiným nástrojem
Různí crawlerové vidí různé části webu. Čtěte hodnotu DR jako pozici uvnitř jednoho nástroje a nasměrujte čtenáře na odkaz na DR pro vzorec.
Krátká poznámka pod číslem ušetří více času na podpoře než jakékoli množství omluvy po věci.
Pokud se dvě čtení liší, nejprve porovnejte počty odkazujících domén. Vzorec DR je jednoduchý, takže většina nesrovnalostí se redukuje na počet.
Řádky končí na 50 000
Když seznam končí na stropu, odpověď je správná pro to, co API umožňuje. Označte mezní hodnotu a propojte poznámky k stránkování místo pokusu o hlubší stránku.
Hlubší stránky za tímto bodem nejsou opakováním. Jsou to jiný dotaz a jejich považování za jeden je způsob, jakým smyčka běží hodiny.
Udržujte mezní hodnotu viditelnou i v exportu, aby se v tabulce otevřené o měsíc později stále zobrazovalo, že seznam byl omezen.
Zobrazení počtu řádků vedle tabulky změní mezní hodnotu na viditelný fakt. Čtenář, který vidí 50 000 řádků, ví, že se zeptat na užší otázku.
Před odesláním kódu pro opakování
- 401 a 402 se nikdy neopakují
- Časové limity se opakují s backoff a pevným počtem pokusů
- Každá odpověď se kontroluje na
ok, bez ohledu na stav HTTP - Vstup se normalizuje před voláním, ne po jeho selhání
- Chyby nadřazené služby jdou do vašeho vlastního protokolu a návštěvníci vidí obecnou zprávu
- Prázdný výsledek zobrazí datum indexu místo prázdné obrazovky
Související otázky
- Mohou moji uživatelé zadat do pole jakoukoli URL?
- Povolte jim to, pak ji normalizujte sami. Odstraňte schéma, cestu, query string a
www., pokud se rozhodnete, převeďte hostitele na malá písmena a teprve poté zavolejte API. Nadřazená služba očekává holou doménu, takže nevyčištěný vstup je nejčastější příčinou selhání volání. - Měl bych ukládat selhání do mezipaměti?
- Uložte prázrný výsledek „neindexováno“ na několik hodin, protože index se mění pouze měsíčně. Nikdy dlouho neukládejte do mezipaměti 401 nebo 402. Ty se vyřeší okamžitě, jakmile je opraven klíč nebo zůstatek, a uložená chyba by opravu skryla.
- Počítají bezplatné akce proti něčemu?
- Nestojí žádné kredity. Čtyři bezplatné jsou
domain,overview,statsasuggest. Stále je ukládejte do mezipaměti, protože zdvořilost nic nestojí a udržuje vaši vlastní latenci nízkou.