Last updated: 2026-06-30
Last verified: 2026-06-30 for Cloudflare Pages, Pages Functions, and Workers official documentation. Cloudflare product limits, pricing, bindings, runtime behavior, and dashboard flows must be re-checked before publication updates or implementation.
OnlyPat 建站指南is an independent guide-site project. This draft is not Cloudflare official documentation and does not imply affiliation with Cloudflare.
先说结论
Cloudflare Pages 不需要一开始就配 Workers。页面能静态生成、交互能在浏览器本地完成、没有私密数据和服务端状态时,Pages 就够了。只有当你需要服务端逻辑、API、密钥保护、表单处理、账号权限、数据库或后台任务时,再考虑 Pages Functions 或 Workers。
适合 / 不适合
| 判断项 | 先用 Cloudflare Pages 就够 | 需要考虑 Functions / Workers |
|---|---|---|
| 页面内容 | 文章、指南、索引页、公开静态资源 | 按请求生成、个性化或依赖服务端数据 |
| 用户交互 | 搜索、转换、预览、计算都在浏览器完成 | 表单提交、登录、权限、私密数据处理 |
| API 和密钥 | 不需要隐藏服务端 API key | 需要代理 API、保护密钥或限制调用 |
| 数据状态 | 没有账号、订单、评论、收藏等持久状态 | 需要数据库、KV、队列、对象存储或会话 |
| OnlyPat 当前状态 | guide/tool/yimoo 第一版都静态优先 | 只有出现真实服务端需求时再扩展 |
30 分钟开工版
- 写下这个功能是不是必须由服务器处理。
- 判断页面能不能提前生成,还是每次请求都要动态计算。
- 检查是否有不能暴露到浏览器的 API key、token、账号或私密数据。
- 判断是否需要保存用户提交、订单、评论、偏好、文件或历史记录。
- 如果只是小工具,先尝试浏览器本地实现。
- 如果只需要某个 Pages 路由处理动态逻辑,优先研究 Pages Functions。
- 如果多个站点共享 API、需要独立服务、绑定存储或后台任务,再研究 Workers。
- 把暂不实现的后端能力写进路线图,不要为了“看起来高级”先上后端。
做到这里就可以停。不要先创建 Worker、数据库、队列、登录和 API token。先证明这个功能真的不能静态或浏览器本地完成。
详细判断
判断是否需要 Workers,本质是在判断“有没有服务端职责”。下面按静态内容、浏览器本地工具、Pages Functions、独立 Workers 和状态存储来拆。
1. 静态内容站通常不需要 Workers
如果网站主要是文章、指南、图片、索引和静态资源,Cloudflare Pages 本身就能承担第一版发布。
OnlyPat 的 guide.onlypat.com 就是这个路线:文章由 Astro 构建成静态页面,sitemap、robots、canonical 和 JSON-LD 都随构建输出。
这类站点优先考虑:
- 内容结构;
- 内链;
- sitemap;
- robots;
- canonical;
- AdSense 和
ads.txt; - 构建和部署验证。
后端不是第一优先级。
2. 浏览器本地工具也未必需要 Workers
很多工具看起来像“应用”,但仍然可以静态优先。
例如:
- JSON 格式化;
- URL 编码;
- Base64 编解码;
- 时间戳转换;
- QR Code 生成;
- 搜索摘要预览;
- UTM 链接生成。
这些工具的输入、输出和计算都可以在浏览器里完成,不需要账号、数据库或服务端密钥。此时上 Worker 只会增加维护面。
3. Pages Functions 适合 Pages 站点里的动态路由
Cloudflare Pages Functions 是给 Pages 项目增加动态功能的一种方式。它适合“这个 Pages 站点里的某些路径需要服务端代码”的情况。[Official source checked 2026-06-30]
可能适合 Pages Functions 的例子:
- 一个联系表单提交 endpoint;
- 一个需要服务端校验的下载入口;
- 一个轻量 API route;
- 一个站内数据代理;
- 一个只服务当前 Pages 项目的动态功能。
但这不代表第一版必须用 Functions。只有当需求明确落到服务端职责时,才进入实现设计。
4. 独立 Workers 适合更清晰的服务边界
Cloudflare Workers 是更通用的 serverless 运行平台。[Official source checked 2026-06-30]
更适合独立 Worker 的情况:
- 多个站点共用同一个 API;
- 需要独立部署、版本和路由;
- 需要连接 Cloudflare 存储或队列类能力;
- 需要后台任务、webhook 或跨站逻辑;
- 需要把服务端能力和静态站点分开治理。
如果只是一个 guide 页面或 browser-only 工具,不要为了技术名词先拆 Worker。
5. 真正的分界线是状态和密钥
可以用两句话判断:
这个功能是否需要保存、读取或保护每个用户的数据?
这个功能是否需要在服务器端保存密钥或控制访问?
如果两个答案都是 no,通常先别上后端。
如果任一答案是 yes,就进入后端设计,但也要继续判断用 Pages Functions、Workers、外部服务,还是暂时不做。
常见误区
不要把 Cloudflare Pages 理解成只能放纯 HTML。
不要以为用了 JavaScript 就必须上 Workers。
不要为了 GEO、SEO 或 AdSense readiness 先加后端。
不要把 API key 写进前端代码。
不要在没有真实需求时先做账号、数据库、支付、评论或后台管理。
不要把 Pages Functions 和独立 Workers 混成一个概念。
不要把“以后可能需要”当成“今天必须实现”。
OnlyPat 实操备注
OnlyPat 当前三个站点都按静态优先推进:
guide.onlypat.com:文章、路线图、GEO answer pages;tool.onlypat.com:浏览器本地工具;yimoo.onlypat.com:静态攻略工作台。
这不是说永远不用 Workers,而是把 Workers 留给真实服务端职责。比如未来如果出现账号、私密表单、服务线索管理、跨站 API、数据库、队列或需要保护密钥的外部 API,才值得单独设计。
在那之前,更高价值的是让静态页面、工具说明、sitemap、robots、AdSense、ads.txt、结构化数据和验证链稳定。
官方来源
- Cloudflare Pages documentation:
https://developers.cloudflare.com/pages/ - Cloudflare Pages Functions:
https://developers.cloudflare.com/pages/functions/ - Cloudflare Workers documentation:
https://developers.cloudflare.com/workers/
下一步
下一步先读 静态工具站要不要后端,把具体工具需求逐项拆开。如果你只是要做 UTM、JSON、时间戳、URL 编码或 QR Code 这类工具,可以先从 https://tool.onlypat.com/ 的 browser-only 路线开始,不急着设计 Worker。
如果某个功能确实需要服务端,再写一页实现前检查清单:输入是什么、输出是什么、是否有私密数据、是否有密钥、是否需要存储、是否必须跨站复用、上线后怎么验证。