I ran a Generative Engine Optimization audit on two sites I own: my personal brand site neelshah18.com and the company site dishuu.com. The results were starkly different — 74/100 versus 28/100 — and the gap exposed something interesting about how AI systems evaluate authority versus how humans do.
This is the full writeup: what GEO measures, what each site scored, what was broken, what I fixed, and what is still on the roadmap.
What is GEO and why does it matter now?
Traditional SEO optimizes for Google’s ranking algorithm: backlinks, page authority, keyword density. Generative Engine Optimization targets a fundamentally different behavior: getting cited by AI systems like ChatGPT, Perplexity, Claude, and Gemini.
When someone asks Perplexity “who builds PySpark data pipelines in Canada?” the answer does not come from a ranked list of blue links. It comes from a synthesis of pages the AI system considers authoritative, citable, and structured enough to extract from. If your site is not built for that extraction, you are invisible — regardless of your traditional SEO score.
The numbers behind this shift:
| Metric | Value |
|---|---|
| AI-referred traffic growth (year-over-year) | +527% |
| Conversion rate vs. organic search | 4.4× higher |
| Projected drop in traditional search traffic by 2028 | 50% (Gartner) |
The audit I ran used geo-seo-claude by Zubair Trabzada — an open-source Claude Code skill plugin that orchestrates 13 sub-skills across AI citability, brand authority, content E-E-A-T, technical infrastructure, structured data, and platform optimization. Each category is scored independently, then weighted into a composite GEO score.
Site 1: neelshah18.com — 74/100
Score breakdown
| Category | Score | Weight |
|---|---|---|
| AI Citability | 72/100 | 25% |
| Brand Authority | 68/100 | 20% |
| Content E-E-A-T | 82/100 | 20% |
| Technical GEO | 88/100 | 15% |
| Schema & Structured Data | 62/100 | 10% |
| Platform Optimization | 55/100 | 10% |
| Overall | 74/100 | — |
The personal site has structural advantages that come from being a long-form publishing platform. 17 blog posts averaging 8–22 minutes of reading time, bilingual architecture in English and French, all AI crawlers explicitly allowed in robots.txt, and a llms.txt file that gives AI systems a machine-readable index of the site’s content. The Content E-E-A-T score of 82 reflects ten years of verifiable work history, an MSc from Lakehead University (NSERC-funded), and public citations at 89+ on Google Scholar.
The weaknesses were mostly schema gaps — things that were present but incomplete.
What was broken
BlogPosting schema was missing key AI-citability properties. Every post had the base BlogPosting type, but was missing:
inLanguage— critical for a bilingual site; AI systems need to know which language variant to citewordCount— AI systems use this to gauge content depth; estimated from read time at 250 wpmurlas a property separate frommainEntityOfPageisPartOflinking each post back to the parentBlogentityaboutmapped to structuredThingentities rather than plain stringsImageObjectwith explicitwidthandheightinstead of a plain URL string
FAQPage schema was absent on articles with FAQ structures. The Claude Code Complete Guide and the geo-seo-claude article both contain multi-question Q&A sections — “What does X do?”, “How do I install Y?” — but had no FAQPage markup. FAQ schema is one of the highest-ROI schema types for AI citation selection because it maps directly to how AI generates answers.
llms.txt was outdated. The file had not been updated since April 11, 2026, and was missing four recently published articles: dishuu-zero-whitepaper, hf-mount-huggingface-filesystem, geo-seo-claude-guide, and vibe-leaders-ai-world. AI crawlers using llms.txt as a discovery index would not find these.
Person schema lacked academic credentials. The global Person schema had jobTitle and worksFor but no alumniOf (Lakehead University, Gujarat Technology University) or hasCredential (MSc, NSERC). These properties are how AI systems build an entity graph around a named individual and verify their authority.
No speakable selectors. Google Discover and voice AI use speakable CSS selectors to identify key paragraphs for audio rendering and citation extraction. Long-form articles between 18 and 22 minutes benefit significantly from these selectors pointing at intro and conclusion paragraphs.
No SearchAction on the homepage. The WebSite schema existed but lacked a potentialAction for a Sitelinks Searchbox, which helps Google AI Overviews surface direct navigation links.
Research page had no ScholarlyArticle schema. The page lists published papers but emitted no structured data. Adding ScholarlyArticle entries with citation links significantly boosts E-E-A-T for academic authority signals.
What was fixed in this audit session
All high and medium priority issues on neelshah18.com were resolved during the audit:
- BlogPosting schema enriched across English and French templates:
inLanguage,wordCount,url,isPartOf,aboutas structuredThingentities,author.sameAs,publisher.sameAs,ImageObjectwith dimensions - llms.txt updated: 4 missing articles added, date refreshed
SearchActionadded to EN/FR homepageWebSiteschema, backed by a new/search/routealumniOf(Lakehead, Gujarat Technology University) andhasCredential(MSc, NSERC) added to the global Person schema in Layout.astroScholarlyArticleschema added to the research page for each listed paperspeakableCSS selectors added to blog post schemaFAQPageschema and visible FAQ sections added to the Claude Code Complete Guide and geo-seo-claude articles
What remains open
The remaining gaps are not technical — they require distribution effort:
- Reddit presence is absent. r/dataengineering, r/PySpark, r/MachineLearning, and r/ClaudeAI are high-citation sources for AI training data. One authentic post from the author in each relevant subreddit changes the entity graph.
- No YouTube channel. Even a 5-minute walkthrough of
emotor a PySpark tutorial creates an entity connection that AI systems recognize. - Wikipedia has no article for
emot. The library has 3M+ downloads and published research supporting it. It meets Wikipedia’s notability threshold. An article would be the single highest-authority external signal for the brand. - No author photos on blog posts. A small visual trust signal, but present in the audit recommendations.
- No TL;DR blocks on long-form articles. AI systems prefer a dense, quotable paragraph near the top. A 3-sentence TL;DR at the start of each major article creates an obvious extraction target.
Site 2: dishuu.com — 28/100
Score breakdown
| Category | Score | Weight |
|---|---|---|
| AI Citability | 20/100 | 25% |
| Brand Authority | 18/100 | 20% |
| Content E-E-A-T | 22/100 | 20% |
| Technical GEO | 45/100 | 15% |
| Schema & Structured Data | 0/100 | 10% |
| Platform Optimization | 15/100 | 10% |
| Overall | 28/100 | — |
The 28/100 score is critical. The honest version: dishuu.com has a strong product and a clear value proposition, but is functionally invisible to AI systems.
The Schema score is 0/100. Not 20, not 40 — zero. No JSON-LD markup was detected on any page. Not the homepage, not the Zero product page, not the consulting page. AI systems cannot identify Dishuu as an Organization entity, Zero as a SoftwareApplication, or the consulting tiers as a Service.
The specific failures
Zero JSON-LD schema on any page. Every page is a missed opportunity. The /zero/ page describes a product with explicit pricing ($0.99/month personal, $50,000+ enterprise), a transport stack, and a defined feature set — all invisible to AI systems without SoftwareApplication + Offer schema. The /consulting/ page has three named tiers (Buddy Starter, Buddy Build, Buddy Pro) with explicit pricing — invisible without Service + Offer schema.
No llms.txt. dishuu.com/llms.txt returns a 404. AI crawlers have no machine-readable index of what the site is, what it does, or what its key pages are.
No named individuals anywhere on the site. The about page describes the company mission without naming a single founder, engineer, or team member. AI systems evaluate E-E-A-T by cross-referencing named individuals against external sources. Dishuu has no verifiable people to cross-reference.
FAQPage schema absent on FAQ-heavy pages. /zero/ and /consulting/ both have full FAQ sections. Neither has FAQPage markup. This is the single highest-ROI fix on the site — the content already exists.
No blog or authored content. AI systems cite content. Dishuu has no blog, no guides, no case studies. The only long-form surface is the zero-whitepaper/ page (~1,000 words) — which itself has no schema, no link from the homepage, and no TechArticle markup. Every competitor with a blog is more citable by default.
Thin content per page. Most pages are 300–800 words. That is below the depth threshold AI systems prefer for citation. The product messaging is sharp, but the explanatory content supporting it is minimal.
Brand has no external presence AI systems can verify. No Wikipedia mentions, no Reddit posts, no YouTube channel, no press coverage, no GitHub repositories linked from the site. The brand is new and the citation mass AI systems need has not yet accumulated.
Positives
Technical GEO scored 45/100, which reflects real strengths:
robots.txtexplicitly allows all major AI crawlers: GPTBot, ClaudeBot, PerplexityBot, Google-Extended, OAI-SearchBot- Sitemap exists with 16 URLs
- Pages appear server-rendered — no JS-only content detected
These are table-stakes requirements, but many sites fail them. Dishuu did not.
The Zero whitepaper is a genuine E-E-A-T asset. The sentence “Trust is created through direct human verification instead of outsourced identity” is exactly the kind of quotable, position-taking statement AI systems surface. It is under-leveraged because it has no schema and no homepage link.
The 30-day fix plan
Week 1 — Foundation schema:
Organizationschema on the homepage withsameAssocial linksWebSite+potentialActionSearchAction on the homepageFAQPageschema on/zero/and/consulting/(content already exists)SoftwareApplication+Offerschema on/zero/Service+Offerschema on/consulting/BreadcrumbListon all pages
Week 2 — Content and llms.txt:
- Create
dishuu.com/llms.txt— 20-line file, immediate AI discoverability gain - Verify and add meta descriptions to all 16 pages
- Add
Personschema for at least one named founder/team member with LinkedIn link - Add
TechArticleschema to/zero-whitepaper/
Week 3 — Platform distribution:
- Submit Dishuu Zero to Product Hunt — generates Reddit and HN mentions that AI models cite
- Create a GitHub organization with at least one linked repository
- Post about the Zero privacy model to r/privacy or r/degoogle
- Publish one blog post: “Why we built Zero without servers”
Week 4 — Authority building:
- Add Dishuu to Crunchbase and AngelList (AI models cite these heavily for company identification)
- Fix sitemap
lastmodvalues — currently all set to the same date, which signals stale content - Confirm or create LinkedIn company page; link from homepage schema
- Write one consulting case study — even anonymized, it dramatically improves E-E-A-T
The comparison
| Metric | neelshah18.com | dishuu.com |
|---|---|---|
| GEO Score | 74/100 | 28/100 |
| JSON-LD Schema | Present (7 types) | Absent |
| llms.txt | Present (updated) | Missing |
| AI crawler access | All crawlers allowed | All crawlers allowed |
| Meta descriptions | All pages | Unconfirmed |
| hreflang | en-CA / fr-CA | N/A |
| FAQPage schema | Homepage + priority articles | Absent on FAQ pages |
| Author / E-E-A-T | Strong | No named individuals |
| Content depth | 17 long-form posts | 16 pages, no blog |
| Platform presence | GitHub/Scholar strong, Reddit absent | Minimal |
The personal site’s advantages almost entirely come from long-form content publishing and schema markup — not from backlinks or traditional SEO signals. The bilingual architecture is a structural advantage that doubles the indexable surface for AI systems without requiring additional content strategy.
The startup site’s deficit is not a product problem. The messaging is good, the positioning is clear, the technical infrastructure is correct. The gap is entirely in how the site communicates with machine systems — both AI crawlers and structured data parsers. None of the required fixes are hard engineering work. They are a week of focused schema implementation and a content calendar that produces one blog post per week.
What this audit changed in my thinking
Before this audit, I assumed my personal site was reasonably well-optimized. The 74/100 score is fair — not bad — but the schema gaps that surfaced were real and fixable in a day. The FAQPage markup on Q&A articles alone could meaningfully change how AI systems cite those articles when answering questions about Claude Code or GEO.
For dishuu.com, the audit clarified a prioritization I had been vague about. The schema work is a week of implementation. The blog is a two-month content commitment. The platform distribution — Reddit posts, Product Hunt listing, Wikipedia article for Zero — is a third track that runs concurrently. None of it is blocked. All of it is sequenced now.
The deeper observation: AI systems evaluate sites the way a careful human evaluator would if they had infinite time and zero visual bias. They look at who wrote it, whether those people can be verified, how the content is structured, how deep the explanations go, and whether the metadata reinforces the content. A beautiful homepage that does not answer these questions scores 28/100. A utilitarian blog with verifiable credentials, deep technical content, and complete schema markup approaches 74/100 and keeps going.
GEO is not a technical trick. It is a commitment to being genuinely legible to the systems that are replacing traditional search for a growing share of the queries that drive real traffic.
The audit was run on 2026-05-05 using geo-seo-claude by Zubair Trabzada. Implementation fixes to neelshah18.com were applied on 2026-05-08.