Přejít na obsah
CranSEO
CranSEORegistrovat se

DataForSEO vs. API pouze pro odkazy: co se změní ve vaší pipeline v R

Rozbor jedné fiktivní pipeline krok za krokem. Vypisujeme, co se přesune, co zůstane a co ztratíte zúžením zdroje pouze na odkazy.

Výzkumný tým CranSEO ·

Dvě divergující železniční koleje v mlhavém lese představující volby pipeline

Pipeline po jednotlivých fázích

01

Autentizace

Náš klíč putuje jako parametr dotazu nebo jako hlavička Authorization Bearer. Pro bezplatné akce není potřeba žádný klíč, takže první buňky notebooku mohou běžet pro kohokoli.

02

Dotaz

Jeden GET na akci s q pro doménu. Stránkování používá page a per (10 až 5000), třídění používá sort a order.

03

Parsování

Každá odpověď je JSON s polem ok. Autentizované odpovědi přidávají _credits, které ukazují cenu a zbývající zůstatek.

04

Uložení

Zapište tibble a datum snímku společně. Graf se obnovuje přibližně měsíčně, takže datum je součástí dat.

05

Výstup

Vykreslete ze uloženého souboru, ne z živého volání, aby dokument quarto poskytoval stejný graf i zítra.

Co získáte a co obětujete

ObavaAPI pouze pro odkazyŠirší poskytovatel
RozsahOdkazy, domény s odkazy, kotvové texty, nejlepší stránky, DRObvykle přidává data SERP a klíčových slov
FakturaceZa každý hovor, 1 kredit = $0.0001, bez předplatnéhoZkontrolujte vlastní ceník
ČerstvostPřibližně měsíční obnovaZkontrolujte vlastní dokumentaci
Řádky na hovorAž 1,000, fakturováno jednouLiší se podle koncového bodu
Signály selháníHTTP 401 špatný klíč, HTTP 402 nedostatek kredituLiší se
Jeřáb zvedající ocelový nosník snadno versus malý nástroj bojující o ukázání efektivity

Chyba, která stojí nejvíce v tomto typu pipeline

Většina pipeline selhává na penězích, ne na kódu. Smyčka, která volá koncový bod jednou pro každý řádek, změní levnou práci na drahou.

U nás stojí jeden hovor stejně za 10 řádků nebo 1,000, takže pravidlo se obrací: požádejte o největší stránku, jakou můžete. Nastavte per na 1000, seřaďte podle toho, co potřebujete, a přestaňte stránkovat, když je otázka zodpovězena.

Hluboké stránkování je omezeno na 50,000 řádků, což je funkce pro analytiky, kteří mají tendenci stáhnout vše. Pokud má doména více odkazů, než je toto číslo, pravděpodobně budete chtít použít toppages nebo anchors.

Porovnejte výdaje své staré smyčky s verzí s jedním voláním, než oslavujete. Někdy je úspada nulová, protože starý poskytovatel již fakturoval za požadavek.

Verdikt k tomuto rozboru

Zúžte zdroj pouze tehdy, pokud je výstup úzký

Pokud jsou většina sloupců ve vašem tibble odkazy, API pouze pro odkazy odstraní kód pro parsování a náklady. Pokud je polovina sloupců daty SERP, ponechte si současného poskytovatele a přidejte náš pro zbytek.

  • Ponechte demonstrační buňky u bezplatných akcí
  • Připevněte datum snímku ve výstupu
  • Očekávejte měsíční rytmus, nikoliv denní

Otázky z rozboru

Musím přepsat celou svou pipeline?

Ne. Nahraďte pouze fázi odkazů. Ponechte fáze SERP a klíčových slov tam, kde jsou, zapište tibble odkazů do samostatného souboru a spojte oba downstream podle sloupce domény.

Je CORS otevřený pro notebooky v prohlížeči?

Ano. CORS je otevřený, takže aplikace Shiny nebo buňka Observable může volat bezplatné akce přímo. Ukládejte placené klíče na straně serveru, protože cokoli v kódu prohlížeče mohou číst návštěvníci.

Jak levně otestovat zpracování chyb?

Pošlete záměrně špatný klíč, abyste viděli HTTP 401 bez utrácení jakýchkoli prostředků. Případ HTTP 402 se objeví pouze tehdy, když je zůstatek prázdný, takže ho v testech emulujte, místo abyste vybíjeli kredit.

Budou se celkové počty přesně shodovat s jiným poskytovatelem?

Ne. Každý poskytovatel crawluje jinak a obnovuje se podle vlastního rozvrhu. Porovnávejte řády velikosti a trendy a považujte DR zde za samostatnou, interní metriku s logaritmickou stupnicí.

Chyby, opakování a selhání, na která lze počítat

Selhání jsou tam, kde se pipeline pouze pro odkazy a širší pipeline nejvíce podobají. Kód je tam často nedokončený. Vložte cesty selhání do srovnání, protože rozhodnutí dataforseo vs. pouze pro odkazy vypadá jinak, když jsou chyby na stole.

HTTP 401 a HTTP 402 jsou ty, které je třeba zpracovat

Nejdůležitější jsou dva stavové kódy. HTTP 401 znamená, že klíč chybí nebo je špatný, a oprava spočívá ve vaší konfiguraci spíše než v datech. HTTP 402 znamená, že došel zůstatek kreditu, a opravou je doplnění z účtu, nikoliv změna kódu.

Zapište oba jako explicitní větve. Obecný catch, který polyká stavový kód a zapisuje prázdný tabulku, je způsob, jakým dochází k tichému částečnému stažení.

Časové limity a částečné soubory

Časový limit není stavový kód, takže váš vlastní kód ho musí považovat za selhání. Obalte volání tak, aby časový limit zastavil běh před zápisem jakéhokoli výstupu.

