起因:微信分享缩略图是空白的
个人网站部署在海外的 AWS EC2 上,分享链接到微信时,缩略图始终无法显示。原因很简单——微信的爬虫服务器在国内,抓取海外服务器上的 og:image 图片时经常超时或失败,导致分享卡片只有标题没有图片。
之前尝试过直接移除 og:image 标签来避免显示异常,但这终究不是办法。想到 Cloudflare 提供免费的全球 CDN,如果图片能被缓存到离国内更近的节点,也许微信爬虫就能顺利抓到了。虽然不报太大希望,但免费的方案试试也无妨。
为什么是 Cloudflare
Cloudflare 免费计划对个人网站非常友好:全球 CDN 加速、DDoS 防护、SSL 证书、流量分析,全部免费。域名原本托管在 GoDaddy,但 GoDaddy 不提供免费 CDN,所以决定把 DNS 解析迁移到 Cloudflare。
GoDaddy DNS 转出:文档与现实的差距
迁移的第一步是在 GoDaddy 上把 DNS 服务器指向 Cloudflare 提供的地址。听起来很简单,实际操作却折腾了好一阵。
最大的问题是 GoDaddy 的帮助文档和实际网站界面对不上。文档里写的操作路径,到了网站上根本找不到对应的入口。更坑的是,之前用 GoDaddy 的"建站神器"创建过一些内容,这些内容竟然找不到删除的地方——在网站管理页面里翻遍了也没有删除按钮。
最后发现需要到 账号订阅管理 的地方才能取消相关服务。取消之后,重新指定 DNS 服务器到 Cloudflare 提供的地址,切换马上就生效了。
经验教训:遇到 GoDaddy 操作问题时,与其在帮助文档里打转,不如直接去账号的订阅管理页面看看。
Cloudflare 配置与生效
在 Cloudflare 这边的操作反而很顺畅:
- 注册 Cloudflare 账号,添加域名
- Cloudflare 自动扫描现有 DNS 记录并导入
- 获取 Cloudflare 分配的两个 DNS 服务器地址
- 到 GoDaddy 修改 DNS 服务器指向(就是上面折腾的那一步)
- 等待 DNS 传播生效
GoDaddy 那边取消建站服务后,DNS 切换几乎是即时生效的,没有遇到需要等待 24-48 小时的情况。
有趣的流量分析
配置好 Cloudflare 之后,可以在控制面板看到网站的访问数据。打开一看,结果非常有意思。

总请求数 6.14k,带宽 40.78 MB,独立访客 4.76k。看起来还不错,但仔细看国家分布就乐了——访问量最多的竟然是法国,排在第一位,远超其他国家。

后面还有来自韩国、加拿大、俄罗斯、德国、巴西、英国、台湾等地的访问,分布非常广泛。

最后还发现了来自乌克兰的访问请求。一个中文内容的个人网站,访问量最大的来源是法国,还有来自乌克兰的流量——这些大概率是爬虫或者扫描器的流量,而不是真实用户。这也从侧面说明了为什么即使是个人小站,也需要 Cloudflare 这样的防护服务。
总结
整个迁移过程其实并不复杂,核心步骤就是修改 DNS 服务器指向。主要的时间花在了和 GoDaddy 的界面搏斗上。几个要点:
- Cloudflare 免费计划对个人站点完全够用,CDN 加速 + 防护 + 分析一站式解决
- GoDaddy 的帮助文档经常和实际界面脱节,遇到问题直接去订阅管理页面操作
- 流量分析里的"海外访客"不要太当真,大部分可能是自动化流量
- 即使是小站,也值得套上 Cloudflare 来过滤这些无效请求
至于微信分享缩略图的问题——配置好之后还需要观察,Cloudflare 的 CDN 节点主要在海外,在国内能不能被微信爬虫顺利访问到,还是个未知数。如果最终还是不行,可能需要考虑在国内 CDN(比如又拍云、七牛)单独托管 og:image 图片。不过至少现在多了一层 CDN 缓存和防护,也不算白折腾。
评论