Google Rating
5
Based on 41 reviews

What 90 Days of GEO Did for a Two-Person Minnesota Studio

On this page

In March 2026 we started treating our own website the way we treat client sites: as a measurable system instead of a brochure. Ninety days later, search impressions are up 171 percent, geographic queries that did not exist in our Search Console now number in the hundreds, and therapy practices hired us after ChatGPT recommended our studio. This post is the full accounting: the numbers, the plumbing failures we found along the way, and what a two-person Minnesota studio can realistically expect from generative engine optimization.

What is generative engine optimization?

Generative engine optimization, GEO, is the practice of structuring a website so AI assistants like ChatGPT, Claude, Perplexity, and Gemini can read it, trust it, and cite it when someone asks for a recommendation. It overlaps heavily with technical SEO: both reward clear entities, factual density, structured data, and clean URLs. The difference is the retrieval surface. A search engine ranks pages on a results screen; a generative engine reads pages and answers on your behalf. The practical work looks like this: pages that answer specific questions plainly, JSON-LD that says who you are and where you operate, a current llms.txt file, and markdown endpoints that hand crawlers clean text instead of making them parse layout markup.

What did 90 days actually produce?

From March 9 to June 8, 2026, compared with the prior three months, Google Search Console recorded:

  • Impressions up 171 percent, from roughly 9,700 to 26,200.
  • Clicks up 28 percent, to 101.
  • Geographic queries (Minneapolis, St. Paul, Twin Cities, and Woodbury terms) went from zero impressions to triple digits.
  • Homepage: 15,192 impressions at average position 8.3.
  • Average position across all queries: 25.3, with most new impressions coming from pages that did not rank at all in the prior period.

Two caveats belong next to those numbers. Click-through is still low at 0.4 percent, which is why we rewrote the homepage title and description in June and logged the old strings for a 30-day comparison. And impressions are the leading indicator, not the prize; they tell you Google is testing your pages, not that the phone is ringing yet.

Where did the leads come from?

The phone did ring, though, and not from Google. The most interesting leads of the quarter arrived through ChatGPT: Minnesota therapy practices asked it who builds websites for therapists, and our studio came back in the answer. We did not buy that placement; you cannot. The pages that earned it were ordinary-looking service and area pages with unusually specific content: who we are, where we work, what we build, and what it costs. AI assistants reward pages that read like answers.

What did we change on the site?

The visible work was content. We built city-level area pages for the Twin Cities suburbs we serve, each with original copy, coordinates in the structured data, and a consistent shape: a geo headline, a short benefit line, two content blocks, a differentiator paragraph written by hand for each city, and a service feed. We rewrote thin service pages toward word floors: 450 words for area pages, 600 to 800 for services. We added FAQ structured data, kept llms.txt and llms-full.txt current, and exposed every page as a markdown endpoint so AI tools can fetch clean text.

The invisible work was measurement: GA4 events for phone taps and form submissions, an index tracker that requests every sitemap URL and logs status counts over time, and a referrer list so AI-sourced visits can be grouped into their own channel instead of hiding inside generic referral traffic.

What was quietly broken the whole time?

Three plumbing failures were suppressing everything above, and all three are common. First, our sitemap appended a trailing slash to every URL while the site itself redirects trailing slashes away, so 86 of the 87 entries pointed at redirects instead of pages. Google's coverage report showed the damage: 34 pages indexed, 139 not, with 81 stuck in discovered, currently not indexed. One small code fix took the sitemap from 1 clean URL out of 87 to 87 out of 87.

Second, ten of our fifteen area pages still carried a leftover placeholder title, and because that title fed the structured data, our Minneapolis page was literally telling crawlers the service name was the placeholder string. Third, the markdown endpoints for exactly the pages our GEO strategy depends on were returning empty files because of one unhandled array in the route code. None of these showed up in a design review. All of them showed up in the data.

What did this cost?

Hours, not money. The sitemap fix was a few lines of code. The placeholder titles were one patch script. The biggest line items were writing: original copy for fifteen area pages, and the differentiator paragraphs nobody can template. Spread across the quarter this is evenings-and-Fridays work for one person who knows the stack, which is exactly what most small studios and local businesses have available. The constraint is not budget; it is the discipline to ship fixes instead of producing another report about them.

What do we measure now?

Four things, monthly: indexed page count from the sitemap tracker; impressions and click-through for the top queries and pages; whether phone clicks and form submissions are rising in GA4; and whether AI surfaces mention the studio when asked the questions our clients ask. That last one is the GEO scoreboard, and it is still mostly manual: ask ChatGPT and Perplexity the questions, record the answers, repeat next month.

What should a small business take from this?

  • Impressions move before clicks, and clicks move before leads. Expect that sequence and do not quit at week six.
  • Fix indexation plumbing before writing new content. New pages cannot rank from inside a redirect loop.
  • Write pages that answer one question for one audience in one place. That is what generative engines cite.
  • Instrument conversions on day one, or you will spend month three arguing about whether any of it worked.

We do this work for clients as Minnesota SEO consulting and AI consulting. The numbers in this post are our own, from our own Search Console, and we will publish the next 90 days whether they flatter us or not.