GEO is the new SEO
Your next customer might never see a search results page. They ask ChatGPT, Perplexity or Google's AI, and it answers with a few sites it could read and trust. VibePatrol now gives every scanned site a free GEO score out of 100, with the fixes that matter most.
What is GEO?
Generative engine optimization: making your site easy for AI answer engines like ChatGPT search, Perplexity, Claude and Google AI Overviews to read, understand and cite.
Why does it matter?
More people ask an AI instead of clicking ten blue links. If the AI can't read your page, or your robots.txt blocks it, you don't get mentioned.
Does the GEO check touch my site?
It is passive. Besides your homepage, which the security scan already loads, it makes a few GET requests: /robots.txt, /llms.txt and your sitemap, within about 3 seconds.
How much does it cost?
Nothing. Every scan includes the GEO score and the top fixes, on the free result.
How is the score calculated?
Eleven checks, 100 points total. Grades: A 90+, B 80+, C 70+, D 60+, F below 60.
| Check | Points | What we look for |
|---|---|---|
| Structured data (schema.org JSON-LD) | 15 | Valid schema.org JSON-LD with a specific type (Organization, WebSite, Product, FAQPage, Article and similar). Valid JSON with a vague type gets 8. |
| AI crawlers allowed in robots.txt | 15 | 3 points each for GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot and Google-Extended not blocked from / in robots.txt. A specific group beats the * group. No robots.txt counts as allowed. |
| llms.txt file | 10 | /llms.txt returns 200 with real text (not an HTML error page). |
| Page title | 8 | A <title> of 10 to 65 characters that is not a default like "Vite + React". Wrong length gets 4, a default title gets 2. |
| Meta description | 8 | A meta description of 50 to 160 characters. Present but the wrong length gets 4. |
| Heading structure (one h1, then h2/h3) | 10 | Exactly one <h1> (6) and <h2> sections with no <h3> before the first <h2> (4). |
| Readable, answerable content | 12 | 250+ words of server-rendered text (8, or 4 for 100+), plus question headings or an FAQ (4). A JavaScript-only shell gets 0 here. |
| Open Graph title, description and image | 7 | og:title (2), og:description (2) and og:image (3). |
| Canonical URL | 5 | A <link rel="canonical"> with a valid http(s) URL. |
| Sitemap reachable | 5 | The sitemap named in robots.txt, or /sitemap.xml, returns a real <urlset> or <sitemapindex>. |
| Language attribute on <html> | 5 | A lang attribute on <html>, like lang="en". |
What if my site is a JavaScript app?
If your homepage is an empty shell that only fills in after JavaScript runs (common with Vite and React builds), many AI crawlers see nothing. We say so plainly and suggest server rendering or prerendering. More in AI crawlers can't read my app?
Free with every scan
The GEO score sits next to your security score on the free result. The security score is calculated separately and the GEO check never changes it.