这个坑值得记一笔。标签页模板里只有标签云和分页,没有任何指向文章的链接,文章列表标题被做成了不带 href 的 span。蜘蛛进来只能看到标签之间的互链,日志里这些页面的出站链接数都是 0。
刚开始盯着「分页由 JS 加载,蜘蛛拿不到下一页」,折腾了半个多小时,排掉了。
排查方向其实有限,先把可能性排一排。列表标题被写成 span,没有可跟随链接;标签云每页输出 200 条,把链接预算全占满;标签页没有面包屑回到栏目或首页。
数一下页面里可跟随的链接数量
curl -s 'https://www.example.com/tag/nginx/' | grep -o 'href="http' | wc -l
随后看列表标题是否带链接
curl -s 'https://www.example.com/tag/nginx/' | grep -o '<a href="/p/[^"]*"' | head
标签云控制在 30 条以内
curl -s 'https://www.example.com/tag/nginx/' | grep -o 'tag-cloud' | wc -l
等前面都确认过,再分页改成服务端输出的真实链接
curl -s -o /dev/null -w '%{http_code}\n' 'https://www.example.com/tag/nginx/page/2/'
别只看报错消失,验证要多做一步。标签页可跟随链接从个位数涨到 60 条以上,文章页从标签页进来的抓取明显增加。
容易忽略的是,聚合页的价值是把权重分给内容页,链接都指回自己等于白建一页。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。
