Headline: Google traffic is flat. AI-assistant traffic is growing 40% quarter over quarter on every site I measure. The pages that get cited share a small, learnable set of properties — and almost none of them are the things traditional SEO trained you to optimize.
I've spent the last six months instrumenting AI-referral traffic across eng-ahmed.com and Devya Solutions. Long enough to stop guessing and start pattern-matching.
This is the playbook that's actually moving the needle.
What "GEO" actually means in 2026
Generative Engine Optimization is the discipline of getting your content surfaced — and cited — by LLM-powered search products: ChatGPT Search, Perplexity, Claude, Gemini, Copilot, You.com, and the dozen smaller players.
It is not "SEO with better keywords." Three things break the analogy:
- There is no SERP. Users see one synthesized answer, not ten blue links. The only winning move is to be inside the answer.
- The ranking signal is brand mentions, not backlinks. An Ahrefs study across 75K brands found mentions correlate with AI visibility at ρ=0.664 — three times higher than backlinks (ρ=0.218).
-
The crawler isn't Googlebot. Perplexity is documented to ignore
robots.txt. ChatGPT respects it. Claude readsllms.txt. You need to think about each crawler individually.
The five things that actually moved my needle
1. Ship /llms.txt and /llms-full.txt
The de-facto standard for telling LLMs what to read on your site. llms.txt is a curated table of contents; llms-full.txt is the full text of your important pages, concatenated.
# llms.txt — minimal
# Ahmed Mahmoud — Software Engineer
## About
- /about: short bio, contact info
## Writing
- /blog/react-server-components-in-production-2026
- /blog/claude-agent-sdk-production-patterns
When I added this to eng-ahmed.com, Claude and Perplexity started citing the blog within 11 days. Direct, measurable lift.
2. Structured data for every page that could be cited
JSON-LD Article / Person / Organization schema is no longer a "nice to have." LLMs use it to disambiguate entities. Without Person schema, my name was getting confused with three other Ahmed Mahmouds in citations.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Ahmed Mahmoud",
"url": "https://www.eng-ahmed.com",
"sameAs": [
"https://github.com/...",
"https://www.linkedin.com/in/..."
],
"jobTitle": "Software Engineer",
"affiliation": {"@type": "Organization", "name": "Devya Solutions"}
}
</script>
3. Earn mentions in places LLMs are known to crawl
The brands that win citations are mentioned on:
- Reddit (especially subreddits an LLM weighs as high-trust: r/programming, r/webdev, r/MachineLearning)
- Hacker News — comments count, not just front-page submissions
- GitHub — README mentions and Discussions threads
- Stack Overflow answers — old but still scraped heavily
A single well-upvoted Hacker News comment that mentions your tool by name beats fifty guest posts on no-name SEO blogs.
4. Write content that answers exact questions, not "topics"
LLMs synthesize answers from chunks. If your page contains a clean, copy-pasteable answer to a real user question, it gets pulled in. If your page is 2,000 words about "Everything you need to know about X," it gets skipped.
Format that works:
## How do I [specific question]?
**Short answer:** [one or two sentences]
**Why:** [the reasoning]
**Code:**
js
// the exact snippet
**Caveat:** [the one gotcha]
I changed my own blog template to this shape three months ago. AI-referral traffic from "how do I" queries roughly doubled.
5. Stop publishing thin content
The dirtiest secret of GEO: most "SEO content" is invisible to LLMs because it adds no information density. If a chunk of your page does not contain a fact, opinion, code sample, or original quote, an LLM will not cite it. It will skip to the next source.
Audit your existing content. Anything that's an introduction-to-an-introduction is a citation killer.
What to stop doing
- Don't obsess over keywords. LLMs don't rank by exact-match. They rank by semantic relevance + author/site authority + freshness.
- Don't buy backlinks. They don't move AI citations. They might still help in Google, but the ROI is collapsing.
- Don't block AI crawlers wholesale. You will get zero AI traffic. Block selectively (training data scrapers if you care; search-time crawlers never).
The measurement gap
GA4 undercounts LLM-referral traffic by 20-40%. Direct/none traffic is hiding most of your AI visitors. To actually measure GEO:
- Server-side logs for
*GPT*,*Claude*,*Perplexity*,*Gemini*user agents - GSC for branded vs non-branded impressions (proxy for the dark funnel)
- A fixed prompt set you run weekly against each LLM, counting your brand's appearance rate (AICF — AI Citation Frequency)
I built a pipeline at seo-data (an internal repo) that runs this on a launchd cron weekly. Worth doing — without measurement you are flying blind.
What's next
The GEO landscape will keep shifting. New entrants (Vercel's Sign in with Vercel-based identity in AI products, browser-native models, etc.) will reshape the citation graph. The principles don't change: be useful, be canonical, be cited where the crawler reads.
If you're building something and want to talk through your GEO setup, you can find me at eng-ahmed.com or working through clients at Devya Solutions.
Top comments (0)