内容提要
作者使用Claude 20x套餐重写博客时,发现因改名导致robots.txt正式生效,使网站被搜索引擎屏蔽四个月。随后进行全面优化:弃用Bootstrap和jQuery,将Markdown改为服务端渲染,增加PWA离线阅读、搜索、后台草稿与标签管理,并修复SEO问题,共发布11个版本。作者认为AI虽能耐心穷举但常出错,需人工把控方向,并担忧程序员岗位将大幅缩减。
延伸解读
robots.txt 的教训:SEO 配置需谨慎
作者博客的 robots.txt 原本因文件名错误(robot.txt)未生效,导致搜索引擎随意抓取。今年5月7日重构时,作者将其改名为标准的 robots.txt,但内容仍是 Disallow: /,同时添加了 sitemap、canonical 等 SEO 标签。结果网站被搜索引擎屏蔽四个多月。这提醒我们,SEO 配置的改动需仔细检查,避免因小失大。
服务端渲染的挑战:兼容旧有 Markdown 写法
将 Markdown 渲染从客户端 editor.md 迁移到服务端 blackfriday 时,作者遇到了兼容性问题。由于两个渲染器对松散 Markdown 的理解不同,作者在 blackfriday 前加了一层预处理,并逐篇对比 44 篇文章的 DOM 直到完全一致。对于含流程图、公式等特殊内容的文章,则回退到浏览器渲染。这体现了迁移时保持内容一致性的重要性。
AI 辅助开发:高效但需人工把关
作者与 Claude 合作完成了博客改版,AI 在穷举和耐心方面表现出色,例如发现 robots.txt 问题、逐篇对比 DOM 等。但 AI 也常出错,如未检测服务器环境、脚本兼容性问题、文章方向偏差等。作者认为,AI 能处理大量繁琐工作,但人工仍需把控方向并核对细节,不能完全依赖。
对程序员职业未来的思考
基于此次开发体验,作者认为当前 AI 已能支撑要求不严苛的项目,人工介入很少。随着算力提升,程序员岗位可能大幅缩减,未来每家公司或许只需少数“懂产品”的架构师。作者对此感到不安,希望科技发展慢一些,因为变化对一代人来说太快,充满不确定性。
Q&A
博客的robots.txt为什么会导致被搜索引擎屏蔽四个月?
因为robots.txt里写的是Disallow: /,意思是禁止所有搜索引擎收录任何页面。但之前文件名叫robot.txt,少了一个s,爬虫请求/robots.txt得到404,等于文件不存在,所以没生效。今年5月7日重构时,作者把它改名成标准的robots.txt,同时加了sitemap、canonical和OG标签,于是从那天起搜索引擎就正式屏蔽了博客,持续了四个多月。
博客前端做了哪些多端适配和性能优化?
作者弃用了Bootstrap和jQuery,改用CSS变量和原生JS,主题跟随系统深浅色。文章目录在宽屏是右侧粘性侧栏,窄屏收成底部抽屉。表格在手机上改为横向滚动。还去掉了editor.md的浏览器端渲染,改为服务端直出,并给静态资源加指纹,带指纹的缓存一年,其余缓存一天。
Markdown服务端渲染遇到了什么困难,如何解决的?
原来正文在浏览器用editor.md(marked 0.3.3)渲染,导致首屏空白、依赖jQuery,且爬虫看不到正文。改为在Go中用blackfriday服务端渲染后,两个渲染器对松散Markdown(如缩进不规范的嵌套列表、紧挨列表项的代码块、中文里的**强调**)理解不同,结果差异很大。作者在blackfriday前加了一层预处理,按marked语义规整写法,并同时跑服务端和客户端两个渲染实例,逐篇对比44篇文章的DOM,直到完全一致。含流程图、时序图、公式的文章会自动回退到浏览器渲染。
博客的离线阅读功能是如何实现的?
因为正文改为服务端直出,缓存一份HTML就是完整文章,所以加了PWA,可以安装到手机主屏和桌面。读过的文章会自动存下来,断网也能打开;没读过的地址会显示离线页,并列出本地已缓存的文章。策略是页面走网络优先(5秒超时回落到缓存),带指纹的静态资源缓存优先。配置里pwa: false可以一键关掉,并会让已安装的Service Worker自动注销。
后台管理增加了哪些实用功能?
后台在手机上可用了,列表、表单、编辑器都重新排过。新增功能包括:草稿(存在服务器.drafts/里,不公开、不进内容仓库,可后台预览,发布时才创建标签);编辑器本地备份(关页、登录过期、保存失败都能恢复);标签可以改名、合并、删除,改成另一个标签已有的名字就是合并,文章会自动换过去。
作者对AI辅助开发有什么感受和担忧?
作者认为AI强在穷举和耐心,能发现人难以察觉的问题(如robots.txt的连锁原因),也能完成枯燥的逐篇DOM对比。但翻车也不少,比如没料到服务器没装Go导致部署中断、部署脚本在macOS自带bash 3.2上报错、文章初稿方向写偏、细节记错(如过期提醒阈值写成三年)。不过这些错误基本提一句就能改回来,人工只需把控大方向。作者担忧程序员岗位会大幅缩减,未来每家公司可能只需要若干个懂产品的架构师,并希望科技发展慢一点。