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 ·

Pipeline po jednotlivých fázích
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.
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.
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.
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.
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
| Obava | API pouze pro odkazy | Širší poskytovatel |
|---|---|---|
| Rozsah | Odkazy, domény s odkazy, kotvové texty, nejlepší stránky, DR | Obvykle přidává data SERP a klíčových slov |
| Fakturace | Za každý hovor, 1 kredit = $0.0001, bez předplatného | Zkontrolujte vlastní ceník |
| Čerstvost | Přibližně měsíční obnova | Zkontrolujte vlastní dokumentaci |
| Řádky na hovor | Až 1,000, fakturováno jednou | Liší se podle koncového bodu |
| Signály selhání | HTTP 401 špatný klíč, HTTP 402 nedostatek kreditu | Liší se |

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.

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