事情本身不复杂,线索都在日志里。图片目录忘了关 autoindex,日志里蜘蛛一层层列出子目录,三天抓了两万多条目录索引页,真正的内容页反而没抓几条。

第一反应是「目录页没有 rel=nofollow 也没有 robots 屏蔽」,验证下来不成立。

排查方向其实有限,先把可能性排一排。目录列表页对蜘蛛是可抓取的 HTML,天生带大量链接。另一种情况是文件按年月建目录,层级有四五层,每层都能被列出来。

另外,上传目录和备份目录共用同一个父级,一起被暴露。

第一件事是确认目录是否真的在列文件

curl -s -o /dev/null -w '%{http_code}\n' https://www.example.com/uploads/2026/

接着关掉目录浏览

autoindex off;

给上传目录补一条 robots 规则做兜底

Disallow: /uploads/*/

等前面都确认过,再确认返回 403 而不是列表

curl -s https://www.example.com/uploads/ | grep -c 'Index of'

改完先别撤,确认这几项。目录地址返回 403,日志里以斜杠结尾的 /uploads/ 请求逐日下降,内容页的抓取条数同步回升。

这里还有个坑。关掉 autoindex 之后旧目录仍可能被索引,靠 403 加 robots 双管齐下,光关开关不会清理已经进索引的地址。改动前把原配置备份一份,出问题能马上回滚,这比任何技巧都实用。

作者 9823189