Results, documented in public
SEO & AEO Rank publishes real client case studies with real numbers: Coyocala Roofing, Saint Paul Roofing Services, and Kaufhold & Dix Patent Law — plus Client Zero, this website itself, which we rank in one of the most competitive keyword spaces in Minnesota, in the open.
Client case studies
The challenge
A quality roofer competing against 80-year-old Twin Cities brands with deep review moats. Strong word-of-mouth, but nearly invisible online: no map-pack presence outside their home suburb, and AI engines never mentioned them when homeowners asked who should replace a storm-damaged roof.
What we did
- Rebuilt their Google Business Profile around storm damage and roof replacement services, with weekly posts and photo streams from real job sites
- Launched a review velocity system tied to job completion — every satisfied homeowner asked, every review answered
- Published answer-first pages for the questions homeowners actually ask after hail: insurance claims, replacement timelines, cost ranges
- Added RoofingContractor schema and built citations so AI engines could verify who they are and where they work
The results
| Metric | Before | After |
|---|
| Map-pack appearances (49-point grid) | 3 of 49 | 31 of 49 |
| AI citations on 50-prompt panel | 0 of 50 | 14 of 50 |
| Qualified calls per month | 9 | 34 |
| Google reviews | 17 | 86 |
The challenge
Ranked on page two for every keyword that mattered in a city where the map pack decides who gets the call. Their busiest season depended on storm chasing and paid leads from shared-lead platforms — expensive, low-intent, and shared with four competitors.
What we did
- Consolidated a scattered service list into dedicated, answer-first pages per service and neighborhood
- Local link and citation campaign focused on St. Paul — neighborhood associations, supplier pages, local press
- Structured data on every page so Google and answer engines could connect services, service area, and reviews
- Monthly 50-prompt AI citation tracking to measure ChatGPT, Perplexity, and AI Overviews mentions
The results
| Metric | Before | After |
|---|
| 'roof repair St. Paul' ranking | #14 | #3 |
| Map-pack position (St. Paul grid avg.) | #11 | #2 |
| Share of leads from organic (vs. paid) | 22% | 61% |
| AI citations on 50-prompt panel | 1 of 50 | 18 of 50 |
Kaufhold & Dix Patent Law
Patent, trademark & copyright law · Edina, MN & Sioux Falls, SD · website
The challenge
A two-decade firm with 1,900+ patents and transparent flat fees — exactly the credentials AI engines should cite — yet when inventors asked ChatGPT or Perplexity 'how do I patent my idea,' the answers named national filing mills instead. Multi-state offices also split their local signals between two metros.
What we did
- Entity cleanup across both locations: consistent NAP, LegalService and Attorney schema, and separate location pages with distinct service-area signals
- Answer-first content built around inventor questions — patentability, costs, provisional vs. non-provisional — with question-form FAQs and FAQPage schema
- Leveraged their flat-fee transparency as citable, structured pricing data (the thing AI engines love and law firms almost never publish)
- Citation and profile work on the legal directories LLMs actually retrieve from
The results
| Metric | Before | After |
|---|
| AI citations on inventor-question panel | 2 of 50 | 21 of 50 |
| 'patent attorney Minneapolis' ranking | #9 | #2 |
| Map-pack position (Edina / Sioux Falls avg.) | #7 / #4 | #2 / #1 |
| Consultation requests per month | 26 | 58 |
Client Zero: this website
Most agencies show you logos and vague percentages. We think the honest version is better: if we can't rank ourselves in one of the most competitive keyword categories in the state, you shouldn't hire us to rank you. So we're doing it where you can watch.
| Metric | Launch | Current | Goal |
|---|
| "SEO company Minneapolis" ranking | Unranked | Tracking begins at launch | #1 |
| Map pack position (Minneapolis grid) | Unranked | Tracking begins at launch | Top 3 metro-wide |
| AI citations (50-prompt panel) | 0 of 50 | Tracking begins at launch | Cited in 25+ |
| Google reviews | 0 | Tracking begins at launch | 50+, steady velocity |
Updated monthly, good numbers or bad.