个人网站上线之后,最容易被忽略的不是新功能,而是那些平时看不见、出问题才暴露的基础项。这次我想把 johnbuilds.xyz 当作一次真实维护对象,先把 HTTPS、SEO 入口和 404 这三件小事补齐。
我平时更关注内容本身:新文章、新作品、新流程。但搜索引擎、浏览器和访客看到的,往往是更底层的几件事——站点是否强制走 HTTPS、爬虫能不能找到 sitemap、打错地址时会不会看到真正的 404。这些东西不出错时没人夸,出错时却会直接影响信任。
这次维护的目标很简单:让网站在“看不见的地方”也表现得像一个成品,而不是半成品。
先查清楚,再动手改
我没有一上来就改代码,而是先把线上站点和 Cloudflare 配置摸了一遍。结果分两类:一类是 Cloudflare 后台就能改的安全设置,一类是仓库里缺文件导致的 SEO 与路由问题。
已经改掉的:HTTPS 相关三项
站点托管在 Cloudflare Pages,域名走橙云代理。检查时发现:
- Always Use HTTPS 是关的,访客用
http://打开时不会自动跳到https://。 - HSTS 没开,浏览器不会记住“以后只用 HTTPS”。
- 最低 TLS 版本还是 1.0,已经过时。
在确认这三项只影响加密和跳转、不改页面内容之后,我一次性改掉了它们:Always Use HTTPS 打开;HSTS 先用短有效期(300 秒),不带二级域名、不上 preload;最低 TLS 提到 1.2。
改完后验证了两件事:HTTPS 正常返回 200,并带上 Strict-Transport-Security;用 TLS 1.1 去连会被拒绝。这正是预期结果。
HSTS 之所以先设得很短,是为了留出回滚空间。等观察几天没问题,再把有效期拉长到几个月,会更稳妥。
还没改、但已经定位清楚的:SEO 与 404
这三项要动仓库,所以先记下来,等下一轮一起处理:
- 访问
/robots.txt和/sitemap.xml时,返回的其实是首页 HTML。对爬虫来说,等于这两个文件不存在。 - 访问一个不存在的路径,也会返回 200 和首页内容。这是 Cloudflare Pages 在缺少
404.html时的单页回退行为,会制造 soft 404。 - 分享卡片缺
og:description/twitter:description,分享图目前用的是 logo;更合适的是一张 1200×630 的专用图。 - logo 文件偏大,小图标和首屏预加载都值得压缩。
- 站内链接里混着
ai.html和/ai两种写法。虽然.html会 308 跳到不带后缀的地址,统一成一种写法能少一次跳转。
这次维护真正解决了什么
- 把“能打开网站”升级成“默认用更安全的方式打开网站”。
- 把发现问题和动手修改拆开:后台能改的立刻改,要动代码的写清楚下一步,避免一口气改太多却验证不清。
- 留下一份可重复的检查清单,之后发新文章、加新页面时,可以按同样标准再过一遍。
下一步
下一轮我会按这个顺序补仓库里的缺口:先加真实的 robots.txt、sitemap.xml 和 404.html,再补分享卡片描述和专用分享图,最后统一站内链接并压缩图片。这些改动都会先开 PR,确认无误再合并。
结语
个人网站的维护,往往不是一次大改版,而是把一连串小缺口补上。HTTPS、SEO 入口和 404 看起来都不时髦,但它们决定了别人第一次接触这个站时,会不会觉得它是认真做出来的。
当这些基础项稳定之后,我才能更放心地把精力放回内容本身——继续记录真正做过的项目,而不是被看不见的细节反复打断。
返回记录页