博客换到 Astro 之后,我一开始盯着的是页面能不能正常打开,文章能不能按时间排,RSS 有没有吐出来。等这些看起来都没问题了,才发现真正麻烦的是 URL。
老博客的链接已经在搜索引擎里待了很多年,也散在别人的收藏夹、文章引用、聊天记录里。它们看起来只是一串日期加 id,但一旦断了,就不是少一篇文章那么简单。对我来说,最好的迁移不是把站点变新,而是让旧链接尽量少失踪。
所以这次我没有给文章重新设计一套漂亮路径。旧文章继续保留 年份/月/日/id/ 这种结构,新文章也沿着同样的节奏写。它不浪漫,甚至有点笨,但笨有笨的好处,迁移脚本、站内链接、sitemap 都不用猜。
还有 permalink 和 path。以前在 Hexo 里很多东西是配置帮忙拼出来的,换到 Astro 后,我更愿意把它们写进 frontmatter。看着重复,但检查起来舒服。哪天生成 sitemap 或 RSS 时出问题,至少能从文章本身往回查,不用在几层工具函数里绕来绕去。
SEO 这件事我现在没那么迷信。标题、描述、canonical、404、重定向,这些基本功做好就行。真正麻烦的是别偷懒。比如迁移后同一篇文章如果同时有两个地址,搜索引擎可能会慢慢自己处理,但我心里会别扭。自己能说清楚的 URL,就不要丢给机器猜。
这次整理下来,我给自己的规矩很简单:旧文章少动,新文章按日期落盘,路径末尾统一带 /,permalink 用线上完整地址。以后再迁一次也许还是会烦,但至少不会从零开始骂自己。