Domain authority signal
20%The agency's own Ahrefs Domain Rating, normalised across the active set so the strongest scores 100 and the weakest scores 0.
The ranking is computed by a script from the weights below, not decided by anyone. This page renders the actual scoring file the script reads — change a weight there and both the ranking and this page move together, which is the only way a published methodology stays true.
Scoring version 1.0.0 · data checked 26 Aug 2026
Seven criteria, 100% in total
The agency's own Ahrefs Domain Rating, normalised across the active set so the strongest scores 100 and the weakest scores 0.
70% current monthly organic traffic on a log scale (so an agency with 50,000 visits does not simply erase one with 5,000), 30% the 12-month change ranked against the rest of the set. An agency that sells search visibility is measured on its own.
Full published prices score 100. A published floor with no ceiling ("from $99") scores 65. Quote-only scores 0. This measures what a buyer can find out before booking a call, nothing else - a quote-only agency is not a worse agency, it is a less transparent one.
The minimum DR or DA the agency publicly commits to placing on, normalised against a DR 70 ceiling. Publishing no floor scores 0, because the score measures a public commitment, not private practice.
How many distinct named services the agency offers, capped at 15. Breadth is neutral, not good: a focused link-building shop scores lower here and that is not a criticism.
Count of client companies the agency names on its own site, capped at 10. Media outlets they place in do not count. Testimonials from individuals without a company do not count.
Years since founding, capped at 20. Where an agency does not publish a founding year this criterion is DROPPED and its 10 points are redistributed proportionally across the others. Scoring an unknown as zero would assert the agency is new, which we do not know.
A blank scores 0 because the blank is itself the finding - no published price, no published quality floor, no named clients.
A blank removes the criterion for that agency and its weight is shared out across the criteria that do have data, so the agency is scored only on what is known. Only longevity works this way, because an agency that does not print a founding year is not thereby new — we simply do not know. Just 7 of 26 publish one.
Same measured values, different weights
Segment pages re-rank the same measured criteria under different weights, because a buyer with a $900 budget and a buyer shopping enterprise digital PR are not asking the same question. Only the weights move: no criterion is recomputed, nothing is added, and every override is printed on the page it affects. A segment with no entry here uses the flagship weights unchanged.
Uses the flagship weights unchanged.
Enterprise and B2B buyers underwrite a longer sales cycle, so evidence of comparable clients and years in business count for more, and breadth of service list counts for less.
You cannot shop on a budget against an agency that will not quote one, so pricing transparency doubles and the published quality floor rises with it. An agency's own authority matters less when the constraint is what you can actually afford.
Resellers need a price to build a margin on and a breadth of service to resell, so both rise. Named client evidence drops to zero: white-label agencies sell under NDA and naming clients would breach it, so scoring them on it would penalise the business model itself.
Digital PR is earned coverage, and an agency that earns coverage for clients should have earned some for itself, so its own authority and traffic carry most of the weight. Pricing transparency falls because campaign pricing is genuinely bespoke here rather than evasive.
Pinned positions are editorial and disclosed. Pinned entries are scored on exactly the same criteria as everyone else and their real score is displayed unaltered, including where it sits below agencies ranked under them.
Both numbers are published because the gap is the point. On the ranking table you can sort by score and release the pins in one click — the order you get is the honest one, and nothing on this site tries to stop you looking at it.
Domain Rating, organic traffic, organic keywords, traffic value, live backlinks and referring domains for every domain, plus twelve months of history for Domain Rating, traffic and referring domains. Pulled through the Ahrefs API on a single date so every agency is measured on the same day.
Pricing, quality floors, minimum commitments, guarantees, services, industries, named clients, founding year and location — read from the agency's homepage and pricing page. Where the two disagree, the pricing page wins and the conflict is recorded. Five sites block automated fetching and were read in a real browser instead.
Computed from the weights above by scripts/collect-data.mjs. The ranking is generated, never typed. Rebuilding the dataset is one command, so the refresh cadence is limited by how often the source pages change rather than by anyone's patience.
Excluded entries are counted nowhere — not in the averages, not in the medians, not in the ranking.