这类问题我又碰上了一次。新版 URL 从 /post/123 改成 /category/sub/topic/123,链接深度从两层变五层,蜘蛛一周只抓到 30 条新地址,其余全停在已发现。

这类报错背后常见的原因有几处,逐个排除就行。层级变深,首页到正文的点击距离拉长;中间两级目录页是空的,没有可用入口;旧地址 301 到新地址,但新地址没有内链。

测首页到正文的点击距离

curl -s https://www.example.com/ | grep -o 'href="/[a-z/]*"' | head

接着确认新地址是否被内链引用

curl -s https://www.example.com/ | grep -c '/category/sub/'

补入口后统计 sitemap 覆盖

curl -s https://www.example.com/sitemap.xml | grep -c '/category/sub/'

改之前先确认了最近有没有人动过配置,避免白查一遍。

这次没动代码,只在配置和运行环境上找原因。

隔了一天再看,现象没变,说明不是偶发。

怎么算真的好了,看的是同一批现象。补入口两周后新地址的抓取量翻了十倍,已发现的积压明显减少。

提醒一点。URL 层级本身不影响排名,但它决定蜘蛛要跳几次才能到,层级加深必须同步补内链。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189