「工程方案」AIWinHub 官网 GEO 优化实录:用 llms.txt + Schema 让 AI 稳定引用你的网站

如果一个网站内容充足,却在 ChatGPT、Perplexity、Claude 等 AI 引擎的回答里长期缺席,问题未必在内容质量,而可能在“AI 是否能稳定读懂你的网站”。本文以 AIWinHub 官网为例,拆解一套 GEO 施工方案:从 llms.txt、sitemap.xml、Schema,到 baseline 测试、监测指标和任务反推,把 AI 引用从玄学变成可迭代的工程流程。

关键词:GEO、生成式引擎优化、llms.txt、Schema、sitemap.xml、AI 搜索、官网可读性、Baseline 监测

一、项目背景:不是内容不够,而是 AI 读不稳

AIWinHub 官网的内容定位并不复杂:它希望表达“企业增长系统化升级平台”,并围绕 AI 内容生产、增长流程、HR 职业升级等场景提供解决方案。

但在实际测试中,我们遇到过三个典型问题:

  • 品牌词偶尔能被识别,但行业词、场景词、问题词很难稳定带出官网;
  • AI 回答里会出现“看起来相关”的第三方内容,但没有引用官网页面;
  • 官网有内容,但页面之间缺少统一的结构化描述,AI 很难判断“哪个页面对应哪个问题”。

这类问题不能只靠多发文章解决。GEO 的第一步,是让 AI 爬虫、检索系统和摘要系统能够低成本理解你的网站:你是谁、做什么、有哪些核心页面、每个页面解决什么问题,以及哪些域名属于你。

二、为什么 llms.txt 比 SEO meta 更适合做 AI 入口说明

传统 SEO 里的 title、description、keywords 主要服务于单页面摘要和搜索结果展示。它们仍然有价值,但对于 AI 引擎来说还不够。

AI 更关心的是跨页面上下文:品牌是什么、产品体系是什么、内容之间如何关联、哪些页面是官方来源、哪些问题应该命中哪些页面。llms.txt 的价值就在这里:它像一份“给 AI 读的网站说明书”,把官网的主干信息用更直接的方式交给爬虫和检索系统。

可以把 llms.txt 理解为三个角色:

角色 作用 工程要点
网站说明书 用简洁语言描述品牌、产品、服务和核心页面 放在站点根目录,内容可直接访问,不依赖登录和脚本渲染
页面索引表 告诉 AI 哪些 URL 最重要,以及每个 URL 解决什么问题 与 sitemap.xml 保持一致,避免旧链接和死链
语义压缩层 把复杂页面压缩成 AI 容易读取的摘要 每个产品、方案、文章都保留 1-3 句稳定摘要

下面是 AIWinHub 的 llms.txt 结构示例。为了方便阅读,这里用 JSON 形式展示;正式发布时建议保持纯文本可读、结构清晰、无多余注释。

JSON

{
  "about": "AIWinHub - 企业增长系统化升级平台",
  "positioning": "帮助企业把内容生产、增长转化、人才升级等流程系统化、AI 化和可持续化。",
  "owned_sites": [
    "https://aiwinhub.cn",
    "https://hr.aiwinhub.cn"
  ],
  "products": [
    {
      "name": "AI 内容生产系统",
      "href": "https://aiwinhub.cn/products/ai-content-system",
      "summary": "把行业现状、用户痛点、主题规划、深度研究、脚本拆解、分发与转化串成连续流程。",
      "target_users": ["企业增长团队", "内容运营团队", "B2B 市场团队"]
    },
    {
      "name": "HR 职业升级系统",
      "href": "https://hr.aiwinhub.cn",
      "summary": "围绕岗位能力、学习路径、培训内容和职业发展,帮助企业建立人才成长闭环。",
      "target_users": ["HR 团队", "培训负责人", "组织发展团队"]
    }
  ],
  "geo_baseline": {
    "total_queries": 42,
    "brand_defense": 6,
    "solution_selection": 12,
    "growth_problem": 12,
    "career_upgrade": 12,
    "hit_rate": "14.3%"
  },
  "last_updated": "2026-04-21"
}

这段信息不追求复杂,而是追求稳定。AI 每次读取官网时,都能快速知道:AIWinHub 是谁,哪些站点属于官方,核心产品页面在哪里,当前 baseline 怎么记录。
 

三、sitemap.xml 和 Schema 的标准化模式

llms.txt 解决的是“AI 读什么”和“怎么理解主干信息”;sitemap.xml 解决的是“爬虫去哪里抓”;Schema 解决的是“页面内容是什么类型”。

这三个文件最好一起做,不要只补其中一个。

