Skip to content
Subscribe

AI Search · GEO

We GEO-Optimized Our Own Site: Here's the Honest Data

For three weeks this site ran its own GEO playbook on itself — reframed legacy posts, shipped a citation pillar, wired clean schema, and tracked the numbers. Here's the unflattering truth: the leading work shipped, the lagging metrics haven't moved, and the one durable AI citation is exactly the niche the diagnosis predicted. The baseline, in public.

We GEO-Optimized Our Own Site: Here's the Honest Data

The whole AI Search · GEO channel makes a bet: that the game is shifting from ranking #1 to getting cited, and that a solo publisher can adapt to it deliberately. The problem with writing that channel is the obvious objection — fine, but does any of it work? The only honest way to answer is to run the playbook on this site, in public, and publish the numbers whether they flatter us or not. So that’s what this is. Three weeks of GEO work on RankingHacks, the real data, and the parts that didn’t move.

This is the post most case studies won’t write, because most case studies exist to sell the thing they’re “studying.” This one exists to keep the channel honest. If the data were a clean victory I’d show you the line going up. It isn’t, so here’s the line going sideways — and the more interesting story underneath it.

The diagnosis: where we actually started

It began with an audit of this site. A free GEO tool scored RankingHacks 59/100 — “moderate” — but that grade missed the one thing that’s ground truth: actual citations. Asked four niche AI-SEO questions, Perplexity cited RankingHacks for three of four, every hit landing on a specific-practitioner-framework query (context density, Kyle Roof’s AI-era talk, auditing E-E-A-T with LLMs) and the miss being a generic one (parasite SEO). The takeaway from that audit was blunt: the site already gets cited where it’s genuinely differentiated, the on-site signals were mostly clean, and the real gap was off-site brand mentions, not schema.

The traffic picture was just as sobering once cleaned up. The headline “growth” — 195 visitors in December to 586 in May — was mostly a Hong Kong datacenter scraper inflating the count; the real number was around 150 humans a month, with maybe 30 of those from search. Search Console put the site at average position 14.9 — the bottom of page two, plenty of impressions, almost no clicks. That’s the starting line. Page two, thin organic, a handful of niche citations, and a brand nobody mentions.

The treatment: what we shipped in three weeks

The playbook ran one shippable change a day. The point wasn’t a relaunch — it was compounding. Here’s the inventory:

  • Reframed the narrative on-site — rewrote the homepage hero from rank-#1 language to “stay visible when search goes AI-first,” and promoted AI Search · GEO to the lead channel ahead of SEO.
  • Built the cornerstone — a definitional GEO pillar to act as the internal-link hub, then three operational flagships: how to get cited by ChatGPT & Perplexity, entity SEO, and structured data for the AI era.
  • Reframed seven legacy posts — each decaying “rank #1” post got an AI-era angle section and a link to the pillar, with dateModified bumped and the original publish date left untouched. The top target was the topical-maps post, the site’s highest-impression page.
  • Wired the citability plumbing — shipped llms.txt, confirmed a connected @graph across every page, per-post .md alternates, and added genuinely extractable FAQ blocks to the ten highest-impression posts.

Necessary work, all of it. The question is whether it shows up in the numbers yet.

The data: leading indicators shipped, lagging indicators didn’t move

It doesn’t. Not yet, and I’m not going to pretend otherwise. Here’s the clean traffic comparison — Plausible, with the Hong Kong bot traffic filtered out so we’re counting humans:

Metric (30d, humans only)Baseline (early June)Now (mid-June)
Real visitors~153138
From Google2925
From AI sourcesa tricklea trickle

And Search Console, comparing matched 28-day windows:

Search Console (28d)BaselineNow
Clicks1412
Impressions2,7001,991
Avg. position14.919.1

If anything, the lagging metrics slipped. Position dropped from 14.9 to 19.1, impressions fell, clicks are flat-to-down. The topical-maps post we worked hardest on held its position around 9 with 519 impressions — steady, but no page-one breakout.

Three honest reasons not to panic, and not to spin it either. First, the reframe work is under three weeks old — Google re-ranks on its own clock, and a dateModified bump plus a new internal-link section is a slow-acting signal, not a switch. Second, this is normal volatility on tiny numbers — when your baseline is 14 clicks, a swing of two is noise, not a trend. Third, and most important: on-site GEO was never the lever the diagnosis pointed at. The audit said the gap was off-site brand mentions. We spent three weeks polishing the thing that was already mostly clean. That’s not wasted — it’s table stakes — but it was never going to be the move that shifts the line.

The one number that means something: did the citations hold?

Traffic is a lagging, blurry proxy. The metric this channel actually cares about is whether an answer engine names you. So I re-ran the same four Perplexity queries from the original audit. One caveat, stated plainly: this re-test went through the Perplexity API (the sonar model), not the consumer product the audit used — different retrieval, different model, so it’s a directional check, not a clean before-and-after. Here’s what came back:

QueryAudit (consumer Perplexity)Re-test (Perplexity API)
Context density in SEOCited, #1 sourceNot cited
Kyle Roof, SEO for the AI eraCitedCited, #1 source
Auditing E-E-A-T with LLMsCitedNot cited
Parasite SEO in 2026Not citedNot cited

The honest read: citation is fragile and query-interpretation-sensitive. “Context density” got read as “keyword density” and pulled in a different source set entirely — the kind of brittleness you have to design around. But the Kyle Roof post held, and held as the number-one source. That’s not luck. It’s the exact pattern the audit predicted: RankingHacks gets cited on specific-practitioner-framework queries where the big synthesizers don’t compete, and gets ignored on generic SEO questions where they dominate. The durable win is the niche, not the schema.

What three weeks of dog-fooding actually taught us

Three lessons, none of them the one I’d have written in advance.

On-site GEO is necessary and not sufficient. Clean schema, a connected graph, extractable FAQs, llms.txt — all of it makes you understandable. None of it makes you preferred. We were already clean; polishing clean doesn’t move a needle. The leverage the audit pointed at — near-zero presence on Reddit, Wikipedia, Medium, the places a retriever reads to corroborate an entity — is the work that’s still ahead, and it’s slower than any on-page change.

Pick the queries you can actually win. The Kyle Roof result is the whole strategy in one data point: be the canonical source for narrow, named, practitioner-specific questions, and stop competing on the head terms where Ahrefs and Semrush own the citation. Topical depth in a defensible niche beats breadth every time, because the synthesizers can’t out-niche a specialist.

Publishing the unflattering number is the moat. A case study that only ever goes up is marketing. This one is a baseline, set in public, so the ninety-day follow-up has something honest to be measured against. If GEO is a real discipline and not a sales pitch, the proof is a line you’re willing to show before it moves.

The bottom line

Three weeks in, the leading work is done and the lagging metrics haven’t caught up — which is exactly what you’d expect if GEO is a slow-compounding bet rather than a growth hack. The citations that hold are the niche ones the diagnosis predicted. The next phase isn’t more schema; it’s the off-site mention work and a deeper push into the practitioner-framework territory where this site already wins. We’ll re-run these exact numbers in ninety days and publish them the same way — up, down, or sideways. That’s the deal. The bar moved from rank-#1 to get-cited, and the only way to write honestly about clearing it is to show you our own attempt, mid-jump.


This is the meta case study for the AI Search · GEO channel — the methodology lives in the citation playbook, the entity post, and the structured-data setup. The diagnosis that started it all is the GEO audit.