Zapište do dočasného souboru a přejmenujte jej při úspěchu. Polozápisný soubor, který vypadá kompletně, je nejhorším výsledkem přerušeného běhu, protože si nikdo nepomyslí ho zpochybnit.

Opakování a načasování

Tato stránka neuvádí počet požadavků za sekundu, takže velikost pipeline určujte podle hovorů za cyklus. To je číslo, které řídí náklady, a je to číslo, které kontrolujete vy.

Opakujte pouze síťové chyby s pauzou mezi pokusy. Nikdy neopakujte 401 nebo 402, protože každý selže stejným způsobem i při dalším pokusu.

Kde se klíč nachází během testů

Udržujte klíč v proměnné prostředí na vašem počítači a v úložišti tajných klíčů CI, nikdy v souboru, který testy čtou. Bezplatné akce nepotřebují klíč, takže první běh testů je bezpečný pro kohokoli, kdo projekt naklonuje.

Ptejte se na každou pipeline, které se dotknete: kdo může klíč číst a kde je zapsán? Klíč, který se objeví v logovacím souboru, je únik, i když je samotný notebook soukromý.

Logování nákladů každého hovoru

Každá odpověď z autentizovaného hovoru obsahuje pole credits, které ukazuje cenu a zbývající zůstatek. Zkopírujte jej do svého logu vedle časového razítka a názvu akce, aby se otázka o nákladech dala zodpovědět ze souboru spíše než z paměti.

Čtěte log jednou měsíčně, ne jednou ročně. Pomalý nárůst nákladů za cyklus je snadno přehlédnutelný v grafu, ale zřejmý ve sloupci čísel.

Selhaný běh by měl také nechat svůj log. S stavovým kódem a krokem, ve kterém se zastavil. Log, který zaznamenává pouze úspěchy, skrývá řádek, který jste potřebovali.

Dřevěná skládačka s chybějícími díly na pracovním stole představující ztrátu dat

Počítání řádků napříč fázemi

Mnoho drahých chyb v pipeline je chybami počítání. Tabulka ztrácí řádky při spojení, filtru nebo odstranění duplicit a graf poté stále vypadá věrohodně.

Zapište počet na každém předání

Představte si pipeline jako řetězec tabulek: odpověď API, parsované tibble, uložený soubor a výstup. Počet řádků na každém předání ukáže, která fáze ztratila řádky, pokud nějaké.

Analytici často počítají pouze na konci. Do té doby je příčina tři fáze zpět a tibble bylo již dvakrát přeformováno.

Jeden řádek na doménu, jeden řádek na odkaz

Zrno závisí na akci. Tažení domén s odkazy má jeden řádek na propojující web, zatímco tažení backlinků má jeden řádek na odkaz, a jeden web může poslat mnoho z nich. Počítejte na špatném zrnu a dvě správná čísla budou vypadat, že nesouhlasí.

Uveďte zrno v názvu uloženého souboru nebo v záhlavním komentáři, aby další osoba nemusela hádat. Slovník akcí uvádí zrno každé akce.

Stránkování a strop 50,000 řádků

Stránkování s page a per funguje až na 5000 řádků na stránku, ale hluboké stránkování končí na 50,000 řádcích. Tažení, které očekává více než toto číslo, se vrátí omezené a jeho počet může vypadat podezřele zaokrouhleně.

Porovnejte číslo, které jste obdrželi, s celkovým číslem, které jste očekávali. Když se liší, zkontrolujte akci, její třídění a velikost stránky, než obviníte zdroj.

Vypočtený počet, hypoteticky

Řekněme, že hypotetické tažení žádá o propojující weby pro 30 cílových domén a vrací 30 řádků počtů. Spojeno s hodnoceními tabulka zachová 27 řádků. Tři chybějící řádky potřebují prozkoumat před vykreslením jakéhokoli grafu, počínaje jejich klíči.

Zapište ty tři dolů podle jména, nikoliv pouze jako počet. Počet vám řekne, že řádky chyběly, zatímco jména vám řeknou, které klíče vyčistit.

Spojení, která tichou ztrátou řádků

Levé spojení zachová každý řádek levé tabulky, takže chybějící hodnocení se projeví jako NA spíše než jako zmizelý řádek. Vnitřní spojení skryje stejný problém odstraněním řádku úplně.

Vyberte typ spojení záměrně a spočítejte hodnoty NA po spojení. Tento počet patří do logu vedle pole credits.

Krátký testovací plán před přepnutím

Spusťte oba zdroje pro jeden cyklus. Stejné domény, stejný den.

Vezměte 30 domén, které dobře znáte, stáhněte počty domén s odkazy od vašeho současného poskytovatele a z CranSEO a vynesete je proti sobě na logaritmických osách. Měli byste vidět přibližnou diagonálu, ne přesnou, protože crawly se liší a náš se obnovuje přibližně měsíčně; DataForSEO, Ahrefs a Semrush vidí každý trochu odlišný web.

Čtěte výjimky, ne průměr. Kde je náš počet výrazně nižší, zkontrolujte, zda je doména nová nebo nedávno přesunutá. Kde je výrazně vyšší, zkontrolujte subdomény. Slovník definuje, co počítáme jako doménu s odkazem, a runbook ukazuje, jak ukládat obě tažení vedle sebe.

Před prvním produkčním během

  • Klíč se čte z prostředí a test pokrývá chybějící klíč
  • Jeden testovací hovor na jedné doméně, logovaný s polem credits
  • Explicitní větve pro HTTP 401 a HTTP 402
  • Počet řádků zapsaný na každé fázi
  • Datum snímku zapsané vedle každého uloženého souboru