一个新页面发布后,蜘蛛不会自动知道它存在。它要么顺着别人给的链接爬进来,要么从你提交的地址列表里读到。理解 URL 是怎么被发现的,比反复提交收录请求更能解决问题。
蜘蛛发现 URL 的几条主要路径
按实际效果排序,大概是这样:
- 站内链接:从已收录页面指向新页面的 a 标签,是最稳定、最持续的发现渠道。蜘蛛本来就会定期回访老页面,链接就是留给它走的路。
- XML sitemap:等于一份候选清单,告诉蜘蛛这些地址值得看看。它是补充,不是保证。
- 外部链接:别的站点链过来,蜘蛛顺着爬进来。速度快,但可控性差。
- 站长平台提交:手动或接口推送单个 URL,适合少量、紧急的页面。
要注意,这些渠道回答的只是蜘蛛知不知道这个地址,不等于它会立刻抓取,更不等于会被收录。
孤岛页面是怎么形成的
孤岛页面指的是:地址真实存在,也能被正常访问,但从站内任何一个页面都点不到它,只有 sitemap 或站内搜索能找到。常见成因有几种。
只写进了 sitemap,没有内链
有些站点用程序批量生成 sitemap,把所有 URL 都塞进去,却忘了在内容页之间互链。结果蜘蛛读到了清单,却没有理由优先回访这些地址,抓取节奏完全靠运气。
链接是脚本生成的,且需要交互才出现
点击加载更多之后才插入的链接,如果蜘蛛不执行那段脚本,就看不到。可以先确认链接是否出现在初始 HTML 里,或用渲染后的快照对比一次。
目录层级太深,入口被折叠
从首页到目标页要经过五六层列表,中间还夹着分页和筛选参数。蜘蛛爬到一半就回头,深处页面自然长期停留在已发现状态。
导航和面包屑指错了地方
面包屑指向上级分类,分类页却因为某种规则把该文章排除在外,链接等于断了。这类问题在老站改版后特别常见。
内链不是越多越好,而是位置要对
同样一条链接,放在正文里、放在页脚、放在侧栏推荐,蜘蛛的回访频率和对页面的判断都不一样。比较稳妥的做法:
- 新页面至少从一个已收录、有一定抓取频率的页面正文里链过去;
- 重要栏目页在导航里固定出现,不要只靠首页轮播;
- 相关推荐、上一篇下一篇这类模块,尽量输出在服务端 HTML 中。
内链的价值不在数量,而在于它让蜘蛛有一条稳定、可重复走的路径回到这个页面。
几个常见的理解偏差
- 提交到 sitemap 就等于告诉蜘蛛收录——sitemap 只解决发现,不解决抓取和索引。
- 首页放一次链接就够了——蜘蛛回访首页的频率高,链接在首页停留的时间却可能很短。
- 页面有内链就一定会被收录——收录还取决于内容质量、重复度、站点整体情况等多种因素。
一份可执行的排查顺序
- 在站内沿着导航走一遍,看从首页点几下能到达这个 URL;
- 查这个页面被哪些站内页面链接,链接是否出现在初始 HTML 中;
- 确认页面不在 robots.txt 的禁止范围内,也没有 noindex 标签;
- 看服务器日志里蜘蛛是否访问过这个地址,访问频率如何;
- 如果以上都正常,再从内容本身找原因,比如和其他页面高度重复、信息量过少。
把内链理顺,通常比反复提交收录请求更有效。蜘蛛的行为有惯性:它更愿意沿着自己走过的路径继续走。给新页面安排一条清晰的、从已有页面延伸出来的路,是站点运营里成本较低的一步。