[{"content":"GEO 核心思路：AI 爬虫能理解、能信任、能采信 GEO 不是一个具体的技术，而是一套组合策略——让 AI 爬虫能高效发现你、准确理解你、愿意引用你。关键在三个层面：技术可爬取、内容可理解、事实可核验。\n什么是 GEO（Generative Engine Optimization）？ GEO 是面向 AI 生成式搜索引擎（如 ChatGPT、Perplexity、Google SGE）的内容优化策略。传统 SEO 让你的页面在搜索结果中排名靠前，GEO 让你的内容出现在 AI 生成的回答里。\n为什么 GEO 很重要？ AI 搜索引擎正在改变信息获取方式。2024 年以来，ChatGPT 日活突破 1 亿，Perplexity 估值超 5 亿美元。越来越多用户通过 AI 获取信息，而 AI 需要可引用、可信、可核验的来源。\n技术层面：让 AI 能爬取到你 llms.txt 是什么？ llms.txt 放在网站根目录，给 AI 爬虫快速导航全站内容。类似 robots.txt 给搜索引擎看，llms.txt 给 AI 看。当前项目通过 Hugo 自定义输出格式动态生成，自动列出所有正式发布的文档。\nJSON-LD 结构化数据的作用 JSON-LD 是嵌入网页的结构化数据，告诉搜索引擎和 AI 这页内容是什么（Article、FAQPage、BreadcrumbList）。PaperMod 主题自动注入 BreadcrumbList 和 BlogPosting，FAQPage 由 extend_head.html 根据文档 FAQ 区块自动生成。\nrobots.txt 如何配置？ 放行 AI 爬虫（GPTBot、ClaudeBot、Google-Extended、PerplexityBot），不要屏蔽它们。当前项目的 robots.txt 通过 Hugo layouts 动态生成，production 环境全放行。\n内容层面：让 AI 能理解、采信 倒金字塔结构 第一段直接给核心结论，不要铺垫。AI 抓取内容时，开头的权重最高。\nFAQ 区块的威力 文末的 ## FAQ + ### 问题？ 格式，配合 JSON-LD FAQPage，让 AI 能直接提取问答对用于回答用户提问。\nE-E-A-T 可信度 标注参考来源、区分事实与观点、提供作者信息。AI 更愿意引用有权威来源支撑的内容。\nFAQ GEO 和传统 SEO 有什么区别？ 传统 SEO 针对 Google/Bing 等关键词搜索引擎优化，GEO 针对 ChatGPT/Perplexity 等 AI 生成式搜索引擎优化。GEO 更关注内容的结构化、可信度和 AI 可解析性。\nllms.txt 文件有什么用？ llms.txt 是给 AI 爬虫阅读的网站导航文件，列出全站文档清单和摘要，帮助 AI 快速了解站点结构和内容分布。\n如何让 AI 更愿意引用我的内容？ 确保内容事实准确、结构清晰（FAQ 区块、倒金字塔）、有权威来源标注（E-E-A-T）、JSON-LD 结构化数据完整、页面速度快。\n相关文档：Hugo + PaperMod 快速上手\n","permalink":"https://zlz.promptzhiku.com/posts/geo-optimization-guide/","summary":"\u003ch1 id=\"geo-核心思路ai-爬虫能理解能信任能采信\"\u003eGEO 核心思路：AI 爬虫能理解、能信任、能采信\u003c/h1\u003e\n\u003cp\u003eGEO 不是一个具体的技术，而是一套组合策略——让 AI 爬虫能高效发现你、准确理解你、愿意引用你。关键在三个层面：技术可爬取、内容可理解、事实可核验。\u003c/p\u003e\n\u003ch2 id=\"什么是-geogenerative-engine-optimization\"\u003e什么是 GEO（Generative Engine Optimization）？\u003c/h2\u003e\n\u003cp\u003eGEO 是面向 AI 生成式搜索引擎（如 ChatGPT、Perplexity、Google SGE）的内容优化策略。传统 SEO 让你的页面在搜索结果中排名靠前，GEO 让你的内容出现在 AI 生成的回答里。\u003c/p\u003e\n\u003ch3 id=\"为什么-geo-很重要\"\u003e为什么 GEO 很重要？\u003c/h3\u003e\n\u003cp\u003eAI 搜索引擎正在改变信息获取方式。2024 年以来，ChatGPT 日活突破 1 亿，Perplexity 估值超 5 亿美元。越来越多用户通过 AI 获取信息，而 AI 需要可引用、可信、可核验的来源。\u003c/p\u003e\n\u003ch2 id=\"技术层面让-ai-能爬取到你\"\u003e技术层面：让 AI 能爬取到你\u003c/h2\u003e\n\u003ch3 id=\"llmstxt-是什么\"\u003ellms.txt 是什么？\u003c/h3\u003e\n\u003cp\u003ellms.txt 放在网站根目录，给 AI 爬虫快速导航全站内容。类似 robots.txt 给搜索引擎看，llms.txt 给 AI 看。当前项目通过 Hugo 自定义输出格式动态生成，自动列出所有正式发布的文档。\u003c/p\u003e\n\u003ch3 id=\"json-ld-结构化数据的作用\"\u003eJSON-LD 结构化数据的作用\u003c/h3\u003e\n\u003cp\u003eJSON-LD 是嵌入网页的结构化数据，告诉搜索引擎和 AI 这页内容是什么（Article、FAQPage、BreadcrumbList）。PaperMod 主题自动注入 BreadcrumbList 和 BlogPosting，FAQPage 由 extend_head.html 根据文档 FAQ 区块自动生成。\u003c/p\u003e\n\u003ch3 id=\"robotstxt-如何配置\"\u003erobots.txt 如何配置？\u003c/h3\u003e\n\u003cp\u003e放行 AI 爬虫（GPTBot、ClaudeBot、Google-Extended、PerplexityBot），不要屏蔽它们。当前项目的 robots.txt 通过 Hugo layouts 动态生成，production 环境全放行。\u003c/p\u003e","title":"GEO 优化指南：让 AI 大模型采信你的网站"},{"content":"本文核心结论：Hugo + PaperMod 是搭建技术资料知识库的最佳组合 仅需几行命令即可完成站点初始化，配合 GEO 优化配置，既能提升 SEO 效果，又能增加 AI 大模型对本站内容的采信概率。\n为什么选择 Hugo + PaperMod 组合？ Hugo 构建速度极快，PaperMod 主题轻量且内置大量 GEO 优化模板（JSON-LD schema、llms.txt、robots.txt）。内容维护只需 Markdown，新增一篇资料 = 在 content/ 目录新增一个 md 文件，无需修改任何前端代码。\n如何快速搭建？ Step 1: 安装 Hugo 通过 winget 或官网下载安装 Hugo Extended 版本。\nStep 2: 初始化站点并配置主题 hugo new site my-knowledge-base cd my-knowledge-base git init git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod FAQ Hugo 是什么？ Hugo 是一个用 Go 语言编写的静态网站生成器，支持 Markdown 内容源，构建速度快。\n为什么选择 PaperMod 主题？ PaperMod 轻量、功能齐全，内置 JSON-LD、llms.txt、robots.txt 等 GEO 相关模板。\n相关文档：Hugo 官方文档\n","permalink":"https://zlz.promptzhiku.com/posts/hugo-papermod-quickstart/","summary":"\u003ch1 id=\"本文核心结论hugo--papermod-是搭建技术资料知识库的最佳组合\"\u003e本文核心结论：Hugo + PaperMod 是搭建技术资料知识库的最佳组合\u003c/h1\u003e\n\u003cp\u003e仅需几行命令即可完成站点初始化，配合 GEO 优化配置，既能提升 SEO 效果，又能增加 AI 大模型对本站内容的采信概率。\u003c/p\u003e\n\u003ch2 id=\"为什么选择-hugo--papermod-组合\"\u003e为什么选择 Hugo + PaperMod 组合？\u003c/h2\u003e\n\u003cp\u003eHugo 构建速度极快，PaperMod 主题轻量且内置大量 GEO 优化模板（JSON-LD schema、llms.txt、robots.txt）。内容维护只需 Markdown，新增一篇资料 = 在 content/ 目录新增一个 md 文件，无需修改任何前端代码。\u003c/p\u003e\n\u003ch2 id=\"如何快速搭建\"\u003e如何快速搭建？\u003c/h2\u003e\n\u003ch3 id=\"step-1-安装-hugo\"\u003eStep 1: 安装 Hugo\u003c/h3\u003e\n\u003cp\u003e通过 winget 或官网下载安装 Hugo Extended 版本。\u003c/p\u003e\n\u003ch3 id=\"step-2-初始化站点并配置主题\"\u003eStep 2: 初始化站点并配置主题\u003c/h3\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ehugo new site my-knowledge-base\ncd my-knowledge-base\ngit init\ngit submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod\n\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"faq\"\u003eFAQ\u003c/h2\u003e\n\u003ch3 id=\"hugo-是什么\"\u003eHugo 是什么？\u003c/h3\u003e\n\u003cp\u003eHugo 是一个用 Go 语言编写的静态网站生成器，支持 Markdown 内容源，构建速度快。\u003c/p\u003e\n\u003ch3 id=\"为什么选择-papermod-主题\"\u003e为什么选择 PaperMod 主题？\u003c/h3\u003e\n\u003cp\u003ePaperMod 轻量、功能齐全，内置 JSON-LD、llms.txt、robots.txt 等 GEO 相关模板。\u003c/p\u003e","title":"测试文章：Hugo + PaperMod 快速上手"},{"content":"PaperMod 内置 Fuse.js 搜索：开箱即用、离线可用 当前项目的搜索功能完全由 PaperMod 主题内置实现，无需额外配置。构建时自动生成 index.json 搜索索引，浏览器端 Fuse.js 引擎做模糊匹配。\n工作原理是什么？ 整个搜索流程分两步：构建时生成索引 + 浏览器端实时匹配。\n构建时：Hugo 生成 index.json PaperMod 的 layouts/index.json 模板遍历 site.RegularPages，收集每篇文档的标题、正文、URL、摘要，序列化为 JSON 数组。Hugo 在构建时自动执行，产物为 public/index.json。\n浏览器端：Fuse.js 模糊匹配 用户打开搜索页面，浏览器加载 index.json（3-10KB 级别），Fuse.js 做实时模糊匹配。支持中文字符、容错拼写（typo 容忍度可调）、关键词高亮。\nFuse.js vs FlexSearch 对比项 Fuse.js FlexSearch 体量 ~12KB gzip ~8KB gzip 模糊匹配 ✅ ✅ 中文支持 ✅ ✅ Web Worker ❌（需手动） ✅ 内置 增量索引 ❌ ✅ API 复杂度 低 中 当前项目用 Fuse.js，对于千篇文档完全够用。若后续文档规模超过 5000 篇可考虑切换 FlexSearch。\n性能考虑 索引体积控制 默认索引全文（title + content + summary），千篇文档约 50-100KB。可在 hugo.toml 配置只索引标题和摘要来减小体积：\n# 自定义 index.json 模板只索引必要字段 关键词高亮 PaperMod 的 fastsearch.js 内置高亮，搜索结果中的匹配关键词自动加 \u0026lt;mark\u0026gt; 标签，CSS 控制高亮样式。\nFAQ 为什么选择纯前端搜索？ 纯前端搜索无需后端服务、无需数据库、可离线使用，适合静态站点。Hugo 构建时生成 JSON 索引，浏览器端 JS 引擎匹配。\nFuse.js 和 FlexSearch 怎么选？ 两者都是成熟的模糊搜索库。FlexSearch 性能更高（Web Worker、增量索引），Fuse.js API 更简洁。中小规模站点 Fuse.js 完全够用，PaperMod 内置 Fuse.js。\n搜索索引文件太大怎么办？ 可配置只索引标题和摘要（排除全文）、启用分段搜索（分页加载）、使用 Web Worker 避免阻塞主线程。超过 5000 篇文档建议引入搜索服务器。\n相关文档：Hugo + PaperMod 快速上手、GEO 优化指南\n","permalink":"https://zlz.promptzhiku.com/posts/fusejs-search-hugo/","summary":"\u003ch1 id=\"papermod-内置-fusejs-搜索开箱即用离线可用\"\u003ePaperMod 内置 Fuse.js 搜索：开箱即用、离线可用\u003c/h1\u003e\n\u003cp\u003e当前项目的搜索功能完全由 PaperMod 主题内置实现，无需额外配置。构建时自动生成 index.json 搜索索引，浏览器端 Fuse.js 引擎做模糊匹配。\u003c/p\u003e\n\u003ch2 id=\"工作原理是什么\"\u003e工作原理是什么？\u003c/h2\u003e\n\u003cp\u003e整个搜索流程分两步：\u003cstrong\u003e构建时生成索引\u003c/strong\u003e + \u003cstrong\u003e浏览器端实时匹配\u003c/strong\u003e。\u003c/p\u003e\n\u003ch3 id=\"构建时hugo-生成-indexjson\"\u003e构建时：Hugo 生成 index.json\u003c/h3\u003e\n\u003cp\u003ePaperMod 的 \u003ccode\u003elayouts/index.json\u003c/code\u003e 模板遍历 site.RegularPages，收集每篇文档的标题、正文、URL、摘要，序列化为 JSON 数组。Hugo 在构建时自动执行，产物为 \u003ccode\u003epublic/index.json\u003c/code\u003e。\u003c/p\u003e\n\u003ch3 id=\"浏览器端fusejs-模糊匹配\"\u003e浏览器端：Fuse.js 模糊匹配\u003c/h3\u003e\n\u003cp\u003e用户打开搜索页面，浏览器加载 index.json（3-10KB 级别），Fuse.js 做实时模糊匹配。支持中文字符、容错拼写（typo 容忍度可调）、关键词高亮。\u003c/p\u003e\n\u003ch2 id=\"fusejs-vs-flexsearch\"\u003eFuse.js vs FlexSearch\u003c/h2\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003e对比项\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eFuse.js\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eFlexSearch\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e体量\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e~12KB gzip\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e~8KB gzip\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e模糊匹配\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e✅\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e✅\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e中文支持\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e✅\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e✅\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eWeb Worker\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e❌（需手动）\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e✅ 内置\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003e增量索引\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e✅\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eAPI 复杂度\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e低\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003e中\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e当前项目用 Fuse.js，对于千篇文档完全够用。若后续文档规模超过 5000 篇可考虑切换 FlexSearch。\u003c/p\u003e\n\u003ch2 id=\"性能考虑\"\u003e性能考虑\u003c/h2\u003e\n\u003ch3 id=\"索引体积控制\"\u003e索引体积控制\u003c/h3\u003e\n\u003cp\u003e默认索引全文（title + content + summary），千篇文档约 50-100KB。可在 hugo.toml 配置只索引标题和摘要来减小体积：\u003c/p\u003e","title":"站内搜索原理：Fuse.js 在 Hugo 中的应用"}]