Skip to content
CranSEO
CranSEOGet $100 free

Join backlinks with Search Console exports, step by step

Search Console lists who links to you, but not how strong they are. One call per export fills that gap. Every number below is an invented example.

CranSEO research team ·

The setup, and why a join helps

Search Console shows linking sites. It does not rank them.

That is the gap. Export the top linking sites as a CSV, and you have a column of domains but no sense of weight, which makes any report built on it a list rather than an argument.

Our bulk_dr action scores the whole column in one call, so the join is a single left_join() on the domain. Search Console shows only a sample of the links it knows, so treat the export as a floor, not a total.

The join in five steps

01

Export

Download the linking-sites table from the Links report in Search Console. Read it with readr::read_csv().

02

Clean

Lowercase, strip www, drop duplicates. Mismatched keys are the usual reason a join silently returns NA.

03

Score

Send the unique domains to bulk_dr in chunks of 2,000. One call is 1 credit.

04

Join

left_join(links, scores, by = "domain"). Check the row count before and after.

05

Flag

Cut into the DR bands from our threshold table and list the rows your export lacks a score for.

Hypothetical result, 8 rows of an invented export

Example data only. Domains and numbers are made up to show the shape of the join.
domain (invented)Links in exportDR (invented)Band
example-news.test1471Strong
example-blog.test334Established
example-shop.test218Small
example-forum.test409Thin
example-uni.test162Strong
example-dir.test274Thin
example-local.test522Small
example-wiki.test183Very large

What the example tells you, and what it does not

Look at the forum. Forty links, DR 9. Volume without weight.

In this made-up case two rows with one link each outrank 67 links from thin sites, which is the pattern you should look for in your own data. It reflects how DR works, not a promise about rankings.

Do not read causation into it. Google has said links are one signal among many, and since the March 2024 core update the picture has only grown busier.

Join questions

Why do some rows come back without a score?

Usually the key differs: a trailing slash, a www prefix or different casing. Clean the strings first. If it still fails, the domain may simply be absent from the monthly index we crawled.

Can I use intersect instead?

Yes, for a different question. intersect takes 2 to 10 domains and returns sites linking to several of them, which suits competitor gap analysis rather than scoring your own export.

How many credits does the join cost?

For 5,000 unique domains, three bulk_dr calls cost 3 credits, about $0.0003. The pull is trivial next to the time you spend cleaning the export.

Cleaning rules that save the join

Keys break first. Always.

Lowercase every domain, remove a leading www, drop trailing dots and slashes, and collapse duplicates before the call, because one stray capital letter turns a good match into an NA that you may not notice until a client asks.

Keep the raw export untouched in its own file, write the cleaned table next to it, and record the export date in the file name. The monthly runbook explains why dated files matter, and the bulk scoring page has the request code to reuse.

Finally, count your rows. If the export has 1,200 unique domains and the scored table has 1,150, find the 50 before you chart anything; the glossary lists what the action returns, and the decision tree tells you when another source is the better answer.