站点二十万篇文章,GSC 里已发现但未编入索引的稳定在四万条以上。站内链接只有两层,首页直接链到文章,中间没有栏目层。日志里蜘蛛每天抓两万条,大部分落在已经收录的老文章上。

一开始怀疑是「分页链接在列表页底部被折叠,蜘蛛只能翻到第三页」,查了一圈,方向不对。

把日志和配置对完,能解释这个现象的基本就这几处。缺少栏目和分页的中间层,新文章只能靠首页和 sitemap 被发现。另一种情况是首页只列最新十条,滚出首页的文章几乎拿不到内链。

不容易想到的是,老文章之间互链密集,抓取预算被反复消耗在同一批地址上。

上来先统计内链深度分布

curl -s https://www.example.com/sitemap.xml | grep -c '<loc>'; curl -s https://www.example.com/ | grep -c '/p/'

给每个栏目补上分页入口,保证可以逐页翻到底

curl -s https://www.example.com/c/tech/page/3 | grep -c '/p/'

然后在新文章里加指向相邻文章的链接,形成第三层

grep -rn 'related' templates/detail.html

末了按周观察已发现数量是否下降

别只看报错消失,验证要多做一步。栏目层和分页补齐后,新文章平均抓取间隔从十一天缩到三天,已发现未编入的数量开始逐周下降。

sitemap 只是清单,内链才是路径,四万条待抓的页面大多不是没提交,而是没有一条能让蜘蛛走过去的链接。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189