AlfaLinks
AlfaLinksGet $100 free

Severity table

Spam backlinks checker: a rule set built from API fields

We do not sell a spam score, and we will not pretend one exists. What we have is raw ingredients, and rules built from them make a useful warning.

What this flag is

A heuristic warning for your users, based on public structure. It cannot prove that a link is harmful, and Google has said since the Penguin update became part of the core algorithm in September 2016 that it mostly ignores spammy links instead of penalising them.

Severity table: signal, source action and suggested level

Thresholds are examples to start tuning from, not industry standards.
SignalAPI actionAmber atRed at
One anchor dominates the profileanchorsAbove 40 percent of linksAbove 70 percent, exact-match money phrase
Odd TLD concentrationtld_breakdownAbove 25 percent in one cheap TLDAbove 50 percent
Referring domains very low DRdr_distributionAbove 60 percent under DR 10Above 85 percent
Sudden jump between monthsrefdomains, two snapshots3x growth10x growth
Same pages linked from many domainstoppagesOne page above 50 percentAbove 80 percent

Recipe: the three calls behind one flag

  1. 1

    Pull the distribution

    dr_distribution costs 1 credit and gives the DR bands of referring domains. It is the cheapest first filter.

  2. 2

    Pull the anchors

    anchors costs 2 credits. Compute the top anchor's share on your side and compare it to the table.

  3. 3

    Pull the TLDs

    tld_breakdown costs 1 credit. Total for the flag: 4 credits, or $0.0004 per domain.

Request example

Three calls, run in parallel from your server. Cache each for the month.

bash
curl "https://alfalinks.net/api.php?action=dr_distribution&q=example.com&key=sk_live_..."
curl "https://alfalinks.net/api.php?action=anchors&q=example.com&per=50&sort=count&order=desc&key=sk_live_..."
curl "https://alfalinks.net/api.php?action=tld_breakdown&q=example.com&key=sk_live_..."

Wording that does not scare users

Say 'worth a look', not 'toxic'. Fear sells disavow files that nobody needs.

Google's own guidance on the disavow tool says most sites do not need it, and Search Console is where a manual action would show up. Point your users there first, and let your flag say that it found a pattern instead of a verdict.

Show the evidence. A line such as 'one anchor makes up 63 percent of links' lets a human decide, while an opaque red badge invites a support ticket you cannot answer.

For hands-on checks, send them to the free lookup and to your own score labels.

Limits of any rule-based flag

Be blunt about false positives. They will happen.

A news site can have a heavy exact-match anchor because everyone links its brand name, and a regional business may legitimately collect most links from a single country-code TLD. Rules built from structure see shape, never intent.

So give users a way to dismiss a warning and remember the dismissal per domain. Count dismissals too; a rule that users dismiss eighty percent of the time needs new thresholds, not more red.

Pair the flag with the score labels, and keep calls cached as described in the cache recipe.

Before the flag ships

  • Each rule shows its evidence in plain words.
  • Thresholds live in config, so you can tune without a deploy.
  • Copy says 'worth a look', never 'toxic' or 'penalty'.
  • Users can dismiss a flag and the choice is stored.
  • Search Console is mentioned as the place to check for manual actions.

Pricing the flag

Four credits per domain. That is $0.0004.

For a workspace tracking 25 domains and refreshing each one monthly, the flag costs about a cent a month, which makes it cheap enough to include in every plan instead of treating it as an upsell.

Run the calls only when the index month changes. Between refreshes nothing underneath can have moved, and the cache recipe shows the key design.