页面迟迟不被抓取,先看它有没有路可走
搜索引擎发现一个 URL,通常有几条路:外链、sitemap、提交入口、站内链接。前三条要么依赖别人,要么只是“报个到”;只有站内链接是你能持续控制、也能反复调整的一条。一个页面如果没有任何站内链接指向它,只出现在 sitemap 里,那它可以被发现,但抓取排序通常比较靠后,尤其当站点本身 URL 数量很大时。
所以当一批新页面里有的很快被抓、有的迟迟不动,先别急着怀疑内容,按顺序看一眼:它们各自有多少条内链、这些链接出现在什么位置、从首页算起要点几次才能到达。
链接位置不同,抓取意义不一样
- 主导航、频道入口:位置稳定,几乎每轮抓取都会被经过,适合放长期重要的栏目页。
- 列表页、聚合页:更新频繁,新内容出现在前几屏时更容易被碰到,这是新页面被发现最稳定的一条路。
- 正文内的上下文链接:相关性清楚,但前提是文章里真的有值得引用的地方,硬塞反而显得多余。
- 页脚、侧栏:全站重复出现,边际作用有限,可以用于重要入口的兜底,但不要指望靠它把新页面推出去。
- 只在 sitemap 里出现:能进队列,但缺少站内入口时,优先级通常偏低。
换句话说,链接数量不是关键,链接出现的位置和稳定性才是。一个出现在列表页首屏的链接,通常比十个页脚链接更有意义。
点击深度:从首页走几步能到
常见做法是让重要页面尽量在三次点击内可达。这里真正要检查的是改版之后的变化:原来的栏目入口被撤掉、旧的列表页做了折叠、内容被移到了二级甚至三级目录下,页面本身没变,但从首页到它的路径变长了,被抓到的频率自然下降。
检查方法很朴素:打开首页,只用站内链接,手动走到目标页面,把步数记下来。抽样几个目录各走一遍,比看任何汇总数字都直观。
孤儿页面和“看起来有链接”的页面
有几类情况会让页面实际处于孤立状态,但表面上又好像有链接:
- 链接由 JavaScript 在执行后才插入 DOM,如果页面本身没有被完整渲染抓取,这条链接可能根本不存在。
- 链接藏在“展开更多”、下拉菜单、选项卡或需要点击才加载的模块里。
- 指向该页的链接全部带上了 nofollow,或者链接所在页面本身是 noindex。
- 页面只存在于 sitemap 或后台列表里,前台没有任何入口。
这几类的共同点是:人工浏览时看得见,机器抓取时拿不到。排查时用抓取工具看原始 HTML,比用浏览器看渲染结果更接近真实情况。
锚文本与上下文不用堆砌
锚文本的作用是说明目标页讲什么,让链接双方的主题关系清楚。同一个目标页,最好有几种自然的说法,而不是全站统一用“点击这里”。没必要为了关键词反复重复同一个短语,那样既读起来别扭,也不见得带来额外好处。
上下文同样重要:一段正文里顺带提到并链过去,和一个列表里孤零零的链接,意义并不相同。
分页和列表页别把路堵上
很多站点的分页靠“加载更多”按钮或无限滚动实现,视觉上流畅,但链接不再是可抓取的 a 元素,新内容就少了一条主要入口。比较稳妥的做法是保留一条普通的分页链接路径,哪怕视觉上只作为兜底,也不要让新页面只能靠接口返回。
一套可以小范围执行的检查顺序
- 挑一组最近上线但还没被抓取的 URL,控制在十几条以内。
- 从首页出发,手动走出到每条 URL 的最短路径,记录点击深度和经过的页面。
- 在原始 HTML 里确认这些链接确实存在,而不是靠脚本渲染出来。
- 检查链接是否被 nofollow,所在页面是否被 noindex 或 robots 屏蔽。
- 和 sitemap 里的写法对照,确认 URL 完全一致,没有大小写、结尾斜杠之类的差异。
- 在相关度高的页面上补一到两条自然内链,然后观察一段时间的抓取记录。
内链调整是长期工程,改动之后不会立刻看到结果,观察窗口按周计算更合理。它的作用是让页面更容易被发现,并不能替代内容本身的质量判断。
内链解决的是“被发现”,不是全部
补内链之后,页面进入抓取队列的概率会提高,但是否进入索引,还要看内容是否完整、是否与其他页面高度重复、返回的状态码是否正常。把这两件事分开看,排查起来会清楚很多:先确认机器有没有走到这个页面,再谈这个页面值不值得留下。