页面改完,很多人会立刻去看搜索结果有没有变化。但蜘蛛不是守着你的编辑器工作的,它有自己的一套再抓取安排。与其追问“到底多久来一次”,不如先弄清楚:哪些因素会左右它下一次到访的时间。
蜘蛛不会因为你保存了修改就立刻回来
再抓取的节奏,主要由蜘蛛自己的调度决定。你这边能做的,是给出一个“这页值得再看一遍”的信号。信号越明确,它在下一轮调度里排到这一页的概率就越高。这个过程没有固定时长,也没有办法提前预约。
影响再抓取时间的几个现实变量
这次改动的幅度
把标题里的一个词换掉,和把整篇文章重写、换掉配图、调整版式,在蜘蛛那里不是同一件事。抓回来的内容与它上次留存的内容差异越大,越容易被判定为需要重新处理;反过来,只动了几处标点或空白,它下次来可能看不出区别。
页面在站内的位置
离首页近、被多个栏目链到的页面,本来就是蜘蛛的常客,改动之后被再次取走的间隔通常更短。埋得深、只有一条内链指向的详情页,往往要等上一级列表页被抓过,才有机会被顺路再走一遍。这也是为什么更新老内容时,顺手在相关页面补一条链过去,比干等要实际得多。
Sitemap 与提交入口
Sitemap 里的 lastmod 可以作为参考,但蜘蛛是否采用、采用到什么程度,并不由你决定。更稳妥的做法是:真的改过才更新自己这边的时间标记,不要批量刷;同时把重要页面的地址稳定在同一份 Sitemap 里,别今天换地图、明天换路径。
站点自身的抓取历史
如果一个站点长期响应慢、错误多,蜘蛛对这里的整体抓取节奏都会收紧,单页更新也很难被优先安排。反过来,服务器稳定、页面返回干净的站点,在同样的改动幅度下,往往能被更快地回头看一眼。
怎么确认蜘蛛已经来过
- 在服务器日志里按路径过滤,看该 URL 最近一次被抓取的时间与状态码。
- 把抓取时间与你的改动时间对一下,判断它拿到的是改前还是改后的版本。
- 留意状态码:200、301、304、404 各自说明的情况并不相同。
- 如果多次抓取的时间点几乎没变化,先检查是不是 CDN 或缓存层把旧版本递了出去。
可以顺手做的几件小事
- 改动较大的页面,在站内相关位置补一条内链,给它一个新的入口。
- 把确实更新过的 URL 放进 Sitemap,不动没改过的条目。
- 确认页面返回的 HTML 里已经包含新内容,而不是靠脚本稍后再补。
- 清理指向该页的失效链接和过长跳转链,别让蜘蛛在中间绕路。
- 用日志观察一轮再决定是否继续调整,不要凭感觉反复折腾模板。
再抓取是蜘蛛的调度结果,不是你直接下达的指令。能做的只是把页面改清楚、把入口留顺畅,剩下的交给它的节奏。
与其每天守着发布时间刷新结果,不如隔一段时间回看日志:这一页最近被抓过几次、抓到了什么版本、下次要不要再为它铺一条路。把这些弄清楚,比追问“多久”更有用。