你的網站對 AI 來說是隱形的 — 用 GEO 讓搜尋引擎找到你
跑了一次 GEO audit,我的網站只拿 31 分。問題不是內容不好,是 AI 搜尋引擎根本看不到它。這篇記錄我怎麼用一套開源 Claude Code skills 做完整 audit,然後在同一天把分數拉到 46。
你花了幾十個小時寫的技術文章,Google 搜得到。但你問 ChatGPT, Claude, Perplexity 同一個問題,它們引用的永遠是別人的內容。
不是你寫得不好。是 AI 搜尋引擎根本不知道你的網站存在。
🔵 GEO 是什麼,為什麼你該在意
GEO (Generative Engine Optimization) 是針對 AI 搜尋引擎的 SEO。傳統 SEO 讓 Google 排名靠前,GEO 讓 AI 系統願意引用你的內容。
差別在哪? Google 看 backlinks 和 keyword density。AI 模型看的是:
- Structured Data (JSON-LD): 你是誰? 這篇文章的作者是誰? 什麼時候發表的?
- Brand Authority: Reddit, YouTube, Wikipedia 上有人提過你嗎?
- llms.txt: 你有沒有主動告訴 AI 系統你的網站有什麼?
- Content Citability: 你的內容是不是「可以被引用」的格式?
根據研究,到 2028 年傳統搜尋流量會下降 50%。AI 搜尋正在吃掉 Google 的份額。如果你的網站對 AI 不可見,你正在失去越來越大比例的潛在讀者。
🟡 31 分的震撼: 我的 Audit 結果
我用 geo-seo-claude 這套 Claude Code skills 對自己的網站跑了一次完整 audit。這套工具會平行啟動 5 個 AI agent,分別分析不同維度:
/geo audit https://0xjoeytw.xyz
3 分鐘後,報告出來了:
| Category | Score | 狀態 |
|---|---|---|
| AI Citability | 24/100 | Critical |
| Brand Authority | 12/100 | Critical |
| Content E-E-A-T | 52/100 | Fair |
| Technical | 62/100 | Fair |
| Structured Data | 0/100 | Critical |
| Platform Optimization | 29/100 | Poor |
| Composite | 31/100 | Poor |
Structured Data 是 0 分。零。我的網站沒有任何 JSON-LD, 沒有 Open Graph tags, 沒有 llms.txt。對 AI 來說,我的網站就是一堆 HTML,它不知道作者是誰,文章什麼時候發表的,甚至不確定這是一個個人網站還是垃圾站。
但最反直覺的是: Content Citability 其實不低。我的文章裡有原創的合規率數據, 有 token 成本分析表, 有三層 enforcement 框架。這些內容的 citability 分數到 74/100。
問題不是內容不好。是好內容被裝在一個 AI 看不懂的容器裡。
🟢 同一天修完: 6 個 Quick Wins
報告裡最有價值的部分是 Priority Actions。前 6 項全是 code-level changes,不需要改任何文章內容:
1. JSON-LD Schema — 告訴 AI「我是誰」
在 Next.js root layout 加入 Person + WebSite schema:
const jsonLdPerson = {
'@context': 'https://schema.org',
'@type': 'Person',
'@id': 'https://0xjoeytw.xyz/#person',
name: 'Joey Chen',
sameAs: [
'https://github.com/molu0219',
'https://twitter.com/0xjoeytw',
],
knowsAbout: ['Blockchain', 'Claude Code', 'AI Development'],
}
關鍵是 @id 和 sameAs。@id 讓所有文章的 author 都指向同一個實體。sameAs 把你的 GitHub, Twitter 串起來,幫助 AI 做 entity resolution — 把不同平台上的「Joey Chen」識別為同一個人。
每篇 blog post 再加 BlogPosting schema,引用同一個 @id:
author: { '@type': 'Person', '@id': 'https://0xjoeytw.xyz/#person' }
2. Open Graph + Twitter Card
沒有 OG tags = 分享到任何平台都沒有預覽。AI 系統也用 OG tags 來理解頁面主題。
3. lang="zh-TW" 修正
原本是 lang="en" 但內容是中文。這讓搜尋引擎搞不清楚該把你的內容推給誰。
4. /llms.txt — AI 的 sitemap
llms.txt 是一個新興標準,告訴 AI 系統你的網站結構和重點內容。像 robots.txt 是給爬蟲看的, llms.txt 是給 AI 看的:
# Joey Chen — Developer & Builder
> Personal website focused on Claude Code workflows...
## Blog Posts
- [Claude Code Dev Workflow](https://0xjoeytw.xyz/blog/...): Complete workflow design...
5. AI Crawler 明確規則
在 robots.txt 加入 GPTBot, ClaudeBot, PerplexityBot 等明確的 Allow 規則。雖然 wildcard 已經允許了,但明確寫出來是一個「我歡迎 AI 索引」的信號。
6. Security Headers
HSTS, X-Frame-Options, X-Content-Type-Options。這些是信任信號,搜尋引擎會參考。
🔵 更深一層: excerpt_en 的分離設計
這是我覺得最巧妙的一招。
我的文章全是繁體中文。但 AI 搜尋引擎主要引用英文,中文內容被引用的機率低 30-40%。翻譯全文成本太高,而且讀者就是要看中文。
解法: meta 層英文,UI 層中文。
在 Supabase 的 posts table 加一個 excerpt_en 欄位,然後在 Next.js 的 generateMetadata 裡:
const description = data.excerpt_en || data.excerpt || undefined
這行 code 的效果:
<meta name="description">— 英文og:description— 英文- JSON-LD
BlogPosting.description— 英文 - 頁面上顯示的摘要 — 中文
AI crawler 看到英文 meta,讀者看到中文 UI。零衝突。
🟡 為什麼只到 46 分?
做完所有 code-level changes,估計分數從 31 → 46。為什麼沒到 80?
因為 Brand Authority 佔 20% 權重,而且只有 12 分:
- Reddit: 0 (從沒發過文)
- YouTube: 0 (沒頻道)
- dev.to / Medium: 0
- Wikipedia: 0
- GitHub: 只有 2 followers
AI 模型判斷一個來源是否可信,很大程度看「其他地方有沒有人提到你」。如果只有你自己的網站在說你是專家,AI 不太會引用你。
技術基礎設施是門票,但 Brand Authority 才是入場券。你需要在 AI 會去看的平台上建立存在感。
收尾: GEO 的三個行動層次
-
今天就能做 (code changes): JSON-LD schema, OG tags,
llms.txt,lang修正, security headers → 這些能把你從 "invisible" 變成 "detectable" -
這週可以做 (content + data): 充實 About 頁, 加 privacy policy, 文章加英文 meta → 從 "detectable" 變成 "understandable"
-
持續做 (distribution): 在 Reddit, dev.to, YouTube 建立存在感 → 從 "understandable" 變成 "trustworthy"
如果你也想跑一次 GEO audit,geo-seo-claude 是開源的,直接裝到 Claude Code 就能用。第一步永遠是知道自己幾分。
