把一个静态网站「真正上线」的全流程实录:从阿里云改 NS 到 Cloudflare,再到被百度收录

    6

写在前面

把一个静态博客从 *.pages.dev 默认域名切到自己的独立域名,再到被百度、Google 收录——全流程实战记录

14 个真实踩过的坑:阿里云 NS 切换 45 分钟等待焦虑、Cloudflare Pages 自动 308 重定向把百度文件验证搞挂、sitemap 配额永远是 0、百度主动推送 API 报 401 token 失效……

最近把自己做的技术博客项目从 pages.dev 默认域名切到了独立域名 tools.<your-domain>.com。中间踩了一堆坑:

  • 从阿里云改 NS 那一刻起,盯着 Cloudflare 后台整整 1 小时看状态从 PendingActive

  • 百度站长平台添加站点时报「主域可添加站点数量超过限制」——*.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 profileLanguage → 简体中文 → Save。整个 Cloudflare 后台会立刻变中文(部分子页会中英混排,不影响功能)。

域名(一年 60-80 块就够)

选什么后缀?

我选了 .com,一年 70 块。不选 .cn 是因为备案 7-20 天、不备案又容易被 DNS 污染;不选 freenom 这种免费的是因为稳定性差 + 百度对免费域有 SEO 歧视。

一年 70 块换一个能传家的域名,

后缀

价格/年

备案要求

国内访问

推荐度

.com

¥60-80

不需要

正常

⭐⭐⭐⭐⭐

.org

¥80-100

不需要

正常

⭐⭐⭐⭐

.net

¥70-90

不需要

正常

⭐⭐⭐⭐

.top

¥9-30

不需要

正常

⭐⭐⭐(极便宜)

.cn / .com.cn

¥30-50

不备案访问受限

经常被污染

⭐(不推荐)

在哪儿买?

平台

支付方式

.com 价格

特点

Porkbun

✅ 支付宝/信用卡

$9.73/年

海外口碑最好,价格透明

阿里云万网

✅ 支付宝/微信

¥55/年

国内老牌,要实名

腾讯云 DNSPod

✅ 支付宝/微信

¥55/年

同阿里云

Namesilo

支付宝/PayPal

$8.99/年

永久免费 whois 隐私

Cloudflare Registrar

❌ 仅信用卡

$10/年

管理最方便但要绑卡

💡 我个人用 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」 → 自动跳回

此处内容已隐藏,「登录可见」

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息