VoociiBlog
HomeBlogAI TrendingPortfolioBooksLinksToolsAbout
© 2026 Voocii. Built with Next.js & tRPC.
GitHubXEmailRSS


【Voocii-Portal v1.0.7 更新】从传统 SEO 规范到 AI 搜索引擎(GEO)深度优化

voocii-portalRickRickSeptember 11, 2026·7 views

摘要:在大型语言模型与 AI 搜索(Perplexity、ChatGPT Search、Claude 等)迅速崛起的今天,个人网站的曝光逻辑正在发生根本性变革——不仅要让传统搜索引擎(Google、Bing 等)“看得懂、排得高”,还要让 AI Agent“抓得快、读得准、优先引”。本文系统复盘了 Voocii-Portal 历经 P0(紧急修复降权隐患)、P1(社交分享与结构化数据体系)到 P2(GEO 前沿架构升级)的完整演进路径,并为站点管理员提供详细的验证实操指南。


一、改造背景与原存问题复盘

在系统性审查前,站点在搜索引擎优化(SEO)与 AI 搜索引擎可见性(GEO - Generative Engine Optimization)上存在若干致命隐患与体验断层,可分为三个层级:

1. P0 级核心缺陷:SEO 降权与索引异常

  • 根布局全局 Canonical 链接污染: 在 RootLayout 中硬编码了全局 alternates: { canonical: siteUrl },导致全站所有内页(如 /blog、/portfolio、/books 以及文章详情页)的规范链接全部被指向主页 https://voocii.com。在搜索引擎眼中,全站内页均被判定为“主页的重复内容”,导致内页严重降权甚至直接被搜索索引剔除。
  • Sitemap 存在 307 临时重定向缺陷与路由遗漏: sitemap.xml 中所有中文页面均被硬编码带上了 /zh 前缀(例如 https://voocii.com/zh/blog),而站点的 next-intl 中间件默认语言策略是 as-needed(默认中文不带前缀)。搜索引擎爬虫请求时会触发大量 307 Temporary Redirect,消耗爬取配额且伤害信任度;同时,/trending、/books 及开发工具页面均未收录在 sitemap 中。
  • 实体作者假数据污染: SEO 与结构化数据(Schema.org)中多处写死了示例作者名 "Jane Doe",不仅未能为站长真实身份积累技术品牌资产,还污染了 Google 知识图谱(Knowledge Graph)关联。

2. P1 级体验断层:社交分享与结构化数据缺失

  • 详情页缺少专属动态 OpenGraph 与 Twitter Card: 博客文章、作品项目和图书详情页在分享到微信、X (Twitter)、Telegram、Discord、Slack 等社交平台时,无法展示个性化封面图、文章简介、作者信息与发布日期,社交卡片呈现空洞乏味。
  • 缺乏 Schema.org 结构化数据:
    • 缺乏全站级 WebSite 结构声明;
    • 图书详情页缺少 Book 实体(无法展示 ISBN、出版社、原书作者等专有富文本信息);
    • 全站缺少 BreadcrumbList 面包屑结构,搜索引擎结果页(SERP)无法展示清晰的面包屑导航层级。

3. P2 级时代盲区:未适配生成式 AI 搜索(GEO)

  • AI 抓取开销过高: AI 搜索引擎(Perplexity、ChatGPT 等)抓取文章时,面对的是包含大量 HTML 标签、CSS 类名和 JS 水合代码的臃肿 DOM,消耗极大上下文 Token,极易导致内容总结失真。
  • 缺少 AI 事实标准端点: 缺乏开源规范的 llms.txt(站点结构纲要)与 llms-full.txt(全站高密度知识库),AI 爬虫难以快速建立对站点的宏观认知。
  • Robots 策略陈旧: 对主流 AI 搜索引擎爬虫(GPTBot、ClaudeBot、PerplexityBot、Google-Extended 等)缺乏显式友好准入策略。

二、针对性架构设计与代码改造

针对上述问题,我们按严重等级分三阶段实施了端到端改造:

graph LR
    A[全维度优化体系] --> B[P0: 核心纠偏]
    A --> C[P1: 社交与富媒体]
    A --> D[P2: GEO 前沿升级]

    B --> B1[精准 Canonical / Hreflang]
    B --> B2[无重定向 Sitemap]
    B --> B3[真实实体绑定]

    C --> C1[动态 OpenGraph / Twitter]
    C --> C2[Book / WebSite Schema]
    C --> C3[BreadcrumbList 面包屑]

    D --> D1[llms.txt 站点索引]
    D --> D2[llms-full.txt 语料库]
    D --> D3[原生 .md 直链 Rewrite]
    D --> D4[AI Bots 准入策略]

1. 第一阶段(P0 紧急修复)

  1. 构建标准化 SEO 辅助库 (apps/web/src/lib/seo.ts): 封装统一的 getCanonicalUrl(pathname, locale) 与 getAlternateLanguages(pathname),严格匹配 next-intl 的 as-needed 规则(默认中文路径无 /zh,英文路径补 /en),同时自动生成 x-default。
  2. 移除根布局硬编码 Canonical: 在 app/[locale]/layout.tsx 中移除全局硬编码规范链接,由具体页面按需生成独立的 alternates。
  3. 全面重构 app/sitemap.ts:
    • 默认中文 URL 统一不带 /zh,消除 307 重定向;
    • 补齐 /trending、/books 以及 5 个常用开发工具页面;
    • 每个路由节点均注入 <xhtml:link rel="alternate" hreflang="..."> 双语映射。
  4. 统一真实作者身份: 在 site.config.ts、SEO 工具库及 Schema 声明中统一绑定站长真实配置 siteConfig.site.author || 'Rick'。

2. 第二阶段(P1 社交与详情页体验升级)

  1. 博客文章动态 OpenGraph 与 Twitter Card: 在 blog/[slug]/page.tsx 的 generateMetadata 中声明 og:type: 'article'、封面图、发布/修改时间、作者及标签,并在页面中注入 BreadcrumbList 面包屑结构化数据。
  2. 作品项目动态卡片与面包屑: 在 portfolio/[slug]/page.tsx 中实现多语言回退卡片与高清封面绑定。
  3. 图书详情页注入 Schema.org Book 实体: 在 books/[slug]/page.tsx 中输出符合 Google 规范的标准 Book JSON-LD,包含书名、作者(Person)、ISBN、出版社(Organization)及封面图。
  4. 全站级 WebSite Schema: 在首页(/)注入 WebSite 实体声明,明示站点名称、域名、双语支持与发布者。

3. 第三阶段(P2 GEO 前沿优化 - 抢占 AI 搜索引用入口)

  1. 规范化 llms.txt 站点索引 (apps/web/src/app/llms.txt/route.ts): 遵循 llmstxt.org 标准,输出包含站长背景、全站核心导航、精选开源项目与全量技术文章清单的轻量纯文本,并附带文章的原生 Markdown 直链。
  2. 全量知识库 llms-full.txt (apps/web/src/app/llms-full.txt/route.ts): 专为 AI Agent(如 Claude、Cursor、NotebookLM)设计的全站纯文本知识库,聚合站长履历、系统架构、所有已发布博客纯净全文与精选书评,配置 1 小时 CDN 缓存与 24 小时 stale-while-revalidate。
  3. 原生 Markdown 提取端点与无感 URL 重写:
    • 新建 apps/web/src/app/api/raw/blog/[slug]/route.ts,自动为文章注入标准的 YAML Frontmatter(包含 title、author、category、tags、canonical、date)并输出纯 Markdown;
    • 在 apps/web/next.config.ts 的 rewrites 中映射 /blog/:slug.md,使 AI 引擎通过 .md 后缀直达纯文本。
  4. 更新 app/robots.ts AI 爬虫准入清单: 显式为 GPTBot、ClaudeBot、PerplexityBot、Google-Extended、Applebot-Extended 配置准入规则,明确放行 /llms.txt、/llms-full.txt、/feed.xml 与 /blog/。

三、站点管理员验证与验收指南

改造完成后,站点管理员可通过浏览器直接访问、开发者工具(DevTools)、命令行 curl 及权威平台验证工具进行全方位验收。

1. 验证 P0:Canonical、Sitemap 与 307 重定向消除

验证方法 A:浏览器直接打开 Sitemap

  • 测试地址:

    http://localhost:3000/sitemap.xml
    
    

    (生产环境:https://voocii.com/sitemap.xml)

  • 检查要点:

    1. 页面中默认中文链接形如 https://voocii.com/blog,绝不能带有 /zh;
    2. 每个 <url> 节点内部包含 <xhtml:link rel="alternate" hreflang="zh-CN" ...> 与 hreflang="en-US";
    3. 列表中包含了 /trending、/books、/tools/json-formatter 等全量功能页面。

验证方法 B:检查内页独立 Canonical 链接

  • 测试地址:在浏览器中打开任意内页(例如 http://localhost:3000/blog 或 http://localhost:3000/portfolio)
  • 操作步骤:
    1. 在页面空白处按 F12 或右键选择“检查”(Inspect);
    2. 切换到 Elements 面板,展开 <head> 标签;
    3. 搜索 <link rel="canonical"。
  • 预期结果:
    • /blog 页面的 canonical 为 https://voocii.com/blog(绝不能指向主页 https://voocii.com);
    • /en/blog 页面的 canonical 必须为 https://voocii.com/en/blog。

验证方法 C:终端验证无 307 重定向

# 请求默认中文页面,应当直接返回 200 OK,没有任何 307 Temporary Redirect
curl -I http://localhost:3000/blog

2. 验证 P1:社交分享卡片与 Schema 结构化数据

验证方法 A:浏览器 DevTools 检查 OpenGraph 与 Twitter Card

  • 测试地址:在浏览器中打开文章详情页(例如 http://localhost:3000/blog/advanced-typescript-type-tricks)
  • 操作步骤:
    1. 打开 DevTools Elements 面板,展开 <head>;
    2. 查找 og: 与 twitter: 标签。
  • 预期结果:
    <meta property="og:type" content="article" />
    <meta property="og:title" content="22 - TypeScript 高级类型技巧 | 博客" />
    <meta property="og:description" content="深入理解 TypeScript 的条件类型..." />
    <meta property="og:url" content="https://voocii.com/blog/advanced-typescript-type-tricks" />
    <meta property="article:author" content="Rick" />
    <meta name="twitter:card" content="summary" />
    

验证方法 B:浏览器检查 Book 与 BreadcrumbList 结构化数据

  • 测试地址:在浏览器中打开图书详情页(例如 http://localhost:3000/books/free-to-choose)
  • 操作步骤:
    1. 在 DevTools 中全局搜索 application/ld+json;
    2. 查看 JSON-LD 的内容。
  • 预期结果:
    • 可以看到完整的 Book 实体定义:包含书名《自由选择》、作者米尔顿·弗里德曼、ISBN、出版社及封面图;
    • 可以看到 BreadcrumbList 面包屑实体:首页 > 读书 > 自由选择。

验证方法 C:第三方社交卡片预览工具(生产环境)

  • 访问 OpenGraph.xyz 输入你的文章或作品详情页 URL;
  • 即可在网页上直观预览在 Twitter、Facebook、LinkedIn、Discord 中的富媒体卡片展示效果。

3. 验证 P2:GEO AI 搜索引擎前沿适配

验证方法 A:在浏览器直接输入文章 .md 直链

  • 测试地址:复制并在浏览器地址栏回车:
    http://localhost:3000/blog/advanced-typescript-type-tricks.md
    (或者 http://localhost:3000/blog/vpn-openvpn.md)
    
  • 预期表现:
    • 浏览器直接以纯文本形式渲染原生 Markdown(没有任何 HTML/CSS 干扰);
    • 顶部呈现标准的 YAML Frontmatter,清晰列出 title、author、date、tags、canonical;
    • 响应头中 Content-Type 为 text/markdown; charset=utf-8。

验证方法 B:在浏览器查看 llms.txt 与 llms-full.txt

  • 测试地址 1:
    http://localhost:3000/llms.txt
    
    • 预期表现:输出标准的 Markdown 站点地图,包含核心板块说明、精选项目与所有文章链接(附带 .md Raw 地址)。
  • 测试地址 2:
    http://localhost:3000/llms-full.txt
    
    • 预期表现:输出全站高密度纯文本知识库,文章全文以干净的纯文本排列,可直接供 AI Agent、Cursor 或 NotebookLM 整体吸收。

验证方法 C:在浏览器查看 robots.txt AI 爬虫准入清单

  • 测试地址:
    http://localhost:3000/robots.txt
    
  • 预期表现:页面清晰包含如下规则:
    User-Agent: *
    Allow: /
    Allow: /llms.txt
    Allow: /llms-full.txt
    Allow: /feed.xml
    Disallow: /admin/
    Disallow: /api/
    
    User-Agent: GPTBot
    User-Agent: ClaudeBot
    User-Agent: PerplexityBot
    User-Agent: Google-Extended
    User-Agent: Applebot-Extended
    Allow: /
    Allow: /llms.txt
    Allow: /llms-full.txt
    Allow: /feed.xml
    Allow: /blog/
    Disallow: /admin/
    Disallow: /api/
    
    Sitemap: https://voocii.com/sitemap.xml
    

四、总结与后续展望

通过上述三个阶段的渐进式演化,Voocii-Portal 完成了从 传统基础 SEO 纠偏 到 全平台社交富媒体呈现,再到 AI 时代 GEO 原生适配 的全面跃升:

  1. 零降权隐患:全站内页均具备精确的独立 Canonical 与双语 Alternates,消除了重定向内耗;
  2. 高品质社交传播:每一篇文章、项目、图书均自带高规格卡片与语义化 Schema 数据;
  3. AI 搜索优先引用:通过 llms.txt、llms-full.txt 以及 .md 直链重写,极大降低了 Perplexity、ChatGPT Search 等新一代搜索 Agent 的抓取解析成本,帮助个人技术内容在生成式 AI 时代获得更高的引用权重。

未来,站点还可以进一步引入针对 AI 搜索的自动化事实核查锚点(Fact-Check Anchors)与动态 RSS 内容增强,持续保持在现代 Web 索引领域的技术领先性。

Comments (0)

No comments yet. Be the first!

Leave a comment

On this page
  • 一、改造背景与原存问题复盘
  • 二、针对性架构设计与代码改造
  • 三、站点管理员验证与验收指南
  • 四、总结与后续展望