Over six months the site went from an average position of 28 to 13, monthly clicks roughly doubled (506 to 1,064), and conversions climbed from 13 to 29. Modeled lead value moved from $8,450 to $18,850 a month. None of that came from a content firehose. The biggest single lever was deciding what not to publish and which pages to merge. This is the honest version, including the keywords that went backwards while the headline numbers went up.
Executive Summary
Context
The client is an anonymized local accounting lead-gen business competing in a single metro service area. When I picked it up, average positions hovered around 28 and the traffic was uneven month to month, some commercial queries flickered on page one, most of the money intents sat in the 60s and 70s. The site already had pages for every service and several near-duplicate variations of the same commercial intent, which is exactly the kind of structural debt that caps a site below its competitors regardless of how much new content you bolt on.
Domain Rating started at 16 with 27 referring domains and 165 backlinks, a small but not dead profile. The constraints were real: heavy local competition, limited monthly content production capacity, and a hard rule against any unverifiable claims (no invented review counts, no "award-winning" language). That last constraint shaped the entire editorial approach, because in a regulated-adjacent field like accounting, overclaiming is both a trust risk and a conversion risk.
The Challenge
The diagnosis split into three problems, in priority order.
1. Intent collision on the money pages
Multiple URLs were chasing the same commercial and transactional intents around /services/accountant. When several of your own pages compete for one intent, Google rotates them, none accumulates authority, and rankings stay volatile. That explained the flickering.
2. Crawl waste and template duplication
Low-value URLs were eating crawl budget and template-level duplication was muddying which page should rank for what. Fixing content before fixing this would have been pouring water into a leaking bucket.
3. Weak conversion paths
The transactional pages (quote, consultation, appointment, emergency) were buried, reachable, but several clicks deep and under-linked. Those are the pages closest to revenue, so their depth was directly suppressing conversions.
I deliberately deprioritized link building for the first three months. With intent collisions unresolved, new links would have flowed into a confused architecture and reinforced the wrong URLs.
Methodology
The sequence was foundation first, then intent alignment, then architecture, then authority. Data sources were Search Console for impressions, clicks, CTR and average position; analytics for sessions and conversions; and a backlink index for DR, referring domains and total backlinks. Revenue is a modeled lead value, not a CRM-verified close figure, stated plainly so nobody mistakes it for booked income.
Foundation (months 1-3)
Technical SEO ran first: crawl and indexation triage, canonical and redirect cleanup, template-level duplication fixes, Core Web Vitals and renderability checks, and internal status-code validation. The goal was a cleaner indexed-page ratio and a more stable average position before any content scaling.
Intent alignment (months 2-4)
I mapped each target query to one, and only one, canonical page using SERP intent analysis, then wrote rewrite briefs for the money pages and planned support pages to reinforce them. E-E-A-T proof blocks and FAQ/comparison sections were added only where they could be backed by approved evidence.
Architecture and entities (months 2-5)
Hub-and-spoke internal linking pushed contextual links to the priority URLs, consolidated cannibalizing pages, and shortened the path to conversion pages. In parallel, Organization and Service schema were cleaned up, author/reviewer entities aligned, and citations made consistent so search surfaces had an unambiguous read of the brand.
Editorial QA (months 1, 2, 4)
Every update passed a brand-voice and claim-boundary review. Risky or unsupported language was blocked before publication, non-negotiable given the no-fake-claims constraint.
Timeline

The phases map directly to the service plan, and each workstream is tied to the metric it was meant to move.
Month 1, Technical audit + intent mapping
technical-seo and brand-voice started together. Indexation triage and template fixes stabilized the foundation; the brand-voice work set claim boundaries before a single page was rewritten. Average position: 28. Clicks: 506.
Months 2-3, Architecture + money-page consolidation
content-authority and internal-linking took over. This is where the cannibalizing commercial pages were merged into /services/accountant and the duplicates redirected. By month 3 average position improved to 22 and clicks reached 753.
Months 3-5, Entities and schema
entity-schema-ai cleaned Organization/Service schema and aligned author and reviewer entities, plus answer-ready summary blocks written without unsupported claims. This supports clearer brand and service understanding across search surfaces.
Month 5, The pivot
I stopped producing net-new volume and redirected effort into consolidation and pruning weak pages. More on the reasoning in the causal section. Average position: 16. Clicks: 917.
Month 6, Light digital PR + link recovery
digital-pr ran last on purpose: lost-link recovery, unlinked-mention reclamation, and a small number of relevant placements, kept within plausible monthly caps. DR finished at 21 with 40 referring domains. Average position: 13. Clicks: 1,064.
Results
The trajectory was steady rather than spiky, which is what you want when the work is structural. Impressions rose from 21,991 to 40,924. Clicks went from 506 to 1,064. CTR ticked up modestly from 2.3% to 2.6%, a small move, but a meaningful one, because rising impressions usually dilute CTR. Holding and slightly improving it while impressions nearly doubled means the queries the site surfaced for got more relevant, not less.

