核心判断:对于 GEO 内容产品来说,“内容下发 + 用户网站安装 Agent 接收端”是可行的发布模式,而且在 WordPress 等 CMS 场景下,比反向代理更适合 MVP。它的本质不是托管页面,而是把你生成的内容同步到客户自己的站点里,让页面真实存在于客户域名和 CMS 体系中。
一、为什么 GEO 产品必须先想清楚发布架构
GEO 产品不是只生成一篇文章就结束。真正影响 SEO 和 AI 搜索可见性的,是内容最终发布在哪里、以什么 URL 存在、能否被搜索引擎和 AI crawler 抓取、是否能继承客户网站的主题、内链、sitemap、canonical、结构化数据和转化组件。
所以页面发布架构会直接影响三个结果。
第一,SEO/GEO 效果。页面如果只是 iframe 或第三方托管,很难完整继承客户主站权重,也不利于抓取完整 HTML。页面如果真实存在于 customer.com/guides/xxx,对搜索引擎和 AI 抓取更友好。
第二,客户接入门槛。反向代理需要客户理解 DNS、CDN、rewrite、headers、HTTPS 和缓存。CMS 插件则更接近中小企业熟悉的接入方式:安装插件、填写 API Key、选择发布目录。
第三,产品控制力。你托管页面时,更新和缓存更好控制;内容同步到客户站时,页面更像客户网站的一部分,但你需要处理同步失败、权限失效、slug 冲突和客户手动修改。
因此,GEO 页面发布不是一个单点技术选择,而是产品形态、客户能力、SEO 目标和支持成本之间的取舍。
二、几种常见发布模式对比
GEO 页面可以用多种方式发布。每种模式都能成立,但适合的客户和阶段不同。
| 模式 | 页面归属 | SEO/GEO 效果 | 接入难度 | 你方控制力 | MVP 适配度 |
|---|---|---|---|---|---|
| 反向代理子目录 | 客户主站 URL | 最好 | 中高 | 高 | 中等 |
| CMS 插件 / Agent 接收端 | 客户 CMS / 客户站内 | 很好 | 中 | 中 | 很适合 |
| API 拉取内容 | 客户自己开发接入 | 很好 | 高 | 低 | 不适合早期大多数客户 |
| 静态导出 / Git PR | 客户代码仓库 | 很好 | 高 | 低 | 适合技术客户 |
| 子域名托管 | 客户子域名 | 中等 | 低 | 高 | 适合快速验证 |
| iframe / JS embed | 嵌入组件 | 较弱 | 低 | 高 | 不适合整页 GEO |
可以用两句话快速区分:
反向代理 = 你托管页面,客户把路径代理给你
Agent = 你生成内容,客户网站自己发布页面
反向代理更像“托管发布系统”。Agent 更像“内容同步到客户 CMS”。
如果目标是尽快验证 GEO 内容产品,而且客户群体里有大量 WordPress 或常见 CMS 站点,Agent / Plugin 往往是更现实的 MVP 路线。
三、Agent 模式到底是什么
Agent 模式的典型流程是:
你的平台生成 GEO 页面
↓
客户网站安装 Agent / Plugin
↓
Agent 定时拉取或接收 Webhook
↓
在客户网站创建或更新页面
↓
页面真实存在于 customer.com/guides/xxx
以 WordPress 为例,你的平台负责生成页面内容,WordPress 插件负责接收内容并创建 Post、Page 或 Custom Post Type。插件可以写入标题、slug、meta title、meta description、正文 HTML、FAQ、JSON-LD、canonical 和发布状态。
最终页面不是你平台上的预览页,而是客户网站中的真实页面:
https://customer.com/guides/best-crm-for-startups
这对 GEO 很关键。搜索引擎和 AI crawler 抓到的是客户网站上的完整 HTML:
<title>...</title>
<meta name="description" content="...">
<h1>...</h1>
<article>...</article>
<script type="application/ld+json">...</script>
从抓取视角看,它不是嵌入内容,也不是第三方平台页面,而是客户站点的一部分。
四、Agent 模式的主要优点
Agent 模式最大的优点,是内容最终沉淀在客户自己的网站里。
这会带来四个实际收益。
第一,SEO/GEO 友好。页面在客户主域名或主站目录下,能被搜索引擎和 AI crawler 作为客户网站内容抓取。相比 iframe 或第三方托管,这种方式更容易继承站点主题、内链、sitemap 和 SEO 插件能力。
第二,客户心理接受度更高。很多客户不愿意改 Nginx、Cloudflare、Vercel rewrite 或复杂 CDN 规则,但可以接受安装一个 WordPress 插件、填写 API Key、选择发布目录。这对中小企业尤其重要。
第三,不依赖客户运维能力。反向代理需要客户理解 DNS、path rewrite、headers、cache、canonical 和 HTTPS。Agent 可以把这些复杂度包装在插件设置里,让非技术客户也能接入。
第四,页面更像客户网站的一部分。CMS 插件可以复用客户站点的 header、footer、theme、sidebar、blog layout、sitemap、SEO 插件、Analytics 和内链结构。页面不是一个外来模板,而是自然融入原站。
如果你的目标客户大量使用 WordPress,Agent / Plugin 是很强的产品化切入点。
五、Agent 模式的主要缺点
Agent 模式不是免费午餐。它把代理配置问题,换成了插件环境和同步一致性问题。
第一个成本,是你需要维护接收端。SaaS 后端之外,还要维护 WordPress plugin、Shopify app、Webflow API connector、Next.js SDK 或 generic webhook receiver。MVP 不可能一次覆盖所有生态,只能先选一个。
第二个成本,是环境碎片化。客户网站可能有不同 PHP 版本、WordPress 版本、SEO 插件、缓存插件、权限设置、安全插件和 permalink 配置。这些都会变成支持问题。
第三个成本,是内容更新不可完全受你控制。反向代理模式下,页面在你这里,更新可以立即生效。Agent 模式下,生成成功不等于客户站发布成功。中间可能出现同步失败、权限失效、页面冲突、slug 已存在、客户手动修改、插件离线和回滚失败。
第四个成本,是安全与信任门槛。客户安装 agent,意味着它可能有权限创建页面、修改内容、写 schema。客户自然会问:你能不能改我网站任意页面?API Key 泄露怎么办?插件有没有安全漏洞?是否影响网站性能?如何撤销权限?
第五个成本,是跨平台扩展慢。WordPress 插件做完,不代表 Shopify、Webflow、Framer、Next.js 都能用。反向代理虽然接入复杂,但理论上更通用。
所以 Agent 适合 MVP,不代表它适合一开始做成全平台方案。正确做法是先围绕一个生态把发布闭环跑通。
六、和反向代理怎么选
反向代理和 Agent 都可以让页面出现在 customer.com/guides/xxx 这种 URL 下,但它们的控制边界不同。
| 维度 | 反向代理子目录 | Agent / Plugin |
|---|---|---|
| 最终 URL | customer.com/guides/xxx |
customer.com/guides/xxx |
| SEO/GEO | 最好 | 很好 |
| 客户接入 | 偏技术 | 偏产品化 |
| 你方更新控制 | 高 | 中 |
| 客户主题一致性 | 中,需要你适配 | 高,天然使用客户站样式 |
| 多平台适配 | 较通用 | 每个平台都要做 |
| 故障排查 | 代理配置问题多 | 插件环境问题多 |
| MVP 开发量 | 中 | 只做 WordPress 时中低,多平台时高 |
| 客户信任门槛 | 要改代理或 CDN | 要安装插件并授权 |
| 内容所有权感 | 中高 | 最高 |
| 缓存控制 | 你方更好控 | 受客户站缓存影响 |
如果你的客户有技术团队、愿意改边缘代理、希望你方完全托管页面,反向代理更强。
如果你的客户以中小企业、WordPress 站点、营销团队为主,Agent 更容易卖出去,也更容易让内容看起来属于客户网站。
对 MVP 来说,建议不要把两种模式都做深。可以先选 WordPress Agent 作为默认发布通道,同时保留 hosted/subdomain 作为快速试用通道,等客户规模和技术诉求明确后再补反向代理。
七、和现有 GEO 内容系统如何结合
如果一个项目已经具备页面生成、页面编辑、发布状态、公开页、sitemap、llms.txt、robots、lead capture、事件追踪、页面质量检查和 markdown/html 导出,那么做 Agent 模式并不是重做产品,而是新增一层发布通道。
第一,需要引入发布模式概念。每个 project 可以有一个或多个 publishing mode:
hosted
reverse_proxy
wordpress_agent
api_export
第二,需要提供内容下发 API。Agent 不应该直接读取后台数据库,而是通过稳定 API 获取需要同步的页面。
示例接口可以是:
GET /api/projects/:id/pages/changes
GET /api/projects/:id/pages/:pageId/payload
POST /api/projects/:id/publish-targets/:targetId/sync-result
页面 payload 可以包含:
{
"id": "page_123",
"action": "upsert",
"title": "Best CRM for Startups",
"slug": "best-crm",
"metaTitle": "Best CRM for Startups",
"metaDescription": "A practical guide to choosing startup CRM software.",
"contentHtml": "<article>...</article>",
"contentMarkdown": "...",
"faqJson": [],
"jsonLd": {},
"canonicalUrl": "https://customer.com/guides/best-crm",
"status": "published",
"updatedAt": "2026-05-27T10:00:00Z"
}
第三,需要同步状态表。平台必须知道每篇页面是否成功发到客户站,而不是只知道“我已经生成了内容”。
建议至少有这些对象或字段:
| 对象 / 字段 | 作用 |
|---|---|
publish_targets |
保存客户站点、目标类型、发布目录和鉴权配置 |
page_sync_jobs |
记录待同步任务、重试次数和调度状态 |
page_sync_results |
记录同步结果、外部页面 ID、外部 URL 和错误信息 |
target_type |
标记 WordPress、Shopify、Webflow、API 等目标 |
target_url |
客户站点地址 |
last_sync_at |
最近一次尝试同步时间 |
last_success_at |
最近一次成功同步时间 |
last_error |
最近错误摘要 |
external_page_id |
客户 CMS 中的页面 ID |
external_url |
客户站真实 URL |
sync_status |
pending、success、failed、skipped 等状态 |
第四,需要项目级 API Key 和 Webhook Secret。Agent 不能使用用户登录态,应该使用 project publish token,并支持吊销、重置、权限范围和审计日志。
八、WordPress Agent MVP 应该怎么做
最现实的 MVP 是先做 WordPress 插件。
插件的第一版不需要覆盖所有高级功能,但必须跑通从平台生成到客户站发布的闭环:
- 在 WordPress 后台填写 API Key。
- 设置发布目录,例如
/guides。 - 定时拉取平台上的已发布页面。
- 创建或更新 WP Page 或 Custom Post Type。
- 写入 title、slug、正文 HTML 和 excerpt。
- 写入 meta title、meta description 和 canonical。
- 插入 JSON-LD。
- 支持 FAQ block 或 FAQ schema。
- 回传 external URL、external page ID 和同步状态。
- 提供手动立即同步按钮。
这里最重要的是边界控制。插件应该只管理自己创建的页面,最好使用独立 Custom Post Type 或明确的 meta marker,例如 _geo_agent_page_id。这样可以避免误改客户已有页面。
权限也要收敛。API token 只允许读取该项目的发布 payload,不能调用用户管理、账单、团队设置等后台接口。WordPress 端也应该让管理员能随时停用插件、清除 token、暂停同步。
MVP 阶段不要追求复杂模板系统。优先复用客户主题,让内容以原站样式呈现。你真正要验证的是:客户愿不愿意安装,内容能否稳定发布,页面能否被抓取,AI/搜索是否开始识别这些页面。
九、同步方式:主动拉取优先
Agent 有两种同步方式。
方式 A 是 Agent 主动拉取。WordPress 插件每隔一段时间请求你的平台:
GET /api/sync/pages?since=xxx
它的优点是实现简单,不需要客户网站开放公网 webhook,更容易穿过防火墙,也更符合 WordPress 插件的运行方式。缺点是同步不是实时,而且依赖 WP Cron,低流量站点可能触发不稳定。
方式 B 是平台主动推送。你的平台在页面发布后调用:
POST https://customer.com/wp-json/geo-agent/v1/pages
它的优点是实时,平台能控制同步节奏。缺点是客户站接口可能被防火墙、安全插件或 WAF 拦截,鉴权、重试、签名和错误排查也更复杂。
MVP 建议采用:
主动拉取为主 + 手动立即同步按钮
后续再增加 webhook 推送。这样第一版的失败面更小,也更适合非技术客户。
十、必须提前设计的失败处理
Agent 模式的真实难点,不是“创建一篇页面”,而是持续同步后的异常处理。
至少要提前处理这些情况:
- 同步失败后如何重试,重试几次,是否指数退避。
- API Key 失效后,WordPress 后台如何提示客户重新授权。
- slug 已存在时,是覆盖、跳过、追加后缀,还是提示人工处理。
- 客户手动编辑页面后,下次同步是否覆盖。
- 页面从平台取消发布后,客户站页面是下线、转草稿,还是保留。
- JSON-LD 写入失败时,是否仍发布正文。
- SEO 插件存在时,meta 字段写入 Yoast、Rank Math 还是 WordPress 原生字段。
- 缓存插件导致页面不更新时,是否提供清缓存 hook。
- 多语言站点和 permalink 结构变化时,如何构造 URL。
- 插件卸载时,是否删除已创建页面。
这些问题不一定都要在第一版做完整,但数据模型和状态机要留出位置。否则后面会出现“平台显示已发布,客户站其实失败”的信任问题。
十一、安全边界和客户信任
客户安装 Agent,本质上是在给外部系统一部分内容发布权限。这里必须把安全边界讲清楚,也要在产品里做出来。
建议至少做到五点。
第一,项目级 token。一个 token 只绑定一个 project 和一个 publish target,泄露后影响范围可控。
第二,最小权限。Agent 只读取可发布页面 payload,只回传同步状态,不获得后台其他能力。
第三,可撤销。客户和平台管理员都能重置 token、暂停 target、禁用同步。
第四,可审计。每次同步要记录页面 ID、目标站、动作、状态、错误、发起方和时间。
第五,只管理自己创建的内容。WordPress 端通过 external page ID 和 meta marker 识别归属,避免误改客户原有页面。
对客户来说,信任不是来自“我们不会乱改”的口头承诺,而是来自清晰的权限边界、可见日志和可撤销机制。
十二、推荐的 MVP 路线
如果要把这套能力放进 GEO 内容产品,推荐按四步走。
第一步,保留 hosted/subdomain 作为试用发布方式。客户可以最快看到页面效果,产品团队也能验证内容生成、页面质量、lead capture、事件追踪和 sitemap。
第二步,做 WordPress Agent。目标不是覆盖所有 CMS,而是先吃透一个最常见生态,把安装、授权、拉取、创建页面、回传状态跑稳。
第三步,抽象 publish target 和 sync job。不要把 WordPress 逻辑硬编码进页面发布状态。平台侧要把“生成成功”和“同步成功”拆开。
第四步,再根据客户结构扩展 Shopify、Webflow、Next.js SDK、API export 或 reverse proxy。扩展顺序应由客户需求决定,而不是由技术想象决定。
最终的架构可以理解为:
内容生成层
→ 发布通道层
→ Hosted / Reverse Proxy / WordPress Agent / API Export
→ 同步状态与审计层
→ 客户站真实页面
Agent 模式的价值不在于技术新,而在于它让 GEO 内容产品更容易被中小企业采用:客户不需要重建网站,也不需要理解复杂代理,只要安装接收端,就能把 AI 生成的页面变成自己站点里的真实内容资产。
核心收获
- Agent 模式适合把 GEO 内容同步到客户 CMS,让页面真实存在于客户网站。
- 对 WordPress 客户来说,插件接入通常比反向代理更容易理解,也更适合 MVP。
- Agent 的代价是同步状态、插件环境、安全授权和异常处理复杂度。
- 平台侧必须区分“内容生成成功”和“客户站发布成功”。
- 第一版建议使用主动拉取为主、手动立即同步为辅,后续再补 webhook 推送。
立刻行动
- 给项目增加
publishing_mode和publish_targets概念,不要把发布状态只绑定到 hosted 页面。 - 设计页面 payload API,明确 title、slug、meta、contentHtml、jsonLd、canonical 和 updatedAt。
- 为 WordPress Agent 设计最小闭环:API Key、发布目录、定时拉取、创建页面、回传状态。
- 在同步状态中记录 external page ID、external URL、last error 和 last success time。
- 明确安全边界:项目级 token、可撤销、可审计、只管理插件创建的页面。
来源:用户提供资料整理 | 本文为 GEO 产品架构讨论的教程化整理
RELATED / 相关推荐
接着读这些
按同一分类、系列与标签为你挑选。
附录:SEO-GEO 注册表的完整字段与落地取舍
本系列前七篇讲原理,这一篇是可以直接抄的附录:两张表的完整字段清单、按阶段引入的顺序、Markdown 与结构化格式的取舍,以及三条约束怎么检查。字段是原理的记录方式,不是起点。
先有注册表,再有网站:为什么 AI 建站让它从可选变成必需
结构应该是推导出来的,不是装饰上去的。本文讲清注册表当真相源反向驱动网站的思路,以及一个新出现的理由:人靠互相问话维持隐性约定,模型不会问——你不写下来的约定,对模型等于不存在。
一个 URL 的双重身份:SEO 与 GEO 注册表如何关联
同一个 URL 同时活在两个检索系统里,为其中一个做的优化会悄悄损害另一个。本文讲清双重身份带来的真实冲突、消解顺序,以及两张表为什么必须靠主题而不是 URL 关联,才能形成一副能扩展的全站骨架。