Alternatieven voor DataForSEO, te lezen als glossarium van acties
Een naslagwerk dat je naast je notebook open kunt houden. Eerst de acties en hun prijs, daarna de woordenschat die mensen vaak verwarren als een linktabel in R binnenkomt.
CranSEO-onderzoeksteam ·

Vind de actie die je nodig hebt, noteer de kredietkosten en controleer daarna de termlijst hieronder voor alles wat je niet kent. We noemen hier geen kolomnamen, want die lees je uit je eigen glimpse() output.
Acties: wat één call oplevert
| Actie | Kredieten | Wat je krijgt |
|---|---|---|
| domain, overview, stats, suggest | Gratis | Kort profiel van een domein en suggesties; geen key nodig |
| bulk_dr | 1 | DR voor maximaal 2.000 domeinen per call |
| compare | 1 | Kant-en-klare cijfers voor maximaal 20 domeinen |
| top, dr_distribution, tld_breakdown | 1 | Rankings en verdelingen van de index |
| refdomains, backlinks | 2 | Rijen met verwijzende domeinen of individuele links |
| anchors, toppages, anchor_cloud | 2 | Anchortekst en meest gelinkte pagina's |
| intersect | 2 | Domeinen die naar 2 tot 10 doelen linken |
| search, keyword | 3 | Volledige tekstzoekopdracht over anchors, titels en URL's; exacte anchor-opzoeking |
Termen die mensen in een data frame verwarren
| Term | Eenvoudige betekenis |
|---|---|
| Verwijzend domein | Een uniek domein dat naar jou linkt, één keer geteld ongeacht hoeveel links het verstuurt |
| Backlink | Eén link van de ene pagina naar de andere; er kunnen er veel zijn vanuit hetzelfde verwijzende domein |
| DR | round(100 log(ref_domains + 1) / log(2 10^7)); een logaritmische schaal, dus 10 tot 20 is makkelijker dan 70 tot 80 |
| Anchor | De klikbare tekst van een link, nuttig als categorische kolom |
| Linkgraph | Onze eigen crawler's kaart van domein-tot-domein links: 2.774.625.913 stuks |
| Snapshot | De maandelijkse staat van de index; bewaar de datum ervan bij elke pull |
| Krediet | Facturatie-eenheid, $0,0001 per stuk; een call wordt één keer gefactureerd, ongeacht het aantal rijen |

Wat één rij betekent voor elke actie
Als je hier kwam via een zoekopdracht naar alternatieven voor DataForSEO, toont dit glossarium wat een link-only action retourneert op rijniveau. De betekenis van een rij is het belangrijkst. De meeste mensen begrijpen dit verkeerd bij de eerste keer, en het is ook het duurst.
Verwijzend domein versus backlink
Een verwijzend domein wordt één keer geteld, ongeacht hoeveel links het verstuurt. Een backlink is één link van de ene pagina naar de andere, dus één site kan er veel bijdragen. Als je grafiek 'links' zegt maar de rijen zijn domeinen, is het aantal een telling van domeinen en moet het zo gelabeld worden.
Kies de granulariteit voordat je de eerste join doet. De actietabel hierboven is het naslagwerk voor welke call welke granulariteit retourneert.
Een tabel die de twee mengt, ziet eruit als een telling van links, maar is eigenlijk een telling van sites. Controleer de eerste paar rijen met het oog voordat je iets samenvat.
Anchortekst als categorie, niet als sleutel
Anchortekst werkt goed als categorische kolom. Je kunt anchors groeperen in branded, generic en bare-URL klassen, en dan elke klasse per verwijzend domein tellen. Het is een slechte sleutel, omdat dezelfde woorden terugkomen in ongerelateerde links.
Houd de anchor als tekst, maak hem één keer lowercase bij het importeren en join nooit twee tabellen op deze waarde.
De snapshotdatum
De snapshot is de maandelijkse staat van de index. Bewaar de datum ervan naast elke pull, in de bestandsnaam of in een kolom, zodat een vergelijking over maanden gelijksoortige data vergelijkt.
Twee pulls met verschillende snapshotdatums zijn nog geen trend totdat je controleert of de datums overeenkomen met wat de grafiek beweert.
Een goede gewoonte is om de snapshotdatum in de eerste regel van elk rapport te schrijven, zodat een afgedrukte pagina deze ook bevat. Lezers vergeten waar een datum in een bestand stond, maar ze lezen wel de eerste regel.
Gemiddelden verbergen de uitschieters
Gemiddelden op een logaritmische schaal misleiden. Het gemiddelde van 20 en 60 is 40, maar dat cijfer beschrijft geen van beide sites en zegt niets over de spreiding.
Houd het minimum en het maximum bij elk gemiddelde. Eén zeer groot domein kan het gemiddelde omhoog trekken, en een lezer van de grafiek kan niet aan het gemiddelde zien dat dit gebeurt is.
De actietabel lezen als een datamodel
Elke actie retourneert rijen op een bepaald niveau, en niveaus mengen is de snelste manier om dubbel te tellen, dus denk in granulariteit.
refdomains geeft één rij per linkende site, backlinks geeft één rij per link, anchors geeft één rij per unieke anchortekst. Een join tussen de eerste en de tweede vermenigvuldigt rijen, dus aggregateer voordat je merge en controleer nrow() voor en na.
Paginering werkt overal hetzelfde: page en per, met per tussen 10 en 5000, gesorteerd op sort en order=asc|desc. Per call komen maximaal 1.000 rijen terug, en diepe paginering stopt bij 50.000, dus vraag om de sortering die je antwoord als eerste oplevert.
Voor de budgetkant van deze keuzes, zie de notebook budget, en voor een gekozen provider mix de decision tree.
Lange tabellen in plaats van één sheet per pull
De gewoonte om een nieuw sheet voor elke maand te openen is veelvoorkomend. Drift begint daar, en het is moeilijk ongedaan te maken. Een enkele lange tabel is makkelijker correct te houden. Het is ook makkelijker te controleren.
Denk er als volgt over na. Elke maand voegt rijen toe aan één tabel in plaats van een nieuw object te creëren dat onderhouden moet worden. De tabel wordt langer, maar geen enkel cijfer hoeft met de hand gekopieerd te worden. Elke rij draagt dan zijn eigen snapshot, bron en granulariteit, wat een lezer in één oogopslag kan controleren.
Eén lange tabel met een snapshotkolom
Veel mensen beginnen elke maand een nieuw sheet. Een lange tabel met een snapshotkolom houdt elke maand op één plek, en een filter vervangt het kopieer-plakwerk. Stel je trekt verwijzende domeinen voor 30 sites over zes maanden. Dat is één tabel om te controleren, niet zes sheets om te verzoenen.
Samenvattingen worden dan één group_by() call in plaats van een sheet per maand. Houd de ruwe pulls onaangetast, zodat de tabel op elk moment opnieuw gebouwd kan worden.
Zelfde kolommen, anders faalt de join stil
Bestanden van verschillende personen combineren alleen schoon als ze dezelfde kolomnamen, typen en codering delen. Controleer de koptekst van elk bestand voordat je ze bindt, en stop het script als er één verschilt.
Een renamestap die oude namen naar de glossariumnamen mapt kost een paar regels. Het bespaart een tweede blik op elke grafiek die uit de mismatch kwam.
Houd een korte lijst bij van de kolomnamen die je notebook verwacht, en vergelijk elk nieuw bestand hiermee voordat er iets anders draait.

