把 WordPress 站点从 Hostinger 迁到 Cloudflare Pages:以 abc.com 为例的完整实操
一个 WordPress 站点跑在 Hostinger 上,一年主机费六七百块。把它导出成纯静态 HTML 放到 Cloudflare Pages,主机费直接归零,一年只剩一个域名钱。下面用 abc.com 这个真实例子,把每一步点哪里、填什么、会遇到什么坑,全部写清楚。
本文目录
- 先确认:你适不适合迁
- 第一步:注册 Cloudflare 账号并添加站点
- 第二步:把域名 NS 改到 Cloudflare
- 第三步:用 Simply Static 把 WordPress 导出成静态文件
- 第四步:上传到 Cloudflare Pages
- 第五步:在 Pages 绑定 abc.com 并开 HTTPS
- 第六步:把域名本身转入 Cloudflare Registrar
- 第七步:观察一两周,再退订 Hostinger
- 静态化后丢掉的功能,用这些替代
- 常见坑与注意事项
先确认:你适不适合迁
Cloudflare Pages 只认纯静态文件(HTML / CSS / JS / 图片),它跑不了 PHP 和数据库,所以 WordPress 不能直接搬,必须先用插件”导出”成静态网页。这一步做完之前,先问自己两个问题:
- 你的访客主要在哪?如果读者在海外,Cloudflare 全球 CDN 又快又免费,非常合适。如果读者在中国大陆,而你又没有 ICP 备案,迁到 Cloudflare 后照样没有备案,而且 Cloudflare 免费节点在国内访问经常不稳定,可能比现在的 Hostinger 还慢——这种情况建议先别急着迁。
- 你的站点有多少动态功能?如果只是文章、页面、图片这种展示型内容(旅游资讯站通常就是这样),静态化毫无压力。如果你重度依赖后台用户登录、在线下单、动态数据库查询,那静态化不适合你。
符合条件的话,成本账先算给你看:
| 项目 | 迁移前(Hostinger) | 迁移后(Cloudflare) |
|---|---|---|
| 主机 / 托管费 | 约 600–700 元/年 | 0 元(Pages 免费版,无限带宽) |
| 域名费 | 可能含在主机套餐里,或另付 | 约 $10.44/年(.com 成本价,约 75–80 元) |
| HTTPS 证书 | 通常免费 | 免费自动签发 |
| 合计 | 600–700 元/年 | 约 80 元/年 |
第一步:注册 Cloudflare 账号并添加站点
1. 注册账号
打开 dash.cloudflare.com,用邮箱注册一个免费账号,邮箱验证通过后登录。
2. 添加站点
登录后首页点 “Add a site”(添加站点),输入 abc.com(注意不要加 www,裸域填一次就行),点 Continue。
3. 选套餐
这一步会让你选计划,选最上面的 Free($0/月)即可,Continue 下去。
4. 核对自动扫描到的 DNS 记录
Cloudflare 会自动扫描你现有的 DNS 记录(一般能扫出 A 记录指向 Hostinger 服务器、www 记录、邮件 MX 记录等)。这里一定要仔细核对,尤其是 MX 邮件记录——如果你用这个域名收邮件(比如 info@abc.com),MX 记录必须保留,否则迁完之后邮箱就收不到信了。确认无误后点 Continue。
最后 Cloudflare 会给你两个 nameserver,长这样:
xxx.ns.cloudflare.com yyy.ns.cloudflare.com
每个账号分配的都不一样,以你页面上实际显示的那两个为准,复制保存好。
第二步:把域名 NS 改到 Cloudflare
注意:域名在哪管理,就去哪改。很多人在 Hostinger 买的主机,但域名可能是在 Namecheap、GoDaddy、阿里云、腾讯云别处买的。先搞清楚你的域名注册商是哪一家——一般在你付款的账单邮件里能看到。
1. 找到 Nameserver 设置
登录域名注册商后台,找到域名 abc.com 的管理页,找 “Nameservers”(域名服务器 / DNS 服务器)这一项。
- Hostinger:hPanel → Domains → abc.com → DNS / Nameservers → 选 “Change nameservers”。
- 阿里云/腾讯云:域名控制台 → 管理 → DNS 修改。
- Namecheap:Domain List → Manage → Nameservers 下拉选 Custom DNS。
2. 替换成 Cloudflare 的两个 NS
把原来的 nameserver 删掉,填进第一步拿到的那两个 Cloudflare 的,保存。
3. 等待生效
NS 全球生效一般要几分钟到几小时,少数情况要 24 小时。Cloudflare 后台检测到 NS 生效后,会把你的站点状态从 “Pending Nameserver Update” 变成 “Active”。看到 Active 就说明这一步成了。
注意:NS 改了之后,你现在的网站暂时还是好的——因为 Cloudflare 会按它扫描到的 DNS 记录继续把流量转发到 Hostinger,不会立刻断站。这一步只是把”指挥权”交给 Cloudflare,网站内容还在老地方。
第三步:用 Simply Static 把 WordPress 导出成静态文件
1. 安装插件
登录你的 WordPress 后台(现在还在 Hostinger 上那个),左侧菜单 插件 → 安装插件,搜索框输入 Simply Static,找到 “Simply Static – Static Site Generator”,点安装 → 启用。
2. 进入设置
启用后左侧菜单会出现 Simply Static,点进去,主要填这几项:
- Production URL(线上地址):填
https://abc.com。这个必须和你正式上线的地址完全一致,否则导出的网页里链接会错。 - Export Directory(导出目录):默认即可,一般在
/wp-content/uploads/simply-static/。 - Includes / Excludes(包含/排除):如果你后台有不想公开的页面(比如测试页、感谢页),在这里排除掉。
提示:如果你用了缓存插件(WP Rocket、LiteSpeed Cache 之类),导出前先去清空一次缓存,否则可能导出旧页面。
3. 开始导出
点 “Generate Static Files”(生成静态文件),等它把整站爬一遍。旅游站一般几十到几百个页面,几分钟到十几分钟。完成后页面会给你一个 .zip 压缩包,下载到本地。
4. 本地解压预览
解压压缩包,双击里面的 index.html 在浏览器打开,抽查:
- 首页排版是否正常?
- 随便点两三篇文章,图片有没有出来?链接是不是通的?
- 文章里如果有中文乱码,检查 WordPress 设置里的固定链接和编码。
robots.txt和sitemap.xml是否也在压缩包里?不在的话等下手动补。
注意:本地双击打开时,因为是
file://协议,站内相对链接可能看起来不对。这正常,不用慌。重点看图片和排版。真正的效果要等传到 Pages 之后用域名访问才算数。
第四步:上传到 Cloudflare Pages
1. 新建 Pages 项目
回到 Cloudflare Dashboard,左侧菜单点 Workers & Pages → Create(创建)→ 选 Pages 标签 → 选择 “Upload assets”(直接上传)。
注意:Cloudflare 现在把 Pages 归在 Workers 下面了,界面可能叫 “Create application” → “Pages” → “Direct Upload”。
2. 起项目名
Project name 填 abc(这会临时给你一个 abc.pages.dev 的预览域名,后面绑了正式域名就不重要了)。点 “Create project”。
3. 上传文件
把第三步解压出来的整个文件夹里的内容(注意是文件夹里面,不是把文件夹本身拖进去)拖到上传区域,或者点 “从电脑选择” 选全部文件。上传完点 Deploy。
等一两分钟,部署成功后 Cloudflare 会给你一个 https://abc.pages.dev 的地址。先点开它,用这个临时域名完整检查一遍网站——首页、文章页、图片、移动端排版,都过一遍。这里发现问题改起来还方便,等绑了正式域名再改就要重新部署。
以后更新内容怎么办:以后你在 WordPress 后台改了文章,重新跑一次 Simply Static 导出,重新拖文件夹到 Pages 部署就行。嫌麻烦的话,可以把静态文件传到 GitHub 仓库,Pages 连这个仓库,以后 push 上去自动发布——但第一次迁移先用 Direct Upload 跑通,别一上来就搞 CI。
第五步:在 Pages 绑定 abc.com 并开 HTTPS
在 Pages 项目里,点顶部 “Custom domains”(自定义域名)→ Set up a custom domain。
输入 abc.com,继续。因为你的域名 NS 已经在 Cloudflare 了,它会自动加好 DNS 记录,HTTPS 证书也是 Cloudflare 自动签发的,不用你做任何事,等几分钟就生效。
再把 www.abc.com 也加上,Cloudflare 会自动做 www 到裸域的跳转(看你 WordPress 后台固定链接里设的是带 www 还是不带,保持一致)。
这时候用 https://abc.com 访问,你看到的就已经是 Pages 上的新静态站了。Hostinger 那边其实已经可以不管了。
第六步:把域名本身转入 Cloudflare Registrar
到这一步,你已经省掉了主机费,但域名可能还在原注册商手里,每年续费可能还要被加价。把域名也转到 Cloudflare,续费就是成本价(.com 一年约 $10.44,不加价、不套路)。
1. 前置条件(在原注册商做)
- 域名注册已满 60 天(新注册的域名不能转)。
- 在原注册商后台关闭域名锁定(Domain Lock / 禁止转移)。
- 找到并复制 EPP Code / 授权码 / Auth Code,一般在域名管理页”转移域名”那一项里,点一下会发到你邮箱。
- 建议临时关闭 WHOIS 隐私保护(有些注册商转完会自动恢复)。
2. 在 Cloudflare 发起转入
Cloudflare Dashboard 左侧 Domain Registration → Transfer,输入 abc.com,按提示把 EPP 码粘进去,付款。转入费大约等于一年续费,会自动给你域名有效期加一年,不亏。
3. 等待完成
转入一般 5–7 天,期间网站正常访问、不受影响。完成后域名就归 Cloudflare 管了,以后续费在 Cloudflare 后台自动扣。
第七步:观察一两周,再退订 Hostinger
新站跑起来后,先别急着删 Hostinger 的站。保持原样跑一到两周,期间盯几件事:
- Cloudflare Analytics(免费版就有)看访问量是不是和之前对得上,有没有页面大量 404。
- 用手机、电脑分别开几次,图片、链接、移动端排版都正常。
- 如果你有 Google Search Console,看看收录有没有异常下降——静态化后 URL 结构如果和原来一致,收录基本不受影响。
- 邮箱(如果用这个域名收信)收发几封测试邮件,确认 MX 记录没丢。
都没问题,再登录 Hostinger 后台退订套餐。WordPress 后台和数据库先备份一份到本地再退,以后想重新导静态文件还能用。
静态化后丢掉的功能,用这些替代
WordPress 变成纯静态后,原来依赖 PHP 后台的功能都没了,别慌,都有成熟的免费替代:
| 原来 WP 里的功能 | 静态化后的替代方案 |
|---|---|
| 文章评论 | Giscus(基于 GitHub Discussions,免费)或 Twikoo / Waline |
| 站内搜索 | Pagefind(构建时自动生成索引,纯前端,零成本)或 Algolia 免费额度 |
| 联系表单 | Formspree 免费版,或写个 Cloudflare Workers 小接口收邮件 |
| 图片多、占空间 | 放到 Cloudflare R2 对象存储,免费额度大,出网流量不花钱 |
| 统计 | Cloudflare 自带的 Web Analytics 免费、无 Cookie、不侵犯隐私 |
对一个旅游资讯站来说,这几样替换完,用户端几乎感觉不到区别。
常见坑与注意事项
- 固定链接结构必须和原来一致。你 WordPress 后台设的是
/post-id.html还是/category/post-name/,导出的静态文件目录结构就必须是那样,否则老链接全部 404,SEO 直接崩。导出前先在 WP 后台”设置 → 固定链接”里看一眼,记住原来的结构,别迁移时手贱改了。 - www 和裸域统一。决定好用户最终访问
abc.com还是www.abc.com,另一个做 301 跳过来,别两个都能访问、权重分散。 - HTTPS 强制跳转。Pages 绑了域名后,在 Cloudflare 后台 SSL/TLS 设为 “Full (strict)”,并开启 Always Use HTTPS。
- 国内访问。再次强调:没备案的站放 Cloudflare,国内访客体验看运气。如果你的读者主要在国内,认真考虑要不要先把域名备个案、放国内 CDN——Cloudflare 救不了这个问题。
- 以后改文章的流程变了。不能再打开浏览器写文章一键发布。流程是:在本地或原来的 WP 环境改 → 跑 Simply Static → 重新上传 Pages。建议把这个流程写进你自己的备忘。
- 缓存。改完重新部署后,如果用户看到的还是旧页面,去 Cloudflare 后台 Caching → Purge Everything 清一次缓存。
写在最后
整套流程走下来,快的话半天,慢的话一两天。最大的收益不是那几百块钱,而是你从此告别了 WordPress 后台、插件更新、被扫描、PHP 报错、数据库膨胀这一整套麻烦事——一个静态站放在 Cloudflare 上,几乎不用维护,访问速度还比以前快。
等你把 abc.com 跑通了,以后再做第二个站,这套流程就是现成的模板。
原创文章,作者:小微财服云,如若转载,请注明出处:https://www.779it.com/373.html