AI search engines—ChatGPT, Google AI Overviews, Perplexity, Gemini—synthesize answers instead of listing links. Getting cited means appearing in their responses, not ranking on page one.
Generative Engine Optimization (GEO) is the practice of making your content citable by AI. Princeton researchers coined the term in November 2023, and by 2025 it's standard practice alongside traditional SEO.
Traditional search shows 10 blue links. AI search shows one synthesized answer citing 2-7 sources (Backlinko research). If you're not in those citations, you're invisible.
The numbers are compelling:
For Vue developers: if your content isn't structured for AI extraction, you lose traffic to competitors who optimize for both.
GEO doesn't replace SEO—it extends it. AI engines like Google's Gemini (powering AI Overviews) still use ranking signals. 80% of AI Overview citations come from pages already ranking in the top 3.
| Traditional SEO | Generative Engine Optimization |
|---|---|
| Optimize for 10 blue links | Optimize for 2-7 citations |
| Backlinks build authority | Third-party mentions build authority |
| SERP snippets drive clicks | AI summaries drive (fewer) clicks |
| Keyword targeting | Semantic topic coverage |
| CTR matters | Citation rate matters |
Start with SEO fundamentals. If your Vue site isn't crawlable and indexable, AI engines can't cite it either.
Each AI platform favors different sources:
| Platform | Top Citation Sources |
|---|---|
| ChatGPT | Wikipedia (47.9%), news sites, academic sources |
| Gemini | Reddit, YouTube, official docs |
| Perplexity | Reddit, community discussions, recent articles |
| Google AI Overviews | Top-ranking organic results, structured data |
Wikipedia dominates ChatGPT because it provides comprehensive, neutral, well-structured information. Reddit dominates Perplexity because it surfaces real user experiences.
Implications for Vue developers: Create content that reads like documentation, not marketing. Include real code examples, acknowledge limitations, and cite your sources.
Schema.org markup helps AI understand your content. Google confirmed at Search Central Live Madrid that Gemini (powering AI Overviews) uses structured data to understand content context.
Pages with structured data are 40% more likely to appear in AI citations.
For technical content, implement these schemas:
// composables/useArticleSchema.ts
import { defineArticle, defineWebPage, useSchemaOrg } from '@unhead/schema-org/vue'
export function useArticleSchema(article: {
headline: string
description: string
datePublished: string
dateModified?: string
author: string
}) {
useSchemaOrg([
defineWebPage({
'@type': 'WebPage',
'name': article.headline,
'description': article.description
}),
defineArticle({
headline: article.headline,
description: article.description,
datePublished: article.datePublished,
dateModified: article.dateModified || article.datePublished,
author: {
'@type': 'Person',
'name': article.author
}
})
])
}
Use it in your Vue pages:
<script setup lang="ts">
useArticleSchema({
headline: 'How to Add Meta Tags in Vue',
description: 'Complete guide to managing meta tags in Vue 3 with Unhead.',
datePublished: '2025-01-15',
author: 'Your Name'
})
</script>
FAQ schema works well for question-based queries that trigger AI responses:
import { defineFAQPage, useSchemaOrg } from '@unhead/schema-org/vue'
useSchemaOrg([
defineFAQPage({
mainEntity: [
{
'@type': 'Question',
'name': 'How do I add meta tags in Vue?',
'acceptedAnswer': {
'@type': 'Answer',
'text': 'Use the useHead composable from @unhead/vue to set meta tags reactively.'
}
}
]
})
])
Note: Google deprecated FAQ rich results for most sites in August 2023, but the structured data still helps AI engines understand Q&A content.
AI engines parse content differently than humans browse it. Structure your Vue documentation and articles for extraction:
Put the answer first. AI engines extract from the opening paragraph:
❌ Bad: "In today's web development landscape, meta tags play a crucial role..."
✅ Good: "Use `useHead()` from @unhead/vue to set meta tags in Vue 3.
It handles SSR, reactivity, and deduplication automatically."
AI engines use H2s and H3s to understand content hierarchy:
## How to Set Meta Tags in Vue ← Clear question format
### Using useHead() ← Specific method
### Dynamic Meta Tags per Route ← Common use case
### Troubleshooting SSR Issues ← Problem-solving
Technical AI queries expect code. ChatGPT and Perplexity cite pages with working examples:
<script setup lang="ts">
import { useHead } from '@unhead/vue'
// This gets extracted by AI engines
useHead({
title: 'Page Title',
meta: [
{ name: 'description', content: 'Page description for search engines' }
]
})
</script>
AI engines love citable facts. Include specific numbers with sources:
❌ Vague: "Most sites have SEO issues."
✅ Specific: "67.6% of websites have duplicate content issues (Semrush, 2024)."
AI engines weight third-party mentions heavily. Wikipedia dominates ChatGPT because thousands of external sources cite it.
Target sites AI engines trust:
Original research gets cited. Publish:
Backlinko saw 800% YoY increase in LLM referrals by creating original research content.
Traditional analytics miss AI traffic. Users get answers without clicking through.
| Metric | What It Measures | How to Track |
|---|---|---|
| AI citation rate | How often you're cited in AI responses | Manual sampling, brand monitoring |
| Share of AI voice | % of AI answers mentioning your brand | Tools like Profound, Otterly |
| Zero-click visibility | Impressions without clicks | Search Console impression data |
Query AI engines directly with your target keywords:
ChatGPT: "How do I add meta tags in Vue?"
Perplexity: "Best practices for Vue SEO"
Google (AI Overview): "Vue meta tags tutorial"
Check if your content appears in citations. Screenshot and track monthly.
Client-rendered Vue SPAs won't get cited. AI crawlers need server-rendered HTML:
// vite.config.ts with vite-plugin-ssr
import vue from '@vitejs/plugin-vue'
import ssr from 'vite-plugin-ssr/plugin'
export default {
plugins: [vue(), ssr()]
}
Or use Nuxt, Quasar SSR, or VitePress for built-in SSR.
The llms.txt standard tells AI crawlers what content to prioritize:
# llms.txt - placed at /llms.txt
# Title: Vue SEO Guide
# Description: Complete guide to SEO for Vue.js applications
## Documentation
- /docs/getting-started: Quick start guide for Vue SEO
- /docs/meta-tags: Managing meta tags with useHead
- /docs/structured-data: Schema.org implementation
## Guides
- /learn/vue-seo-basics: Vue SEO fundamentals
- /learn/ssr-vs-spa: When to use server-side rendering
Serve it from your public directory. AI crawlers like GPTBot check for this file.
Control which AI engines can access your content:
# robots.txt
# Allow Google (including AI Overview)
User-agent: Googlebot
Allow: /
# Allow ChatGPT
User-agent: GPTBot
Allow: /
# Allow Perplexity
User-agent: PerplexityBot
Allow: /
# Block specific AI crawlers if needed
User-agent: CCBot
Disallow: /
See the robots.txt guide for full syntax.
Start with these high-impact changes:
Nuxt SEO includes automatic schema.org generation, llms.txt support via nuxt-llms, and SSR out of the box.