实战指南 › Cloudflare Pages 站务:重复内容、跳转与部署提速

Cloudflare Pages 站务:重复内容、跳转与部署提速

更新:2026-10建站实战

Search Console 报「重复网页」,我第一反应是代码有问题。实测发现:同一个首页在三个地址上都返回 200,内容 md5 完全一致。代码完全正确,问题出在部署配置。

三个地址,同一份内容

$ curl -s -o /dev/null -w "%{http_code} → %{redirect_url}\n" https://fusi.si/
200 →
$ curl -s -o /dev/null -w "%{http_code} → %{redirect_url}\n" https://www.fusi.si/
200 →                     # ← 应该 301 到主域
$ curl -s https://fusi.si/ | md5sum
a5ab014c...   # www 版本一字不差

三个入口分别是主域、www 自定义域、以及 Cloudflare 自动分配的 pages.dev 部署地址。只要都能 200 返回,Google 就会把它们判为重复内容。

好消息是页内 canonical 已经正确指向主域,所以 Google「选择的规范网页」其实是对的——它只是在你指定的规范之外又多发现了两个副本。

三种手段,各管一段

关键陷阱:不要在 robots 里屏蔽 www。那样会把 301 跳转一起拦掉,www 就真的消失了。www 必须 Allow。

User-agent: *
Allow: /
Disallow: /fusi-si.pages.dev/    # 仅屏蔽无法跳转的部署地址

Sitemap: https://fusi.si/sitemap.xml

.html 后缀的 308

Pages 默认启用 pretty-URL:/tools/chatgpt.html 会 308 跳到 /tools/chatgpt。这本身没问题,前提是站内链接、canonical、sitemap 三者统一用短地址。

这个站的 Search Console 报了 34 个「网页会自动重定向」——正好是早期部署过的 .html 地址。站内 181 种链接实测零个 .html,说明全部来自站外与历史记录,只能等 Google 更新。

排查这类问题最快的办法是扫全站内链,而不是逐页看:

grep -ro 'href="[^"]*\.html[^"]*"' --include="*.html" . | wc -l
# 0 = 站内干净,剩下的就是站外来的

把部署从 7 分钟压到几秒

npx wrangler 每次调用都会重新下载包,实测两次都超过 5 分钟未完成。npx 其实已经把包装好了,只是每次重新校验。

# 直接调用 npx 缓存里已下载的二进制
WR="$LOCALAPPDATA/npm-cache/_npx/<hash>/node_modules/.bin/wrangler"
$WR pages deploy _deploy --project-name=fusi-si     # 几秒完成
Advertisement
广告位(AdSense 接入后显示)

相关工具