把一个静态网站「真正上线」的全流程实录:从阿里云改 NS 到 Cloudflare,再到被百度收录
写在前面
把一个静态博客从
*.pages.dev默认域名切到自己的独立域名,再到被百度、Google 收录——全流程实战记录。含 14 个真实踩过的坑:阿里云 NS 切换 45 分钟等待焦虑、Cloudflare Pages 自动 308 重定向把百度文件验证搞挂、sitemap 配额永远是 0、百度主动推送 API 报 401 token 失效……
最近把自己做的技术博客项目从 pages.dev 默认域名切到了独立域名 tools.<your-domain>.com。中间踩了一堆坑:
-
从阿里云改 NS 那一刻起,盯着 Cloudflare 后台整整 1 小时看状态从
Pending变Active -
百度站长平台添加站点时报「主域可添加站点数量超过限制」——
*.pages.dev是共享子域,全球用户一起抢额度 -
sitemap 提交额度永远是
0条 -
百度主动推送 API 报
401 token is not valid -
Cloudflare Pages 还把
*.html自动 308 重定向到无后缀 URL,把百度的文件验证搞挂了
这篇文章不是正经的官方教程,是我一边踩坑一边写的真实过程。你按这个流程走,能少走 2-3 天弯路。
我把内容拆成三块:
-
第一部分:部署前要准备什么
-
第二部分:一步步怎么部署
-
第三部分:14 个真实踩坑 + 解决办法
第一部分:部署前要准备什么
Cloudflare 账号
免费,https://dash.cloudflare.com/sign-up ,邮箱注册就行。注册完登录 Dashboard,就是后面所有操作的后台。
💡 可选优化:把后台切成中文——右上角头像 →
My profile→Language→ 简体中文 →Save。整个 Cloudflare 后台会立刻变中文(部分子页会中英混排,不影响功能)。
域名(一年 60-80 块就够)
选什么后缀?
我选了 .com,一年 70 块。不选 .cn 是因为备案 7-20 天、不备案又容易被 DNS 污染;不选 freenom 这种免费的是因为稳定性差 + 百度对免费域有 SEO 歧视。
一年 70 块换一个能传家的域名,值。
在哪儿买?
💡 我个人用 Porkbun:支付宝 30 秒付款,0 套路。买了之后把 NS 改到 Cloudflare(本文后面详细讲),Cloudflare 这边免费 SSL / CDN / 无限 DNS 记录全套用上。
工具
-
Node.js 18+(去 https://nodejs.org/ 下载安装)
-
wrangler CLI(Cloudflare 官方命令行):
/usr/local/bin/npm install -g wrangler -
一个代码编辑器(VS Code 之类)
-
Python 3(用于本地启动测试服务器)
项目代码
任何 HTML / CSS / JS 静态项目都能用 Cloudflare Pages 部署。博客类 / 文档站 / 工具集类项目尤其合适——
一个典型项目结构:
my-blog/
├── index.html # 入口文件
├── posts/ # 博客文章
│ ├── 2026-07-01-hello.md
│ ├── 2026-07-15-deploy.md
│ └── ...
├── css/ # 样式
│ ├── style.css
│ └── ...
├── js/ # 脚本
│ ├── common.js
│ └── ...
├── assets/ # 图片、字体
│ ├── og-cover.png # 1200×630 OG 分享图
│ └── ...
├── robots.txt
├── sitemap.xml
├── llms.txt
└── wrangler.toml # (可选) 项目配置
💡 如果项目里没有
robots.txt/sitemap.xml/llms.txt/og-cover.png也没事——SEO 相关的可以发布后再加。但建议发布前就把这些加好(后面会讲怎么写)。
第二部分:一步步怎么部署
整个过程分 4 大步、10 个小步。我按顺序来:
第一步:本地测试(5 分钟)
部署前先在本地启动测试服务器,确认项目能正常访问。
# 方式 1:用 Python http.server(推荐,无需安装)
cd /path/to/your/project
python3 -m http.server 8768
# 方式 2:用 npx serve
npx serve -l 8768
浏览器打开 http://localhost:8768 即可访问。
第二步:部署到 Cloudflare Pages(10 分钟)
2.1 装 wrangler
# 用系统 npm 装(不要用 ~/.local/bin 里那个 shim,是坏的)
/usr/local/bin/npm install -g wrangler
# 验证版本(应该是 4.x)
wrangler --version
💡 如果 wrangler 报「
Cannot find module ../lib/cli.js」——说明装到了坏的 shim。改用/usr/local/bin/npm重装。
2.2 登录 Cloudflare
wrangler login
# 浏览器弹窗 → 点「Allow」 → 自动跳回

.png)
-bpoi.png)