Twee waarschuwingen voordat je iets modelleert
Omdat DR onze eigen metric is, gebouwd alleen uit verwijzend-domein tellingen, is het niet Moz DA. Meng het nooit met Ahrefs DR in één regressie.
Tellingen hangen ook af van de crawl. Een site met een plotselinge sprong na de core update van maart 2024 kan simpelweg deze maand vollediger gecrawld zijn, dus controleer de snapshotdatum voordat je iets tegen een klant zegt.
Behandel het glossarium als een contract met je toekomstige zelf. Als een kolom je over zes maanden verrast, is de definitie hierboven wat je had moeten aannemen.
Naamgevingsgewoonten voor je eigen kolommen
Hernoem bij import, en doe het één keer.
Prefix kolommen met de actie, bijvoorbeeld refdomains of anchors, voordat je iets join, zodat een merge nooit twee kolommen produceert die onder dezelfde naam iets anders betekenen. Schrijf de renamestap in een functie en hergebruik hem in elke notebook die de API raakt.
Dit kost vijf regels en bespaart het argument over wat een kolom betekent, wat de meest voorkomende bron van verkeerde cijfers in linkrapporten is.
Een linktabel in vijf passes lezen
Kijk naar de granulariteit
Controleer wat één rij betekent, gebruikmakend van de actietabel hierboven, voordat je een cijfer leest.
Controleer de snapshot
Vind de snapshotdatum in de bestandsnaam of in een kolom, en bevestig dat deze overeenkomt met de pull die je bedoelde.
Tel de rijen
Vergelijk nrow() met het aantal dat je verwachtte, en schrijf het verschil in een comment naast de read.
Lees de bereiken
Kijk naar het minimum en maximum van DR en van de tellingen. Een DR buiten 0 tot 100 wijst op een parsingsprobleem, niet op een bevinding.
Noem de kolommen
Hernoem elke kolom naar zijn actieprefix, zoals refdomains of anchors, voordat je iets join.
Vragen over acties en termen
Dit zijn de vragen die vaak volgen op een eerste linktabel in R.
Met welke actie moet ik beginnen?
Begin met domain of overview, omdat beide gratis zijn en geen key nodig hebben. Ze tonen de vorm van een response voordat je een krediet uitgeeft.
Ga naar bulk_dr zodra die vorm duidelijk is, omdat een enkele call tot 2.000 domeinen scoort voor één krediet.
Waarom verschillen mijn tellingen van een andere tool?
Elke provider crawlt het web op zijn eigen schema en telt links anders. Onze linkgraph ververst ongeveer één keer per maand, en DR hier is ons eigen logaritmische cijfer.
Vergelijk trends over maanden heen in plaats van exacte matches.
Hoe wordt DR berekend?
DR is gelijk aan round(100 keer de natuurlijke logaritme van verwijzende domeinen plus één, gedeeld door de logaritme van 2 keer 10 tot de zevende).
Het hangt af van één input, dus je kunt het opnieuw berekenen uit een verwijzend-domein pull.
Heb ik een key nodig voor elke actie?
Gratis acties draaien zonder key. De betaalde acties nemen de key als query parameter of in een Authorization Bearer header.
Een ontbrekende of slechte key retourneert HTTP 401, wat de eerste fout is om te controleren als een call faalt.