Field Note

不要让内部文档进入公开路由

静态站很容易因为文件放错目录,把内部文档、备份、草稿或测试页变成公开可访问页面。它们即使没进 sitemap,也可能被搜索引擎发现或被直接访问。

一句话结论

在 Astro 或类似静态站框架中,src/pages 下的任何文件都可能成为公开路由。内部文档、备份、草稿、测试页如果误放进 pages 目录,即使没有进 sitemap 或导航,也可能被搜索引擎索引或通过 URL 猜测访问到。保护内容站的第一步,是把公开页面和内部资料放在不同的世界里。

这个坑为什么常见

静态站框架(Astro、Next.js、Hugo 等)通常会把 src/pages 目录下的文件自动转换为可访问路由。新手很容易把草稿、笔记、实验页随手放进 pages 目录,想着“反正别人不知道 URL”。但这种想法很危险——搜索引擎爬虫会扫描已知 URL 模式,浏览器插件也会记录访问过的路径,一次意外的 URL 泄漏就可能导致内部资料的公开。

它会造成什么后果

内部文档被暴露的后果包括:第一,草稿、规划文档、未完成的 AI 输出被搜索引擎索引,出现在搜索结果中;第二,备份文件(如 *_backup、*_before_task 等)被当作正式内容返回给访问者;第三,项目内部讨论、任务书、未完成的整改方案被公开,影响项目可信度。而且“没进 sitemap”不等于安全——只要文件在公开路由上,就有被访问的风险。

更稳的做法

更稳的做法是:第一,内部文档全部放在项目根目录的 docs/ 或 file_backups/,这些目录不在 Astro 的构建范围内;第二,公开页面按栏目放在明确的目录中(如 posts/、methods/、templates/、notes/),不要在 pages 根目录堆放杂项;第三,每次发布前检查 sitemap 和构建输出,确认没有不该出现的页面;第四,如果发现有内部文档被误放到公开路由,先移出 pages 目录再处理,不要只是“改个不明显的名字”。

相关方法

相关模板

← 返回避坑笔记