One Month of GEO: Traffic Up 51%, But Here’s What Actually Moved
In early July, I published What Is GEO? and promised to share the GEO outcomes later. After a month of Generative Engine Optimisation (GEO), internal linking, and the usual publishing rhythm, the analytics finally moved enough that I can report without inventing a narrative.
Just a little reminder. Generative Engine Optimisation (GEO) is structuring content so AI answer engines can parse, quote, and cite it, with the framing set out in the Princeton GEO study (KDD 2024).
I am not going to pretend this is a laboratory experiment. I changed content structure, links, and publishing cadence at the same time. So I am going to show what changed after the GEO was implemented for my small technical blog, and what I am going to do next.
What Changed in One Month of Active Users
This GA4 snapshot is the Trend of the 30-day active users report for 12 July – 10 August 2026, compared with 12 June – 11 July 2026, with Singapore excluded:
| Metric | Value |
|---|---|
| Current 30-day active users | 28,924 |
| Previous period | 19,164 |
| Change | +9,760 (+50.93%) |
The line climbs in stages, roughly mid-July around 700–800 on the daily 30-day series, a step near late July toward ~1,000, then another near early August toward ~1,400 - rather than one vertical spike.
GA4 — Trend of 30-day active users (12 Jul–10 Aug 2026 vs 12 Jun–11 Jul 2026). Country filter: Singapore excluded. Current period climbs in stages; previous period stays flatter.
What would convince me GEO is really working?
I want to see three things before I trust this: more of the almost-ranking queries (positions 5–20) actually reaching the top 5, the growth holding up over a full three-month window instead of one good month, and the AI Assistant channel in GA4 becoming large enough to explain a real slice of Direct — not a rounding error.
There are two caveats to ponder when looking at the optimistic “+51% from GEO” on a title image:
- A 30-day rolling metric also steps upward when stronger recent days replace weaker days before.
- I excluded Singapore while checking whether one country was distorting the story. The upward trend still held without that traffic.
How people arrived is a separate question. The traffic-acquisition and pages findings come from supporting GA4/Search Console review.
Which Pages Grew: AI Tutorials, Not Only the Homepage
In a pages-and-screens slice from that review, homepage and blog index grew modestly, while a few AI tutorials grew much faster — on the order of roughly +70% for the Codex CLI guide and roughly +90% for Local AI agents with Cline, Ollama, and MCP, with Claude Pro vs Free up only a little. Absolute view counts in that slice were far smaller than the 28k active-user total, which is normal when GA4 reports use different metrics, filters, or windows.
That pattern usually means people land on the article itself — from search, a shared link, or an AI citation — rather than only browsing the site like a magazine.
Two more observations:
- Growth is not concentrated on a single page. If only one URL exploded, I would suspect that my post was shared on Reddit’s front page :) Instead, several related posts rose together.
- At least one older, news-tied AI post declined sharply in that slice. That is not automatically failure. News-cycle pieces fade; evergreen install-and-setup guides often take their place as the durable traffic source.
The winner was not one post. It was a cluster.
The topical cluster that won is consistent across GA4 and Search Console: Codex CLI, Claude, local AI / Cline / Ollama / MCP, and supporting tooling such as Homebrew. Google tends to reward coherent clusters more than isolated one-offs — which is exactly what internal linking and GEO restructuring are meant to reinforce.
Organic Search vs Direct: What GA4 Can and Cannot Tell Us
| Channel | Share of sessions (approx., same review window) |
|---|---|
| Direct | ~88% |
| Organic Search | ~11% |
| AI Assistant (labelled) | <1% |
Direct ≫ Organic Search ≫ AI Assistant — that gap is the attribution problem this section untangles.
A traffic-acquisition slice from the same review period was Direct-heavy: on the order of ~2.4k sessions (~+60%), with Direct around ~2.1k (~+70%) and Organic Search only a few hundred sessions (~+20%). That put Direct near ~88% of sessions in that window. Treat those figures as approximate until they are re-exported against the same 12 Jul–10 Aug range as the active-user chart.
An earlier monthly measurement snapshot from 3 August 2026 (last 7 days) showed the same shape: Direct 717, Organic Search 47, AI Assistant 3. Different window, same awkward mix.
An ~88% Direct share sounds wrong for a content-heavy blog if you still think “Direct = someone typed the URL.” Per Google’s own channel-grouping documentation, GA4 Direct is the bucket for missing attribution: Slack, Discord, Telegram, WhatsApp, some email clients, bookmarks, privacy-preserving browsers, desktop apps, and AI assistants that do not pass a reliable referrer or UTM.
So my working reading is:
- Google Search is steadily helping (Organic up in both slices, and Search Console agrees the same tutorials are surfacing).
- Something else is sending a lot of visits that GA4 cannot name, and those land in Direct.
- The labelled AI Assistant channel — added to GA4’s default channel groups in 2026 — is still tiny (single digits to low teens depending on the window). Treat it as a lower bound, not the full AI-referral story — and nowhere near enough to explain the Direct jump on its own.
This mixed picture — steady Google gains alongside unattributed Direct growth — is also why GEO and classic SEO are hard to disentangle in practice. Clear titles, command-line examples, and answer-first sections help humans, Google, and answer engines. When Direct rises while Organic rises more slowly, the honest sentence is: search is improving, and unattributed discovery is doing heavy lifting too.
Since GA4 and Search Console cannot reliably tell me this, I am asking directly:
Search Console: Almost-Ranking Pages and High-Intent Queries
Search Console is the independent check I trust when GA4 gets mysterious. The query/page export from the review (not yet re-synced to the exact Jul 12–Aug 10 window) still points the same way.
Codex CLI showed up as a search leader — low double-digit clicks with an average position around the low teens. The queries attached to that cluster are not casual browsing. They look like people stuck mid-install:
- Codex CLI install on Linux
- Homebrew / WSL install paths
- curl-based install script lookups
Those install and Homebrew queries match the GA4 page winners: high-intent developer problems.
Average positions elsewhere in the same niche were also encouraging rather than depressing — roughly Claude ~9, Codex ~12, Homebrew ~13, local AI agents ~16. Positions around 9–16 mean Google is already testing these pages on page one or early page two. Moving from 12 → 6 often unlocks more clicks than moving from 40 → 30. CTR figures in the raw export looked suspiciously tiny (likely rounding or a very wide impression base), so I am treating position and query intent as the useful signals to further refine my optimisation strategy.
Importantly: Search Console does not show the kind of click volume that would, by itself, explain a Direct-dominated acquisition mix. That reinforces the mixed hypothesis — Google up steadily; shares / chat / bookmarks / AI opens filling Direct.
Why GEO and Internal Linking Are a Plausible Explanation
After the July GEO pass and ongoing link work, here is why I think site architecture belongs in the explanation — without claiming it is the only cause.
GEO changes I already described in the first post — one-sentence definitions, question-shaped headings, answer-first paragraphs, self-contained chunks, FAQ/HowTo structured data — make pages easier for both RAG-style retrieval and classical ranking systems to interpret. They do not invent authority. They stop burying the answer.
Internal linking helps crawlers and humans see one topical neighbourhood:
- AI coding assistants
- Codex CLI
- Claude
When several related AI posts improve together, improved crawl paths and link equity are a credible mechanism — more so than a single viral referral.
Site-wide pieces from the GEO infrastructure work (llms.txt, FAQ/HowTo schema includes, clearer crawler policy) support the same goal: make the library legible to machines. Per-post optimisation runs through a recurring GEO maintenance process rather than a single push — scheduled work that keeps queuing structure back-fill and indexing links, so growth does not depend on one heroic weekend. I will walk through exactly how that automation works in the three-month follow-up.
Could scrapers still be in the mix? Possibly. I watch for single-country spikes, empty engagement, and odd device mixes. So far the multi-page, multi-metric pattern plus Search Console impressions on the same tutorials argues for mostly real readers. GitHub Pages is static; it will not invent sessions by itself if the GA4 tag is loaded once.
What I Will Do Next
I am not pivoting the blog into “whatever is trending this week.” The data says: deepen the cluster that is already almost ranking.
- Expand Codex CLI troubleshooting — FAQ and sections that use the exact wording of install/error queries.
- Keep growing the local AI agents line — freshness (versions, screenshots) for Ollama and MCP, plus tighter links to Codex and Claude posts.
- Add an AI Coding Tools hub — a short map page so humans and crawlers see the hierarchy in one place.
- Refresh winners before inventing thin new posts — structure backfill and contextual links via the existing GEO action queue.
- Measure the right things for 2–3 months — GSC impressions and average position for the almost-ranking set; Organic vs Direct on a matched date range; landing pages for Direct sessions; AI Assistant as a noisy lower bound.
The planned list lives in a Markdown file, so I do not lose the thread between monthly reports.
Final Thoughts on One Month of GEO Measurement
Honestly, I think that GEO did not “cause +51%” in a clean causal sense. GEO, internal linking, evergreen tutorials, and unattributed sharing are allowed to share the credit.
What will I do next? I will keep measuring, keep restructuring pages so machines can quote them accurately, and keep writing for the human who is stuck on an install error at 11 pm.
If you are doing the same work on your own site, watch positions 5–20 harder than yesterday’s user count. That is usually where the next real step lives.
I am planning to share the three-month follow-up trends and whether I have to change anything in my setup.
Until then, please subscribe to my posts so that you will get the report promptly, and please ask me any questions in the comments. I am always excited to see a new comment :)
Good luck with your GEO and all the best,
Elena.
References
- What Is GEO? How I Optimised My Blog for AI Search
- Getting Started with Codex CLI
- Local AI Agents with Cline, Ollama, and MCP
- Claude Pro vs Free
- Homebrew Setup and Usage
- Moving to GA4
- GEO: Generative Engine Optimization — Princeton et al. (KDD 2024)
- Google Search Console Help
- GA4 Traffic acquisition reports
- GA4 Default Channel Grouping (Direct traffic)
- What’s New in Google Analytics — AI Assistant channel
- Search Console: Impressions, Position, and Clicks Explained
GEO Results FAQ
Did GEO increase this blog’s traffic in one month?
Traffic rose, and GEO plus internal linking is a plausible contributor — but it is not a clean A/B proof. Verified GA4 30-day active users grew about 51% (19,164 → 28,924, Singapore excluded). Several AI tutorials improved together in a separate pages report. Causation is shared with normal SEO, freshness, and unattributed Direct traffic from shares or AI chats.
Why is most of the traffic Direct in GA4?
GA4 Direct includes visits with no usable referrer: bookmarks, some email clients, Slack/Discord/Teams, privacy browsers, desktop apps, and many AI-assistant link opens. For a technical blog, a high Direct share often means real readers arriving through channels analytics cannot name — not only people typing the URL.
Which pages grew after GEO work?
In the pages-and-screens review, the strongest movers were the Codex CLI tutorial and Local AI agents with Cline, Ollama, and MCP — both well ahead of homepage and blog-index growth. That pattern fits people landing on tutorials from search or shares rather than only browsing the site.
What should I measure next for GEO?
Prioritise Google Search Console impressions and average position for your almost-ranking pages (roughly positions 5–20), then Organic Search vs Direct in GA4, and landing pages for Direct sessions. Total users alone can mislead because a 30-day rolling window steps up when stronger recent days replace weaker ones from a month ago.
Is a sudden country spike (for example Singapore) always bots?
Not always. Exclude that country temporarily and check whether users, sessions, and the same tutorial pages still rise. If growth remains multi-page, Search Console impressions also climb, and engagement does not look empty, treat bots as less likely — but keep watching for single-country, short-session anomalies.
Stay Ahead in AI, Machine Learning & Python
No hype. Weekly notes on AI tools, Python, and what I'm actually building — plus two free gifts: the 15-page Fantastic AI: The 2026 Toolkit and a Git Commands & Contribution Workflow Cheatsheet.
You're in
Check your inbox for Set a password to unlock articles if you want gated tutorials. Log in with the same email.