1. sitemap.xml:把核心页面显式交给爬虫

sitemap.xml 不只是把所有 URL 堆在一起。更好的做法是先梳理页面层级,再确保核心页面一定出现在 sitemap 中。

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://aiwinhub.cn/</loc>
    <lastmod>2026-04-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://aiwinhub.cn/products/ai-content-system</loc>
    <lastmod>2026-04-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://aiwinhub.cn/solutions/geo-optimization</loc>
    <lastmod>2026-04-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://hr.aiwinhub.cn/</loc>
    <lastmod>2026-04-21</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

注意:priority 和 changefreq 是提示,不是承诺。真正重要的是 URL 可访问、内容稳定、页面主题清晰,并且 sitemap 与 llms.txt、页面内链保持一致。

2. Schema:让页面类型更明确

推荐至少覆盖这些 Schema 类型:

页面类型 推荐 Schema 用途
首页 Organization、WebSite 明确品牌、官网、站点语言和关联域名
产品页 Product 或 Service 明确产品名称、服务对象、产品描述和入口 URL
方案页 Service、FAQPage 解释某个解决方案适合什么场景
文章页 Article、BreadcrumbList 帮助 AI 判断文章主题、作者、发布时间和层级关系
问答页 FAQPage 把高频问题显式结构化,适合补齐零命中 query

以 Organization + Service 为例:

HTML

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "AIWinHub",
  "url": "https://aiwinhub.cn",
  "description": "AIWinHub 是面向企业增长和组织升级的系统化平台,覆盖 AI 内容生产、增长转化和人才升级等场景。",
  "sameAs": [
    "https://aiwinhub.cn",
    "https://hr.aiwinhub.cn"
  ],
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "AIWinHub 产品与解决方案",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "AI 内容生产系统",
          "url": "https://aiwinhub.cn/products/ai-content-system",
          "description": "帮助企业把行业研究、选题规划、内容生产、分发和转化流程系统化。"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "HR 职业升级系统",
          "url": "https://hr.aiwinhub.cn",
          "description": "帮助企业围绕岗位能力、学习路径和培训内容建立人才成长闭环。"
        }
      }
    ]
  }
}
</script>

Schema 的关键不是堆字段,而是让字段和页面正文一致。如果 Schema 写的是“AI 内容生产系统”,页面正文却没有清晰解释产品能力、适用对象和流程,AI 仍然很难形成稳定引用。

四、用 baseline script 测试 AI 对网站的理解程度

GEO 不能只靠体感,需要建立 baseline。baseline 的目标不是证明“今天一定被引用”,而是记录同一批 query 在同一套测试条件下的命中趋势。

AIWinHub 的 baseline 设计为 42 条 query,分成四组:

分组 数量 目的
品牌防守 Brand Defense 6 检查 AI 是否能正确识别品牌、官网和产品
方案选择 Solution Selection 12 检查行业方案类问题是否能带出官网或产品页
增长问题 Growth Problem 12 检查用户痛点类问题是否能命中相关文章或方案页
职业升级 Career Upgrade 12 检查 HR、人才发展、职业升级场景是否能命中子站

1. queries.json 示例

下面这份 query 清单可以作为 baseline 起点。实际项目中建议固定 query,不要每次测试都临时改题,否则结果无法比较。

JSON

