The problem
A local contractor competes with national directories and certificate resellers for the searches that convert. Doing SEO by hand doesn't scale: picking winnable keywords, writing pages that match what ranks, keeping every claim true, and deploying safely.
What we built
An eight-stage pipeline, from keyword to safe deploy.
Target selection
Saved keyword research and Search Console demand, filtered by config and routed to the service each phrase maps to; phrases with no matching service are dropped.
Coverage check
Phrases an existing post already answers become a refresh, not a duplicate.
Winnability gate
The live page one is pulled and a phrase is refused unless local businesses already rank there.
Research and drafting
A research pass returns the structure of what ranks (never its wording); drafts draw every fact from a verified company file.
Review gates
Banned claims, paragraph and structure rules sized for featured snippets, every price checked against an owner-approved guide, no repeated FAQs across a cluster.
Deploy guard
Refuses production unless on main, clean, correctly linked and passing QA, lint and build.
Tracking
Rank tracking on 31 keywords to depth 100, and a review command that flags each post as not indexed, too early, no impressions or close to page one.
Reviews → schema
Google reviews fetched by the business's fixed Google ID (never by name), identity-checked, rendered as AggregateRating/Review JSON-LD across 13 pages.

