8000个页面的网站应该怎么设计?

先给结论:8000 这个数字本身不是设计难点,几千个静态文件谁都能生成。难点在于这 8000 个页面是否共用同一套数据结构。共用了,加一千页是改一次配置;没共用,加一千页是加一千份维护债。

URL 层级要在写第一行业务代码之前定死

程序化站点里,URL 是唯一的稳定契约。上线三个月后你想改目录结构,代价是几千条重定向,而且每一条都会损失一点信号。

比较稳的层级是两层:/类别/具体对象,例如 /finance/salary-to-hourly/other/test-grade。类别控制在十几个以内,具体对象可以无限扩张。别把参数塞进路径里做三级、四级——/finance/salary/hourly/2026/us 这种 URL 看着精确,实际上把本该属于页面的内容搬进了路径,一旦组合爆炸,清理无从下手。

有个例外值得单独说:地域和年份这类维度,只有当它们确实改变页面实质内容时才进路径。换算系数每年变、税法每年变,年份进路径合理;只是把页面上某个默认值换一下的,不进。

查询参数(? 后面的部分)留给真正的用户输入,不参与页面区分。这条划清楚了,后面 canonical 才知道该指向谁。

页面数据放构建期的 SQLite,还是运行时查库

八千页的规模,我倾向构建期全量预渲染。理由不是性能,是可验证性:构建产物是静态文件,能直接看、能 diff、能被 nginx 当纯静态资源服务,部署就是打一个镜像把 dist 目录扔进去,回滚是换一个镜像标签。

页面元数据——标题、描述、示例输入输出、所属类别、相关条目——在建站初期就放进 SQLite 的一张表里。八千行对一个文件数据库来说毫无压力,好处是生成脚本、查重脚本、结构化数据生成脚本读的都是同一份数据,不会出现标题改了而 JSON-LD 没改的情况。

运行时查库只在一个场景下值得:页面内容依赖频繁变化的外部数据,且你需要 Google 每次抓取都看到最新值。多数工具站不需要这个,一天构建一次足够。

八千页全量构建的时间也要提前算。纯静态生成、每页 20 毫秒的模板渲染,八千页不到三分钟,完全够用;如果单页渲染要 200 毫秒,全量就是半小时,那就必须做增量构建——按类别分片,只重建变更的那一片。这个分片的边界最好和 sitemap 的分片边界一致,省得维护两套划分。

把"计算器"抽象成配置,页面只是配置的渲染结果

Omni Calculator 的做法值得抄:它不写几百个计算器,它写一套计算器引擎,每个具体计算器只是一份配置——输入字段有哪些、公式是什么、单位怎么换算、输出怎么格式化。页面由模板 + 配置生成,2026 年 6 月的估算访问量约 1429 万,覆盖 30 多种语言。

Omni Calculator 计算器分类页截图
Omni Calculator 计算器分类页截图

Omni Calculator 首页的 Physics 分类挂着 546 个计算器,是 Chemistry 108 个的五倍。

这套抽象的好处是可以横向加维度。加一种语言,是一次配置遍历,不是翻译 8000 个页面。加一个类别,是填一张表。

抽象层要留在两类边界上:一类是"计算逻辑",纯函数,可测试;另一类是"页面呈现",模板,可替换。这两类混在一起的站点,往往在第二年就没法加功能了。

配置里还要预留几个看似多余、后面一定会用到的字段:示例输入值、示例输出值、常见误解说明、相关条目 ID。这四个字段不是为了当下,是为了让页面在生成时就自带"内容"——程序化页面最怕的是整页只有一个输入框,那和空页面没什么区别。

配置本身建议存成结构化文件而不是代码里的对象字面量。存成文件才能被查重脚本读取、被非开发者修改、被版本控制清晰地 diff 出"这一版改了哪些页面的哪个字段"。

八千页的 sitemap 必须分片,分片边界要对应目录

单文件 sitemap 上限是 5 万条 URL、50MB 未压缩,八千页其实没到上限。但分片仍然值得做,理由是诊断效率:sitemap-finance.xml 收录率 98%、sitemap-other.xml 收录率 41%,问题定位直接到类别;全塞在一个文件里,你只能看到一个总数在涨或跌。

分片之后在 robots.txt 里声明索引文件位置,并在 Search Console 里逐个提交。这一套流程的细节在 Google Search Central 的 sitemap 与 robots 部分有完整说明。

上线节奏:按批灰度,不要一次全放

八千页一次性提交,你会同时失去两个观察窗口:看不出哪一类页面被忽略,也看不出索引速度是否正常。

按类别分五到六批,每批隔一到两周提交,每批提交后在 Search Console 里看已收录比例和"已抓取未索引"的数量。某一批的未索引比例明显高于前一批,说明这一批的模板有问题——通常是正文太薄或者和已有页面重复,这时停下来修模板,比继续铺量划算得多。

八千页从来不是一次做完的。Omni 那个体量也不是一天长出来的,它是把引擎打磨到"加一个计算器只需要填配置"之后,才谈得上规模的。先把前 200 页做到收录率 90% 以上,再去谈后面的 7800 页。这 200 页还有个额外作用:它们是模板的验证集,模板改一版,先看这 200 页的数据有没有掉。


Omni Calculator 访问量来自 Semrush 2026 年 6 月估算,其"计算器抽象为配置、页面由模板生成"的模式来自团队公开分享。