[
  { "group": "brand_defense", "query": "AIWinHub 是什么" },
  { "group": "brand_defense", "query": "AIWinHub 官网" },
  { "group": "brand_defense", "query": "AIWinHub 做哪些产品" },
  { "group": "brand_defense", "query": "AIWinHub 企业增长系统化升级" },
  { "group": "brand_defense", "query": "AIWinHub AI 内容生产系统" },
  { "group": "brand_defense", "query": "AIWinHub 人力资源数字化平台" },

  { "group": "solution_selection", "query": "企业 AI 内容生产系统怎么选" },
  { "group": "solution_selection", "query": "有没有适合中小企业的 AI 内容生产流程工具" },
  { "group": "solution_selection", "query": "B2B 企业如何搭建内容生产和转化系统" },
  { "group": "solution_selection", "query": "AI 工具如何支持行业研究和选题规划" },
  { "group": "solution_selection", "query": "企业增长系统化升级方案推荐" },
  { "group": "solution_selection", "query": "AI 内容生产系统和传统内容运营有什么区别" },
  { "group": "solution_selection", "query": "如何用 AI 搭建从研究到分发的内容工作流" },
  { "group": "solution_selection", "query": "哪些平台提供企业增长和 AI 内容生产一体化方案" },
  { "group": "solution_selection", "query": "企业官网 GEO 优化怎么做" },
  { "group": "solution_selection", "query": "生成式引擎优化服务如何选择" },
  { "group": "solution_selection", "query": "多站点品牌官网如何做 AI 可读性改造" },
  { "group": "solution_selection", "query": "企业知识库和内容分发如何串起来" },

  { "group": "growth_problem", "query": "网站内容很多但 AI 回答不引用怎么办" },
  { "group": "growth_problem", "query": "企业官网在 AI 搜索里没有曝光怎么办" },
  { "group": "growth_problem", "query": "如何提高 AI 对官网内容的识别" },
  { "group": "growth_problem", "query": "GEO 优化应该先做哪些基础设施" },
  { "group": "growth_problem", "query": "llms.txt 怎么写才能帮助 AI 理解网站" },
  { "group": "growth_problem", "query": "sitemap 和 Schema 对 AI 引用有什么影响" },
  { "group": "growth_problem", "query": "为什么 AI 搜索只引用第三方平台不引用官网" },
  { "group": "growth_problem", "query": "品牌词能搜到但行业词搜不到怎么办" },
  { "group": "growth_problem", "query": "如何把 AI 搜索零命中拆成内容任务" },
  { "group": "growth_problem", "query": "官网页面结构混乱会影响 AI 理解吗" },
  { "group": "growth_problem", "query": "企业内容运营如何建立 baseline 监测" },
  { "group": "growth_problem", "query": "AI 引用率如何做周期性复盘" },

  { "group": "career_upgrade", "query": "HR AI 系统如何帮助员工职业升级" },
  { "group": "career_upgrade", "query": "企业内部培训如何结合 AI 内容系统" },
  { "group": "career_upgrade", "query": "职业升级平台有哪些 AI 能力" },
  { "group": "career_upgrade", "query": "人才发展系统如何生成岗位学习路径" },
  { "group": "career_upgrade", "query": "HR 数字化和员工成长路径怎么结合" },
  { "group": "career_upgrade", "query": "AI 如何辅助岗位能力模型建设" },
  { "group": "career_upgrade", "query": "企业培训内容如何自动化生产" },
  { "group": "career_upgrade", "query": "员工职业发展平台怎么做内容推荐" },
  { "group": "career_upgrade", "query": "适合企业的人才发展 AI 方案" },
  { "group": "career_upgrade", "query": "从岗位画像到培训计划如何自动化" },
  { "group": "career_upgrade", "query": "HR 场景下的生成式 AI 应用有哪些" },
  { "group": "career_upgrade", "query": "AIWinHub HR 平台和增长系统有什么关系" }
]

2. baseline.js 示例

下面的 Node.js 脚本采用通用的 OpenAI-compatible 接口写法。它适合做趋势监测,不适合当成绝对排名工具。测试时应尽量固定模型、提示词、query 清单和测试时间窗口。

JS

import fs from "node:fs/promises";

const API_URL = process.env.LLM_API_URL;
const API_KEY = process.env.LLM_API_KEY;
const MODEL = process.env.LLM_MODEL || "your-search-enabled-model";

const OFFICIAL_DOMAINS = ["aiwinhub.cn", "hr.aiwinhub.cn"];

if (!API_URL || !API_KEY) {
  console.error("请先设置环境变量:LLM_API_URL 和 LLM_API_KEY");
  process.exit(1);
}

const queries = JSON.parse(await fs.readFile("./queries.json", "utf8"));

async function askLLM(query) {
  const response = await fetch(API_URL, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": `Bearer ${API_KEY}`
    },
    body: JSON.stringify({
      model: MODEL,
      temperature: 0.2,
      messages: [
        {
          role: "system",
          content: "你是企业方案研究助手。回答时请优先给出可验证来源,并在答案中保留参考到的核心网站域名。"
        },
        {
          role: "user",
          content: `请回答这个问题,并列出你参考到的核心网站域名:${query}`
        }
      ]
    })
  });

  if (!response.ok) {
    const text = await response.text();
    throw new Error(`API error ${response.status}: ${text}`);
  }

  const data = await response.json();
  return data.choices?.[0]?.message?.content || "";
}

function scoreAnswer(answer) {
  const lower = answer.toLowerCase();
  const domainHits = OFFICIAL_DOMAINS.filter(domain => lower.includes(domain.toLowerCase()));
  const brandHit = /aiwinhub/i.test(answer);

  return {
    brand_hit: brandHit,
    official_domain_hit: domainHits.length > 0,
    matched_domains: domainHits
  };
}

const results = [];

