Skip to content
Frano Čokljat

Test task · GEO audit, anonymised

Retrieved, not recommended: how I run a GEO audit

A GEO audit of an online interior design service: AI engines used its page as a source but named it in 0 of 24 buyer answers. The seven steps I use, with real data.

Type
Audit done as a hiring test task, not client work
Subject
An online interior design service from a consumer software company, anonymised
Period
Late September to early October 2026
Tools
Ahrefs, DataForSEO AI Optimization API, Claude Code, the Wayback Machine
Published
  • 0 of 24

    unbranded buyer answers that named the brand

  • 5 of 6

    Perplexity answers that used its page as a source

  • 18 of 24

    answers that named the category leader

A GEO audit answers one question: when a buyer asks an AI assistant for what you sell, does it name you? This is the seven-step process I use, shown on an audit of an online interior design service sold by a consumer software company.

I did the audit as a test task in a hiring process, not as a client engagement. The brand and its competitors are anonymised. The numbers are real, from Ahrefs, DataForSEO and live searches in late September and early October 2026.

The headline: the service page was retrieved but not recommended. One AI engine used it as a source in 5 of 6 answers, yet across four engines the brand was named in 0 of 24 buyer answers.

Step 1. Map the offer to the questions buyers ask

I start from what the page sells, not from a keyword tool. Each attribute of the offer becomes an angle buyers search from.

  • What I do: list the offer’s attributes, then expand each into queries with Google autocomplete, Ahrefs matching terms, People Also Ask, and the Reddit and Quora threads ranking for the core searches.
  • In this audit: a human designer working fully online, with set package prices, floor plans, renders and design files. That gave five angles: online or virtual, price, project scope, deliverables, and consultation.
  • Watch out for: letting volume decide too early. Find every angle first, then measure.

Step 2. Validate with real data and filter out the wrong intent

My first-pass estimates were off by up to an order of magnitude, which is why no keyword list leaves my hands without real data.

  • What I do: pull volume, keyword difficulty, traffic potential, parent topic and SERP features for every candidate in Ahrefs, then drop queries whose results serve a different intent.
  • In this audit: the obvious target, “hire interior designer online”, had 70 US searches a month. The demand sat in “virtual interior design” (1,900), “online interior design services” (1,400) and “virtual interior design services” (1,300), all with keyword difficulty under 12. “Online interior design” (2,200) looked bigger but was mostly people looking for courses.
  • Watch out for: the parent topic. For most core terms it was the category leader’s brand name, a sign the market already has a default answer.

Step 3. Find out what each page is meant to rank for

Before I call a ranking a mistake, I check what the site itself says the page is for.

  • What I do: read the title, the H1 history in the Wayback Machine and the internal anchor text pointing at the page, then compare that with what actually ranks in Ahrefs.
  • In this audit: every page’s footer linked “Online Interior Design Services” to the service page, and that phrase had been its H1 until recently. Yet the page ranked for 5 keywords, about 45 visits a month. For “online interior design services”, Google ranked a different page on the brand’s site in late September, and no brand page at all in a live check on 1 October.
  • Watch out for: my own first draft got this wrong. I called another page ranking for “online interior design” a mistake, but that query is mostly courses and tools, so the page was a reasonable fit. The intent evidence only held for the “services” query.

Step 4. Map who wins, in Google and in its AI answers

For GEO, the useful split is which brands an AI answer names, and which it only cites as a source.

  • What I do: for each core query, record the top 10 and the AI Overview: brands named, sources cited, prices quoted. Each check gets a date and a note on whether the results were personalised.
  • In this audit: AI Overviews named the two category leaders with their prices, and cited publisher roundups and the leaders’ own “best online interior design services” posts. The brand was at most a source, never a recommendation. On 30 September one AI Overview listed it with outdated details; two days later it wasn’t there at all.
  • Watch out for: undated evidence. Rankings and AI answers changed within days, and a personalised search from one US city gave a different top 10 from an unpersonalised check.

Step 5. Run a live AI visibility test

Search data shows where a page ranks. A live test shows whether AI assistants actually recommend the brand.

  • What I do: write buyer prompts from real questions (Reddit, Quora, People Also Ask) across a few personas, and run them through ChatGPT, Gemini, Claude and Perplexity with web search on. Each answer is classified for whether the brand is named and whether its site is cited, with branded and unbranded prompts kept apart. I ran this through DataForSEO’s AI Optimization API from Claude Code.
  • Watch out for: treating one run as a result. Answers change from run to run, so I run each prompt 3–5 times and report per engine. This run stopped at 30 of 96 planned answers when the API credit ran out, so I treat it as directional.

AI assistants named the category leader in 18 of 24 buyer answers, and the brand in none

Unbranded questions about hiring a designer online · ChatGPT, Gemini, Claude and Perplexity · 1 October 2026

Each bar's full track is all 24 answers.

DataForSEO AI Optimization API, live responses with web search · 24 unbranded answers, 1 October 2026 (partial run: 30 of 96 planned answers)

The competitors were named 9 to 18 times each; the brand never was. When a prompt named the brand, most answers described it as DIY design software with designer help as an add-on, even though Google’s AI Overview, asked by name, described the service accurately.

Step 6. Audit the page the way a retrieval system reads it

AI engines fetch raw HTML, split it into chunks and keep the chunks that answer the question, so I audit the page that way.

  • What I do: fetch the page as 18 AI crawler user agents; check server rendering, where the key facts sit in the HTML, headings, schema, alt text and caching; compare entity and topic coverage with the competitors AI engines name; and check the archive for recent changes.
  • In this audit: access was clean, with every crawler getting a 200 in 0.2–0.5 seconds. But there was no <main> element, about 200 words of navigation came before the H1, and the price first appeared at word 869 of 2,085. The page listed its deliverables without naming file formats, while competitors explained designer matching, shopping lists and review counts that it skipped.
  • Watch out for: user-agent tests can’t see bot blocking by IP address at the CDN. Confirm it in the CDN’s bot settings and the server logs.

Step 7. Turn the findings into a plan, a sprint and a measurement loop

AI answers are assembled mostly from other people’s pages, so the plan weights third-party proof above on-page work.

  • The plan: first, one entity with one set of facts: one page per intent, one service name, one price and turnaround everywhere. Second, earn mentions in the roundups AI engines already cite, plus reviews, video and original cost data. Third, make the page quotable with an answer-first summary, question-led headings, a price table and named entities. Fourth, build supporting pages and refresh them quarterly.
  • The first sprint: Monday sets the baseline (retrieval tests, bot logs, Search Console and Bing AI reports). Tuesday cleans up the entity, Wednesday makes the page machine-readable, Thursday drafts quotable content, and Friday sends roundup pitches and requests re-indexing.
  • The measurement loop: a fixed prompt set, polled weekly and reported per engine, never as one blended score. Gemini’s fan-out queries get checked monthly for gaps, and the set is re-run after every major model release. Branded search and a “How did you hear about us?” field catch the influence that never shows up as a referral.

Principles I keep for every GEO audit

GEO evidence goes stale fast and is easy to overstate, so these rules sit above every step.

  • Treat estimates as hypotheses until real data confirms them.
  • Date every SERP and AI answer, and label personalised results.
  • Keep branded and unbranded apart. In this audit, asking about the brand by name got an accurate answer; leaving the name out made it vanish. That gap is the real GEO problem.
  • Fund what’s measured. Schema stays in the plan for rich results, not as a citation lever: in an Ahrefs study of 1,885 pages, AI Overview citations fell 4.6% after schema was added.