MIRZA IRFAN BAIG · GEO / AEO PRACTICE LOG · AUGUST 2026
Getting small businesses cited inside AI answers
I'm training myself in Generative Engine Optimization by running measured experiments on live brands for an SEO team in Pakistan — tracking whether ChatGPT, Gemini and AI Overviews name a business, then changing the site and the tracked question set until they do. Below is what the numbers did.
The method
Classic SEO asks where you rank. GEO asks a harder question: when someone asks an AI assistant for a supplier, does your name come out of the model's mouth — and which sources did it read to decide? This is the loop I run.
1 · Measure what AI actually says
Pull 30-day visibility, mention count, average rank and sentiment per brand through the tracking API, together with the competitor set the models cite instead.
2 · Read the citations, not the score
Scan the answer transcripts for the real brand string and domain. A brand only counts when the model names it — not when a similar word happens to appear.
3 · Stop paying for questions you can't win
National "best supplier in the US" questions are owned by Vistaprint and CustomInk. Those get paused. Local commercial questions are winnable, and they get kept.
4 · Mine Search Console for real demand
Take the 90-day queries a site already earns impressions for, and rewrite them as the natural-language questions people actually put to an assistant.
5 · Make the site readable by machines
Schema, a markdown version of each page served by content negotiation, agent and MCP discovery files, clean crawl signals — so an AI agent can parse the business instead of guessing it.
6 · Publish one strong page per cluster
Comparison guides and local service pages built to be quotable — never thin mass posts, which the models ignore.
Three cases
All figures come from the tracking platform's own API snapshots, taken before and after the work, on a 30-day rolling window. Brands are anonymised by sector and region here; the named version with the full monthly reports is available on request.
Custom embroidery & workwear · Orange County, California
The brand started completely invisible: zero mentions across every tracked question. The tracked set was the problem — it was full of national "best custom embroidery in the US" questions that CustomInk and 4imprint own outright.
- Read the answer transcripts and found the brand citations did exist — but only on Laguna Hills and Orange County questions.
- Paused 24 national and zero-yield questions, kept the 7 local ones where the brand was already being named.
- Added 12 new questions built from Search Console — embroidery Irvine, same-day embroidery, hat embroidery, Mission Viejo, Aliso Viejo, Costa Mesa — the exact local terms the site already earned impressions for.
- Set a rule I now follow everywhere: pause, never delete, because re-adding a question costs answer-run credits.
Commercial print shop · Irvine / Orange County, California
The hardest case. At the start the shop appeared in 1 % of answers with four mentions, while Vistaprint held 19 % and Staples 13 %. You do not beat Vistaprint on "business cards" — so the strategy moved entirely to local commercial intent, and the site itself was rebuilt to be machine-readable.
- HowTo schema in JSON-LD on the home, same-day and file-upload pages — the one failing readiness check, fixed.
- A markdown version of each page, served by content negotiation, so an agent requesting text/markdown gets clean text instead of parsing layout.
- Agent discovery files — /.well-known/agent.json, an MCP server card and Link headers — plus a WebMCP script exposing business info, services and how-to-order.
- Content-Signal directives in robots.txt, and layout-shift fixes on the product cards.
- Question set rebuilt the same way: 23 local active, 34 national paused, twelve of the new ones taken straight from Search Console.
Two benchmark brands · print, California & salon/spa, Ontario
Not every project is a rescue. These two were measured to establish what "good" looks like in a local market. The print brand sits fourth out of 51 cited entities in its region — behind a national franchise on 44 %, ahead of every independent rival — and the salon holds 9 % in a market where the strongest local spa has 18 %.
- Mapped, per brand, which competitors the models cite and at what share — including the third-party directories and comparison articles the answers are actually built from.
- Turned that into a content brief: the page types the models quote — comparison guides, local service pages with real photos and reviews — versus the ones they never touch.
- Confirmed a pattern worth more than any single ranking: the models lean heavily on directory profiles and educational comparison articles, so those get maintained deliberately rather than left to chance.
What these numbers do and don't prove
The honest reading
Part of each jump comes from changing which questions are measured — dropping national ones a small business can never win, and tracking local ones instead. That is a deliberate strategy decision, not a trick, but it does mean the percentage is not a pure like-for-like comparison.
The clean number is mentions: 0 → 49 and 4 → 49 are real citations of a real brand name inside real AI answers, and they did not exist before.
Why I say it out loud
GEO is a young field, full of vanity metrics. Knowing which of your own numbers is soft — and saying so before anyone asks — is the difference between a report a business can make decisions from and a report that merely looks good.
Every figure here traces back to a dated API snapshot stored with the project.
How the work is run
Monthly performance reports per brand, and a status file per project recording what changed, when and why — so whoever picks it up next isn't guessing.
| Practice | What it looks like |
|---|---|
| Monthly performance report | Per brand — visibility, mentions, rank, sentiment, calls and website clicks, with the month's changes explained in plain language |
| Question inventory | Every tracked question listed with its ID and state — active, paused, deleted — and the reason it moved |
| Dated API snapshots | Raw JSON kept per pull date, so any number in any report can be checked afterwards |
| Written rules per project | What must not be broken: forms, schema types, and which questions never get mass-deleted |
| Search Console as the source | New tracked questions come from real 90-day query data, never from guesswork |
Tools and skills
A second, longer case study
Alongside the GEO work above, I run a website of my own as a live experiment: fourteen months, 28 pages, 761,000 impressions, and 107,000 impressions from AI answers in three months — with every content decision driven by Search Console data rather than by guesswork.
Get in touch
15+ years in SEO, nine of them running my own agency with clients in the USA, UK, Canada and Germany. Based in Germany, working in English, available immediately — remote, or on site in the Rhineland-Palatinate region.