for (const item of queries) {
  console.log(`Running: [${item.group}] ${item.query}`);
  const answer = await askLLM(item.query);
  const score = scoreAnswer(answer);

  results.push({
    group: item.group,
    query: item.query,
    ...score,
    answer
  });
}

const total = results.length;
const officialHits = results.filter(item => item.official_domain_hit).length;
const brandHits = results.filter(item => item.brand_hit).length;
const hitRate = ((officialHits / total) * 100).toFixed(1) + "%";

const summary = {
  total_queries: total,
  official_domain_hits: officialHits,
  brand_hits: brandHits,
  hit_rate: hitRate,
  generated_at: new Date().toISOString()
};

await fs.writeFile("./baseline-results.json", JSON.stringify({ summary, results }, null, 2));

console.log("Baseline summary:");
console.table(summary);

运行方式:

BASH

export LLM_API_URL="https://your-llm-endpoint/v1/chat/completions"
export LLM_API_KEY="your_api_key"
export LLM_MODEL="your-search-enabled-model"
node baseline.js

如果使用的模型接口不具备联网检索能力,这个脚本只能测试“模型是否认识品牌或能否根据上下文生成答案”,不能代表真实的 AI 搜索引用表现。做 GEO baseline 时,最好选择具备联网、搜索或引用能力的测试入口,并长期保持测试条件一致。

五、流程图:GEO 施工闭环

MERMAID

flowchart TD
  A[诊断 llms.txt] --> B{爬虫可读性是否通过}
  B -- 通过 --> C[补齐 Schema]
  B -- 不通过 --> B1[补齐根目录文件:llms.txt / robots.txt / sitemap.xml]
  B1 --> C
  C --> D[运行 Baseline:42 条 query]
  D --> E{官网命中率是否达标}
  E -- 初期 0% 或低命中 --> F[反推页面补位]
  F --> G[分发任务队列:文章 + FAQ + 外链 + Schema]
  G --> H[3-7 天后 Re-baseline]
  H --> I[监测增长并回写任务池]
  E -- 达标 --> I

这张图的重点是闭环,而不是单点动作。很多团队做 GEO 只做了“补文件”,但没有做 baseline;或者做了 baseline,却没有把零命中问题转成页面、文章和结构化数据任务。这样很难持续提升。

六、从零命中 query 到工程任务的反推流程

baseline 跑完之后,最重要的不是看总体命中率,而是看哪些 query 完全没有命中官网。

以一轮测试为例:总 query 为 42 条,品牌防守命中 6 条,整体官网命中率为 14.3%。这个数字并不高,但它恰好能暴露问题:品牌词能被识别,不代表场景词、问题词、方案词也能被识别。

反推时可以按下面的表格拆解:

零命中类型 典型 query 可能原因 工程任务 验收方式
产品页缺失 企业 AI 内容生产系统怎么选 缺少清晰产品页或产品页没有解释适用场景 新增或重构产品页,补产品摘要、流程、适用对象、FAQ sitemap 收录该页,Schema 标注为 Service,baseline 复测
方案页缺失 企业官网 GEO 优化怎么做 官网没有承接“GEO 优化”这个场景 新建 solution 页面,解释诊断、施工、监测、复盘流程 query 能命中 solution 页或相关文章
问题页缺失 网站内容很多但 AI 不引用怎么办 只有产品介绍,没有问题解决型内容 写一篇问题导向文章,并在 llms.txt 中加入摘要 AI 回答中能识别官网对该问题的解释
子站关联弱 HR AI 系统如何帮助员工职业升级 主站和 HR 子站缺少互相解释 在 llms.txt、首页、Schema 中声明 owned_sites 和产品关系 品牌 + HR 场景 query 能带出 hr.aiwinhub.cn
语义不一致 AI 内容生产系统和传统内容运营有什么区别 页面标题、正文、Schema 用词不统一 统一页面标题、H1、Schema name、llms 摘要 页面主题被 AI 摘要正确复述

我的经验是:每一个零命中 query 都应该变成一张工程任务卡,而不是只记录在表格里。

一张合格的 GEO 任务卡至少包含:

  • query 原文;
  • 当前 AI 回答摘要;
  • 是否提到品牌;
  • 是否引用官网域名;
  • 应该承接该 query 的目标 URL;
  • 需要补齐的页面模块;
  • 需要补齐的 Schema 类型;
  • 预计复测时间;
  • 复测结果。

七、页面补位:文章、FAQ、外链和内链要一起做

当某类 query 零命中时,不要直接堆关键词。更有效的方式是补齐“可回答结构”。

例如 query 是“网站内容很多但 AI 回答不引用怎么办”,页面可以按下面结构写:

