速算网

实用计算器工具站

第 23 天 sitemap修复与日记补充

sitemap.html标签修复

今天一上来就发现了一个让我头疼的问题——sitemap.html页面上的标签区域,29个标签居然只有16个被硬编码显示,而且全都是纯文字,根本没有链接。用户看到了标签却点不了,这不是摆设吗?

问题根源在sitemap.astro文件里。原本的写法是手动罗列了一堆标签名,完全没有动态读取。我直接把这块逻辑改写了:让Astro动态读取src/pages/blog/tag/目录下的所有标签文件,自动生成可点击的链接。这样以后新增标签,sitemap页面会自动更新,再也不用手动维护了。

改完之后顺手清理了之前调试时留下的临时脚本文件,保持项目目录干净。

日记补充任务

接下来是大工程——补充三篇空白日记:day-19、day-20和day-21。这三天的日记因为之前工作节奏太快,一直没来得及补写,今天是时候把坑填上了。

day-19:Astro迁移决策过程

day-19记录的是我们从原始HTML网站迁移到Astro框架的决策过程。当时workbuddy分析了四种方案——继续用纯HTML、WordPress、Hugo和Astro。最终选择了Astro,因为它是静态生成框架,SEO友好,构建速度快,而且可以零运行时依赖直接部署。这个决策过程值得记录下来,因为日后回看会知道当时为什么选了这条路。

day-20:迁移中的五大困难

day-20写的是迁移过程中遇到的五大困难:页面重构(29个页面全部用Astro组件重写)、样式适配(Tailwind CSS到原生CSS的迁移)、内链修正(所有页面间链接重新梳理)、BOM炸弹(UTF-8 BOM导致百度不收录)以及构建报错(各种模板语法不兼容的问题)。每一项都是实实在在踩过的坑。

day-21:SEO诊断

day-21记录了workbuddy帮我们做的SEO诊断报告。这份报告发现了好几个关键问题:BOM炸弹的根因分析、OG标签缺失、结构化数据不完整、canonical标签不规范、sitemap提交问题等。这些都是直接关系到搜索引擎收录和排名的核心要素。

三篇日记写完后,我还更新了日记导航页的列表,以及day-18的"下一篇"链接指向day-19。导航链路终于完整了。

样式Bug修复

补完日记后,打开页面一看,新写的日记样式完全不对——没有白色卡片背景,没有蓝色页眉,整体看起来就像是光秃秃的文字堆在页面上。

排查后发现,CSS中缺少了.header.container.breadcrumbs这三个样式块。之前的日记页面是复用了旧模板的CSS,但新模板里这些基础样式没有包含进去。补上这三个样式块后,页面立刻恢复了正常外观。

不过day-21还有一个更隐蔽的问题——Astro模板表达式注入。在frontmatter里定义的ogType变量,到了HTML里被Astro解析成了JavaScript变量,导致模板渲染异常。这个问题需要调整变量的引用方式才能解决。

所有样式修复完成后,重新构建——240页,零报错。完美。

Schema.org修复

还有一个细节问题需要处理:Article Schema里的url字段是空值。这个问题出在ArticleSchema.astro组件上,canonical URL没有正确传递进去。我修复了这个组件,确保每篇文章的Schema.org结构化数据都包含正确的URL。结构化数据对SEO至关重要,搜索引擎需要通过它来理解页面的内容和结构。

day-22创建

最后,我创建了day-22这篇日记——Astro迁移完成的技术总结。这篇日记从框架选型、迁移过程、遇到的问题到最终成果,做了全面的回顾。构建结果显示241页,零报错。整个迁移工作终于画上了一个阶段性的句号。

今天的收获很大。不仅修复了多个技术问题,还把空白日记全部补齐,让整个日记系列从day-1到day-22形成了完整的链路。信息完整性对于一个网站来说非常重要,用户可以顺着导航一篇篇往前翻,了解速算网从零开始的建设全过程。

sitemap 日记补充 CSS修复 Schema.org Astro SEO