很多人搭蜘蛛池时,注意力都放在入口页能不能被蜘蛛发现、入口页到目标页的链接怎么放这两件事上,至于入口页彼此之间要不要连,往往随手就定了。实际上,入口页之间的内链会直接影响蜘蛛在池子里走多深、停留多久,也会影响后面排查问题时能不能看清抓取路径。
入口页内链到底在解决什么
入口页内链不是为了某种听起来很玄的传递效果,它主要解决两个具体问题。
- 给蜘蛛更多可走的路径。蜘蛛抓到一个入口页后,如果没有后续链接,它很快就会离开,下一个入口页要等下一次抓取机会。
- 方便观察抓取覆盖。有内链的池子,日志里能看到蜘蛛从一个页面走到另一个页面的轨迹;完全孤立的入口页只能看到一个个孤立的请求。
换句话说,内链是让蜘蛛在池子内部多走几步的低成本手段,但它不是核心。入口页本身能不能被抓、目标页能不能被到达,优先级都更高。
三种常见形态
孤岛页
每个入口页只放一条或几条指向目标页的链接,入口页之间互不相连。这种做法最简单,出问题也最容易定位。缺点是蜘蛛抓完一页就结束,入口页被发现的顺序基本取决于你提交或外链给的入口点,覆盖速度偏慢。
入口页互链
入口页之间互相加链接,常见的是上一篇、下一篇或随机推荐。它能让蜘蛛顺着链接一路抓下去,但有两个坑:一是容易形成闭环,蜘蛛在池内打转,反而减少了去目标页的机会;二是如果所有入口页都用同一套模板互链,结构会非常规整,很容易被识别为一组批量产物。
聚合页与目录页
用一个列表页把若干入口页列出来,蜘蛛从聚合页向外扩散。这种方式比全网互链更可控:你只需要维护少数几个聚合页,就能让一批入口页被串起来。聚合页也可以分层,但层数不宜太深,通常两三层就够用。
落地时的几个细节
- 出链数量控制。一个入口页放几十条内链,蜘蛛不一定都会跟,还可能稀释目标页链接的可见度。通常保持在十几条以内更稳妥。
- 位置比数量重要。正文里的链接比页脚全站链接更自然。页脚链接在池子里用多了,基本等于告诉别人这些页面是一批做的。
- 相关性别完全随机。主题相近的入口页互链,至少让链接看起来有上下文。纯随机推荐不是不能用,但要控制比例。
- 锚文本要散开。所有内链都用同一个词,模板痕迹会很明显。可以让一部分链接用页面标题,一部分用短词。
- 别用 JS 渲染链接。蜘蛛不一定执行脚本,JS 生成的链接在日志里可能根本看不到,用普通的 a 标签最省事。
如果入口页只有几十个,孤岛页加少量聚合页通常就够了。入口页规模上千之后,才有必要认真设计内链结构,否则维护成本会超过它带来的收益。
常见误区
- 全站页脚互链。每个入口页页脚都挂上所有其他入口页,看似连通性拉满,实际是模板复制的典型特征,而且出链太多,蜘蛛可能抓取一部分就停了。
- 闭环互链。只链向池内页面,没有出口。蜘蛛在一个小圈子里来回走,目标页反而被冷落。
- 链到已经失效的入口页。入口页下线后内链没清理,蜘蛛反复撞到错误页,浪费抓取机会。
- 只看有没有链,不看日志。内链加了不少,但蜘蛛实际走的路径和预期不一样,这种偏差只能从日志里看出来。
怎么判断内链有没有起作用
比较实用的观察点是入口页被抓取的分布。如果日志里始终只有少数几个入口页在被反复抓,其他页面几乎没有记录,说明蜘蛛没有顺着内链扩散出去,可能是聚合页没被抓、链接层级太深,或者链接本身不可抓。
另一个点是目标页请求是否稳定出现。内链加多以后,如果目标页请求反而下降,多半是蜘蛛在池内绕圈,这时候应该减少互链,增加直接指向目标页的链接。
小结
入口页内链是蜘蛛池里一个可以调、但也容易调过头的部分。孤岛页简单,聚合页可控,全网互链风险最大。先把入口页的可抓性和目标页的可达性做扎实,再考虑用内链把抓取路径铺开,顺序不要反。