All posts
AI Tools 18 min read May 8, 2026

GEO Audit: How My Personal Site Scored 74/100 and My Startup Scored 28/100

A full Generative Engine Optimization audit of neelshah18.com and dishuu.com — what AI systems found, what was broken, what we fixed, and what the gap between a personal brand and a startup looks like through the lens of AI citability.

#GEO#SEO#AI Search#Schema Markup#llms.txt#E-E-A-T#Structured Data#AI Citability#Perplexity#ChatGPT
Neel Shah Tech Lead · Senior Data Engineer · Ottawa

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:

MetricValue
AI-referred traffic growth (year-over-year)+527%
Conversion rate vs. organic search4.4× higher
Projected drop in traditional search traffic by 202850% (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

CategoryScoreWeight
AI Citability72/10025%
Brand Authority68/10020%
Content E-E-A-T82/10020%
Technical GEO88/10015%
Schema & Structured Data62/10010%
Platform Optimization55/10010%
Overall74/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 cite
  • wordCount — AI systems use this to gauge content depth; estimated from read time at 250 wpm
  • url as a property separate from mainEntityOfPage
  • isPartOf linking each post back to the parent Blog entity
  • about mapped to structured Thing entities rather than plain strings
  • ImageObject with explicit width and height instead 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, about as structured Thing entities, author.sameAs, publisher.sameAs, ImageObject with dimensions
  • llms.txt updated: 4 missing articles added, date refreshed
  • SearchAction added to EN/FR homepage WebSite schema, backed by a new /search/ route
  • alumniOf (Lakehead, Gujarat Technology University) and hasCredential (MSc, NSERC) added to the global Person schema in Layout.astro
  • ScholarlyArticle schema added to the research page for each listed paper
  • speakable CSS selectors added to blog post schema
  • FAQPage schema 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 emot or 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

CategoryScoreWeight
AI Citability20/10025%
Brand Authority18/10020%
Content E-E-A-T22/10020%
Technical GEO45/10015%
Schema & Structured Data0/10010%
Platform Optimization15/10010%
Overall28/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.txt explicitly 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:

  • Organization schema on the homepage with sameAs social links
  • WebSite + potentialAction SearchAction on the homepage
  • FAQPage schema on /zero/ and /consulting/ (content already exists)
  • SoftwareApplication + Offer schema on /zero/
  • Service + Offer schema on /consulting/
  • BreadcrumbList on 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 Person schema for at least one named founder/team member with LinkedIn link
  • Add TechArticle schema 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 lastmod values — 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

Metricneelshah18.comdishuu.com
GEO Score74/10028/100
JSON-LD SchemaPresent (7 types)Absent
llms.txtPresent (updated)Missing
AI crawler accessAll crawlers allowedAll crawlers allowed
Meta descriptionsAll pagesUnconfirmed
hreflangen-CA / fr-CAN/A
FAQPage schemaHomepage + priority articlesAbsent on FAQ pages
Author / E-E-A-TStrongNo named individuals
Content depth17 long-form posts16 pages, no blog
Platform presenceGitHub/Scholar strong, Reddit absentMinimal

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.

Frequently asked questions

What does a GEO audit measure?

A GEO audit measures whether a website is accessible, structured, authoritative, and citable enough to appear in AI-generated answers from systems such as ChatGPT, Claude, Perplexity, and Gemini.

Why did neelshah18.com score higher than dishuu.com?

neelshah18.com had stronger author authority, bilingual long-form content, structured data, llms.txt, crawlable pages, and research signals, while dishuu.com lacked most JSON-LD and AI discovery surfaces.

Which GEO fixes usually have the highest impact?

High-impact GEO fixes include llms.txt coverage, complete sitemap entries, AI crawler access, BlogPosting and FAQPage schema, author credentials, SearchAction, and content that makes claims easy to cite.