模块 内容目标
问题定义 解释为什么内容多不等于 AI 可读
原因拆解 llms.txt 缺失、sitemap 不完整、Schema 不清晰、页面语义分散
解决流程 诊断、补齐、baseline、任务反推、复测
工具示例 提供 llms.txt、Schema、baseline script 片段
FAQ 回答“多久生效”“是否等于 SEO”“是否需要外链”等问题
内链 链接到产品页、方案页、案例页和相关文章

页面补位完成后,要同步做三件事:

  1. 把新页面加入 sitemap.xml;
  2. 在 llms.txt 中加入该页面摘要;
  3. 在相关页面增加内链,形成主题簇。

这也是 GEO 和普通内容发布最大的区别:发布只是开始,结构化回写才是工程闭环。

八、监测体系:不要只看一次结果

GEO 的数据波动很正常。AI 引擎的检索入口、缓存、索引周期、回答策略都会变化,所以不要用单次结果判断成功或失败。

建议至少监测四类指标:

指标 说明 观察频率
官网命中率 42 条 query 中,有多少条出现 aiwinhub.cn 或 hr.aiwinhub.cn 每 3-7 天
品牌识别率 回答中是否正确出现 AIWinHub 每 3-7 天
页面覆盖率 命中的页面是否覆盖首页、产品页、方案页、文章页、子站 每周
错误摘要率 AI 是否错误描述品牌、产品或服务能力 每周
任务关闭率 零命中 query 是否已经转成页面和 Schema 任务 每周

baseline-results.json 可以保留每轮记录,例如:

JSON

{
  "round": "2026-04-21",
  "total_queries": 42,
  "official_domain_hits": 6,
  "hit_rate": "14.3%",
  "zero_hit_groups": {
    "solution_selection": 10,
    "growth_problem": 11,
    "career_upgrade": 10
  },
  "next_actions": [
    "新增 GEO 方案页",
    "补齐 AI 内容生产系统 FAQPage Schema",
    "在 llms.txt 中加入 HR 子站关系说明",
    "把 8 条零命中 query 转成文章任务"
  ]
}

这样做的好处是:团队不会陷入“AI 为什么还没引用我”的情绪判断,而是能看到每一轮到底补了什么、结果有没有变化、下一轮该补哪里。

九、落地清单:AIWinHub 官网 GEO 基础设施

最后把施工动作整理成一份可执行清单:

1. llms.txt

  • 根目录可访问:https://aiwinhub.cn/llms.txt
  • 明确品牌定位、产品列表、核心 URL、子站关系;
  • 每个产品和方案保留稳定摘要;
  • 避免过长、过营销化、过多内部术语;
  • 更新时间写清楚,便于复盘。

2. sitemap.xml

  • 首页、产品页、方案页、文章页、子站入口必须出现;
  • URL 与实际页面保持一致,避免 404、重定向链和旧链接;
  • 新增页面后同步更新 sitemap;
  • sitemap 与 robots.txt、站点导航、内链保持一致。

3. Schema

  • 首页:Organization + WebSite;
  • 产品页:Service 或 Product;
  • 方案页:Service + FAQPage;
  • 文章页:Article + BreadcrumbList;
  • FAQ 内容要和页面正文一致;
  • Schema 不要写页面正文没有承接的内容。

4. Baseline

  • 固定 42 条 query;
  • 固定测试入口、模型和提示词;
  • 记录品牌命中、官网域名命中、错误摘要和目标 URL;
  • 把零命中 query 转成页面、文章、FAQ、Schema 和内链任务;
  • 以 3-7 天为一个观察窗口复测趋势。

十、结论:GEO 的核心是监测、反馈和持续改进

这套方案的核心不是一次性“提交给 AI”,也不是依赖投机技巧,而是通过更清晰的网站信息架构,让 AI 更稳定地理解你的品牌、页面和解决方案。

可以把 GEO 当成一个工程系统:

TEXT

可读性基础设施 -> baseline 监测 -> 零命中反推 -> 页面补位 -> 结构化回写 -> Re-baseline

如果你想把这套方案应用到自己的网站,可以先做三件事:

  1. 用诊断脚本检查 llms.txt、sitemap.xml 和 Schema 覆盖度;
  2. 根据诊断结果补齐缺失页面、摘要、结构化数据和内链;
  3. 跑一遍 42 条 query 的 baseline,把零命中问题转成工程任务。

GEO 最怕的是只做发布,不做复盘。只要把监测、反馈和持续改进跑起来,AI 引用就不再是完全不可控的结果,而会逐步变成可以被优化、被解释、被迭代的工程过程。

有任何问题,评论区见。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