The gap between an SEO score and an SEO action
Run any site through any auditing tool and you will receive a number, a colour and a list. The number will be somewhere in the sixties. The list will contain forty-one items, of which about six matter, and it will be sorted by a severity ranking that has no knowledge of the client's business. You will then spend an hour working out which six, and that hour is the actual job.
This is a design problem rather than a data problem. Audit tools are built to be comprehensive because comprehensiveness is easy to demonstrate in a sales demo. A four-hundred-item report looks more thorough than a nine-item one, even though the nine-item report is what a competent consultant would have produced from the same crawl. So agencies buy the thorough tool and then quietly hand-filter its output before anything reaches a client, which means the tool has moved work rather than removed it.
The second gap is worse. An audit tells you a page is technically deficient. It has no idea whether that page matters. A missing meta description on a page that has produced nineteen phone calls this quarter is worth fixing this afternoon; the same missing description on a page nobody has ever landed on is worth precisely nothing, and both appear identically in the list. Every agency knows this and every agency triages it by hand, usually by cross-referencing analytics in another tab.
The approach here is to close both gaps rather than add another scoring metric. Findings are specific — the page, the element, the current value and the proposed replacement, not a category name. And every page in the crawl carries the leads it produced, so the list can be sorted by "pages that generate enquiries and have something wrong with them", which is the only sort order that has ever been useful.
What the suite covers
Six areas, all crawl-driven or API-driven, all reportable to a client under your own branding.
Technical site audit
A real crawl: status codes, redirect chains, canonical conflicts, orphaned pages, duplicate titles, missing alt text, broken internal links, robots and sitemap problems. Findings name the URL and the element.
Core Web Vitals
Largest Contentful Paint, Interaction to Next Paint and Cumulative Layout Shift, from field data where Google has it and lab data where it does not, per template rather than per URL so the fix is actionable.
Rank tracking
Positions over time for the terms that matter to the client, tracked at the locality that matters — a plumber in one suburb does not care about national position.
On-page scoring
Per page, per target term: title, headings, body coverage, internal linking, image treatment. The output is a list of rewrites, not a grade.
Backlink discovery
Referring domains found from Search Console and from crawl data rather than a rented index, so it costs nothing per client and reflects links that genuinely resolve.
Structured data
LocalBusiness, Service, FAQ and Breadcrumb markup generated from the client's own details, validated, and ready to paste — the highest-return ten minutes available on most local sites.
How an audit runs
The crawl is polite, scheduled and repeatable, because an audit that hammers a client's server is an audit that gets you blocked.
The site is crawled at a rate it can take
Concurrency and delay are bounded, robots.txt is respected, and the crawler identifies itself. A shared-hosting site for a small trades business is not a search engine's infrastructure and should not be treated like it.
Every page is scored against its target term
You say what a page is meant to rank for. Scoring without a target is guesswork dressed up as analysis, and it is why generic on-page scores correlate so poorly with actual performance.
Findings are written as changes
"Title is 74 characters and will truncate; here is a 58-character alternative that keeps the town name" rather than "title length: warning". The second is a fact; the first is a task somebody can complete.
Pages are joined to their leads
Each crawled URL is matched against the landing pages that produced calls and forms, so the audit list can be ordered by commercial value rather than by technical severity.
The audit is repeated and diffed
Run it monthly and the report shows what changed, what was fixed and what regressed — which is the version a client can actually see progress in.
Rank tracking, and what a position is actually worth
Rank tracking is the oldest SEO deliverable and the one most prone to becoming ceremonial. An agency tracks forty terms, reports the average position monthly, and both parties look at a line that goes gently up and to the right. Nobody asks what any of it is worth, partly because the honest answer is often "not much".
Two things make rank tracking useful again. The first is locality. Local search results differ street by street; a plumber ranking third from the town centre may rank eleventh from the suburb where most of their customers live, and a national or even city-level position hides that entirely. Tracking at the localities the client actually serves turns a vanity line into a map of where the business is and is not visible.
The second is joining position to outcome. Once a landing page carries the calls and forms it produced, a ranking improvement can be read against a lead change on the same page. Sometimes the two move together, which is the story everyone hopes for. Sometimes a page climbs from position seven to position three and produces exactly as many enquiries as before, which is genuinely valuable information: it means the term does not convert and the effort belongs elsewhere.
That second case is the one agencies systematically avoid discovering, and it is the single most expensive blind spot in the discipline. Months of work go into terms that rank beautifully and produce nothing, defended by a report that only measures the ranking. Reporting position and leads on the same page makes the mismatch impossible to miss, which is uncomfortable exactly once and profitable thereafter.
Where the data comes from, and what that costs
Worth being explicit, because the economics of SEO tooling are usually hidden and they determine what you can afford to run across an account base.
| Signal | Source | Cost model | Honest limitation |
|---|---|---|---|
| Technical findings | Our own crawler | Compute only, no per-client fee | Sees what a crawler sees. Heavily client-rendered sites need care. |
| Core Web Vitals | Google's public speed data | Free tier, rate limited | Field data needs traffic. Low-traffic pages fall back to lab measurement. |
| Search impressions and queries | The client's own Search Console | Free, needs the client to authorise | Only covers Google, and Google samples and redacts some queries. |
| Rank positions | Scheduled position checks | Metered per tracked term | A position is a snapshot from one place at one time. Personalisation is real. |
| Backlinks | Search Console plus crawl discovery | No third-party index fee | Narrower than a paid index. Honest about what it found rather than estimating. |
The reason this lives beside call tracking
It would be entirely reasonable to ask why an attribution platform has an SEO suite in it. The answer is not bundling for its own sake. It is that the two datasets are only useful together, and keeping them in separate tools is what makes SEO so hard to defend commercially.
Consider the standard agency position. You have an SEO tool that reports traffic, rankings and technical health. You have an attribution tool that reports leads by channel. The SEO tool says organic traffic is up eighteen per cent. The attribution tool says organic produced forty leads. Nothing connects a specific page to a specific enquiry, so you cannot say which of the work you did produced which of the leads, and at renewal the client asks precisely that.
When the crawl and the leads share a database, the join is trivial and the conversation changes completely. This page ranks for these terms, receives this much traffic, and has produced eleven calls and four forms this quarter. That page you asked us to build in January has produced two enquiries and is not worth extending. This third page produces more leads than anything else on the site and has a title that truncates.
The other half of the argument is telephone-shaped. Organic search on a local services site produces a disproportionate number of calls and a disproportionately small number of forms, because someone who searched "emergency electrician near me" is going to ring. An SEO tool that measures form conversions is measuring the channel at its weakest point. Joining rankings to tracked calls is, for a great many agencies, the first time their own SEO work has been fully credited.
What it does not claim
SEO tooling attracts more inflated claims than any other category in marketing software. Here is the boundary, stated plainly.
- It is not a rented link index. Backlinks are discovered from Search Console and crawling, not licensed from a third-party crawl of the whole web. That means narrower coverage, no per-client data fee, and figures described as discovered rather than total.
- It does not do keyword volume estimates. Volume figures from any vendor are modelled and frequently wrong by an order of magnitude. Real query data from the client's own Search Console is both free and true.
- It does not write the content. It tells you which page, which term and which element. Somebody who understands the client's business writes the sentence.
- It does not guarantee a position. Nothing does. Anybody selling you one is selling you a coincidence in advance.
- It is not a replacement for judgement. A prioritised list is a starting point for a consultant, not a substitute for one. The suite is explicit that findings are ordered by a heuristic, and the heuristic can be overridden.
- It does not crawl what it is told not to. robots.txt is respected and rate limits are enforced. An audit that gets your crawler banned from a client's host has cost more than it found.
The local pack, and the part of SEO that is not on the website
For a local services business, a substantial share of search visibility happens somewhere the crawler cannot reach: the map pack. A business can have an immaculate website, perfect technical scores and comprehensive service pages, and still lose most of the available traffic to three competitors sitting above the organic results in a box the website has no influence over.
That box is driven by things a site audit will never surface — proximity to the searcher, category selection, review volume and recency, photograph freshness, hours accuracy, and the consistency of the business name and address across the wider web. An agency that reports only on-site SEO to a local client is reporting on the smaller half of the problem and will eventually be asked why the competitor with the worse website gets more calls.
The suite handles the parts of this it can honestly handle and points at the rest. Structured data generation makes the site's own description of the business machine readable and consistent, which is the on-site contribution to local ranking. Locality-specific rank tracking shows where in the service area the business is visible and where it evaporates. Review management, which is a separate part of the platform, covers the signal that moves local rankings most reliably. And the calls joined to landing pages reveal how much of the client's inbound is arriving through search at all.
What it will not do is claim to optimise a Google Business Profile automatically. The levers that matter there are categories, hours, photographs, posts and reviews, and they are pulled by a person who understands the business. A tool that promises to automate local ranking is describing a checklist, and the checklist is short enough that pretending otherwise is not worth it.
Running SEO across an account base rather than one site
Most SEO tools are priced and designed around one site at a time. Agencies do not work that way. An agency with twenty-five local clients needs to know, on a Monday morning, which three of them have something wrong that is costing money — not to open twenty-five dashboards in sequence.
So the useful unit is the cross-account view: which sites have new critical findings since the last crawl, which have lost positions on terms that produce leads, which have Core Web Vitals that have degraded, and which have pages that were producing enquiries and have stopped. That list is short, it is different every week, and it is where an account team's attention should go.
The regression case is the one worth building a habit around. A page that quietly stopped producing leads is invisible in every conventional SEO report, because rankings and traffic often barely move while a form breaks, a number stops swapping, or a redirect eats the page that was working. Joining crawl data to lead data makes that detectable — and it is detectable in days rather than at the end of the quarter when somebody notices the total is down.
The same view is what makes the economics work for an agency. SEO tooling priced per site per month becomes the second-largest line in an agency's cost base surprisingly quickly, which is why so many agencies run one seat and share exports around. Crawl and audit capacity here is bounded by the plan's client count rather than billed per site, so auditing every account monthly is a scheduling decision rather than a budgeting one.
Reporting SEO to a client who does not care about SEO
The client does not want to know about canonical tags. They want to know whether the money they spend with you produces work. Every successful SEO report is a translation exercise, and most SEO tools make the translation harder by producing outputs in the vocabulary of the discipline rather than the vocabulary of the business.
The version that works has three layers. At the top, enquiries from organic search this month against the same month last year — a number in the client's own units. In the middle, the pages producing them, with their positions, so improvement has a visible mechanism. At the bottom, and only for clients who want it, the technical detail.
Because the audit, the rankings and the leads are in one system, that report assembles itself rather than being built by hand from three exports each month. It goes out on a schedule, under your branding, from your domain. And the client can open the live version whenever they like, which quietly removes the monthly ritual where somebody asks for an update and somebody else spends two hours producing one.
The scheduled version matters more than it sounds. Retention correlates strongly with whether the client can see value without asking for it, and an SEO retainer is the most vulnerable line item in most agency relationships precisely because its results are slow, indirect and invisible between reports.
Common questions
Does the SEO suite work for local businesses specifically?
That is what it is built for. Rank tracking runs at the localities a client actually serves rather than nationally, structured data is generated for LocalBusiness and Service markup, and every page is joined to the calls it produced — which matters more in local search than anywhere else, because local intent converts by telephone.
Where does the backlink data come from?
From the client's own Search Console and from crawl discovery, not from a licensed third-party index. Coverage is therefore narrower than a dedicated backlink tool and carries no per-client data fee. Figures are described as discovered rather than total, because overstating coverage is worse than having less of it.
Can I white-label the SEO reports?
Yes, on plans that include white label. Audits, rank reports and the client-facing dashboard carry your domain, your logo, your colours and your sending address. The client sees your agency, not a tool you resell.
How is on-page scoring different from other tools?
It scores each page against a target term you specify rather than producing a generic grade, and it returns proposed changes rather than warnings — the current title, the problem with it, and a replacement. A category name is a fact; a proposed rewrite is a task somebody can complete.
Will the crawler slow down my client's site?
It is rate limited and concurrency bounded, it respects robots.txt and it identifies itself. A small trades site on shared hosting is not search engine infrastructure and is not crawled as if it were. An audit that gets your crawler blocked has cost more than it found.
Can I see which pages produce leads rather than just traffic?
Yes, and it is the main reason to run SEO in the same system as attribution. Every crawled URL is matched to the calls and forms that started on it, so the audit list can be sorted by commercial value. A missing description on a page that produced nineteen calls is a different priority from the same fault on a page nobody lands on.
Do you provide keyword search volume?
No, deliberately. Volume estimates from every vendor are modelled and often wrong by an order of magnitude. What is offered instead is the client's real query data from their own Search Console, which is free, specific to them, and true.
How often do audits run?
On the schedule you set per client — typically monthly, and on demand whenever you need one. Repeated audits are diffed, so the report shows what was fixed and what regressed rather than restating the same forty findings, which is the version a client can see progress in.
Does it check Core Web Vitals?
Yes — LCP, INP and CLS, using Google's field data where the page has enough traffic for it to exist and lab measurement where it does not. Results are grouped by template rather than listed per URL, because the fix is almost always in a template rather than on one page.
Can it generate structured data markup?
Yes — LocalBusiness, Service, FAQ and Breadcrumb schema built from the client's own details, validated, and ready to paste into the site. On most local business sites this is the highest-return ten minutes of work available and it is very often simply missing.