报错是这么冒出来的。日志里 /.well-known/security.txt、/.well-known/apple-app-site-association 等路径每天被请求两千次,全部 404,正文页抓取量一周降了两成。
中间走过弯路,把「404 页面返回 200,被反复重抓」当成主因,改完现象没变。
真正麻烦的地方在于,几个原因的现象几乎一样。蜘蛛会探测常见校验路径,404 也计入抓取预算。也可能是站点没有任何 .well-known 文件,全部返回 404。
另外,没有在 robots 里屏蔽无意义的探测路径。
第一件事是统计这些路径的请求量
awk '{print $7}' access.log | Select-String "/.well-known/" | Group-Object | Sort-Object Count -Descending | Select-Object -First 5
补上必需的校验文件
location = /.well-known/security.txt { return 200 'Contact: mailto:sec@example.com'; }
其余探测路径直接 404 并允许缓存
location ^~ /.well-known/ { return 404; add_header Cache-Control "max-age=86400"; }
复核正文页抓取量
awk '{print $7}' access.log | Select-String "^/post/" | Measure-Object -Line
中途换过一次思路,把范围缩到最小的那一层,反而快了。
别只看报错消失,验证要多做一步。探测路径的请求量降到每天百次以内,404 不再占用抓取配额,正文页抓取量回升。
补一句。探测路径本身无害,但持续 404 会白白消耗抓取预算,能用静态文件兜住就兜住。这类问题最好一次改到位,反复小改反而容易把原因搅混。