Above is the month-1 starting state; below is month 6 after consolidation and the architecture work compounded.

Average position improved every month except month 4, where it held the trend but sessions dipped (700, down from 785 in month 3) even as clicks edged up to 760. That divergence is real and I address it in limitations. By month 6, sessions reached 1,015 and conversions hit 29.
Disclosure: the visuals above are masked illustrative views, not verified Google exports and not client-provided screenshots. Domain and query-level data are blurred per the evidence policy. Metrics are internally coherent for this anonymized composite and should not be represented as third-party-verified.
Keyword Movement

The headline wins were the high-intent commercial and local queries that pointed at the consolidated money page. The decliners are just as instructive, two commercial terms went backwards during the same period, almost certainly because consolidation concentrated relevance on the primary intents and let weaker secondary variations slip.
| Keyword | Intent | Mapped page | Vol | Diff | Before | After | Category |
|---|---|---|---|---|---|---|---|
| accountant near me | local | /[city-masked]/accountant | 880 | 32 | 34 | 1 | winner |
| best accountant | commercial | /services/accountant | 480 | 31 | 26 | 1 | winner |
| accountant company | commercial | /services/accountant | 1000 | 48 | 45 | 1 | volatile |
| accountant quote | transactional | /services/accountant | 1000 | 45 | 29 | 3 | winner |
| accountant guide | informational | /resources/accountant-guide | 590 | 29 | 28 | 9 | winner |
| local accountant | local | /[city-masked]/accountant | 1900 | 12 | 34 | 20 | winner |
| accountant cost | commercial | /services/accountant | 320 | 39 | 63 | 27 | winner |
| accountant appointment | transactional | /services/accountant | 480 | 36 | 74 | 43 | winner |
| accountant repair | transactional | /services/accountant | 1900 | 17 | 78 | 55 | winner |
| emergency accountant | transactional | /services/accountant | 1000 | 14 | 61 | 46 | winner |
| accountant consultation | transactional | /services/accountant | 480 | 15 | 68 | 51 | winner |
| accountant services | commercial | /services/accountant | 720 | 40 | 75 | 63 | winner |
| accountant reviews | commercial | /services/accountant | 320 | 21 | 36 | 34 | stable |
| accountant service area | local | /[city-masked]/accountant | 1900 | 46 | 19 | 59 | volatile |
| accountant specialist | commercial | /services/accountant | 1300 | 47 | 64 | 81 | decliner |
| accountant pricing | commercial | /services/accountant | 1000 | 26 | 67 | 84 | decliner |
Which intents won and why
Local and transactional intents won hardest. "accountant near me" went 34 → 1 and "best accountant" 26 → 1 once a single canonical page stopped competing with itself and the internal linking funneled authority into it. The transactional set, quote (29 → 3), consultation, appointment, emergency, all climbed because those conversion pages were pulled closer to the surface and reinforced by support content.
The regressions I won't hide
"accountant service area" fell from 19 to 59, the most painful single move. It's a local term that previously ranked decently; during architecture changes it lost the page-level signals it had been borrowing, and it's flagged volatile because it has not settled. "accountant specialist" (64 → 81) and "accountant pricing" (67 → 84) declined because consolidation prioritized the primary commercial intents over these secondary variations. That was a deliberate trade-off: I'd rather own "best accountant" and "accountant company" at position 1 than spread thin across every long-tail variant. "accountant company" (45 → 1) is marked volatile despite the gain, it reached the top but is still bouncing, so I don't treat it as banked.
Business Impact
Traffic doubling is not the story. The story is that conversions rose from 13 to 29 a month and modeled lead value from $8,450 to $18,850. Because the wins concentrated on transactional and local intents, quote, consultation, appointment, near-me, the incremental clicks skewed toward people ready to act, not toward informational drive-by traffic. That's why conversions grew roughly in line with clicks instead of lagging far behind them.
Conversion rate against sessions stayed in a tight band (about 2.5% to 2.9% across the six months), which tells me the gains came from more qualified visitors reaching better-positioned conversion pages, not from a one-off conversion-rate trick that might not hold. For a local lead-gen business, a sustained near-doubling of monthly qualified leads is the kind of result that changes capacity planning, not just a dashboard.
One honest caveat on revenue: this is modeled lead value at an average. Real booked revenue depends on close rates I did not have CRM access to, so treat the dollar figures as directional pipeline indicators rather than verified income.
Limitations
Month 4 broke the clean line. Sessions fell to 700 from 785 the prior month while clicks held at 760 and conversions dipped to 19. That divergence between clicks and sessions usually points to SERP volatility and measurement gaps during active architecture changes, redirects settling, some queries reshuffling. I didn't chase it; by month 5 the trend reasserted (899 sessions, 25 conversions).
Three keywords went backwards ("accountant service area", "accountant specialist", "accountant pricing"). Two were accepted trade-offs from consolidation; one ("service area") is genuine collateral damage I'm still working to recover.
Revenue is modeled, not CRM-verified. No close-rate data was available, so the dollar figures are average lead values.
Attribution lag is real. Link recovery in month 6 will likely show most of its ranking effect after the reporting window closed, so the DR move from 16 to 21 understates the eventual impact.
Competitive response in a contested local market means even position-1 terms aren't permanent. "accountant company" reaching 1 but staying volatile is the clearest example.
Causal Explanation
The mechanism behind the headline numbers runs in one direction: structure → intent alignment → ranking stability → qualified clicks → conversions.
Fixing technical debt and template duplication first gave Google a clean site to crawl. Consolidating the cannibalizing commercial pages into one canonical money page meant authority stopped splitting across near-duplicates, that's what took "best accountant" and "accountant near me" to position 1. Internal linking shortened the path to the quote, consultation and appointment pages, which is why transactional rankings climbed and conversions followed. Schema and entity cleanup reduced ambiguity about what the brand does, supporting CTR holding up as impressions grew.
The month-5 pivot
Through month 4 the plan still assumed steady content production. But the data showed the returns weren't coming from new pages, they were coming from consolidation and internal-link reinforcement of pages that already converted. Meanwhile, thin secondary pages were diluting the money page's relevance. So I stopped producing net-new volume and reallocated that effort into merging and pruning weak pages. The evidence: the steepest ranking and conversion gains (month 5 to month 6: clicks 917 → 1,064, conversions 25 → 29) came after I stopped scaling content, not before. Producing more would have spread authority thinner and likely deepened the secondary-keyword declines.
The second, smaller pivot was sequencing digital PR last. Links into a confused architecture reinforce the wrong URLs; links into a consolidated one compound. That's why DR growth stayed deliberate (16 → 21) instead of being chased early with low-trust placements that the no-fake-claims constraint ruled out anyway.
Key Takeaways
- Fix intent collisions before you write anything. The single biggest mover here was merging self-competing commercial pages, "best accountant" went 26 → 1 mostly because it stopped fighting its own duplicates.
- Pull conversion pages toward the surface. Transactional terms climbed because internal linking shortened the path to quote/consultation/appointment pages, and conversions tracked those gains.
- Consolidation has a cost, own it. Concentrating relevance on primary intents let "accountant specialist" and "accountant pricing" slip. That was a defensible trade, but it is a trade.
- Stop producing when the data says reinforce. The best months came after I cut new content and doubled down on pruning and linking.
- Sequence links last. Authority compounds on clean structure and gets wasted on a confused one.
- Don't over-report. CTR moved only 2.3% → 2.6%, month 4 was noisy, and revenue is modeled. Saying so builds more trust than a flawless-looking chart.
They type specific queries about tax planning, advisory services, bookkeeping, and audit support — and they hire the firm that shows up first with authority and credibility.
If your accounting practice is not ranking for these high-intent searches, your competitors are capturing the clients you should be serving.
We build SEO systems specifically for accounting practices that position your firm as the definitive authority in your market, attract premium client enquiries consistently, and create a predictable pipeline of growth that does not depend on referrals alone.