抓取、收录、排名这三件事,大部分人是从排名开始关心的。排名掉了才着急,回头查收录,查着查着发现页面压根没被抓过——顺序整个反了。这条链子是自上而下走的:蜘蛛抓取是第一道闸,收录是记账,排名才轮到结算。上一环断了,你在下一环使多大劲都是空转。所以碰到「排名一直上不去」这种说法,我先问的从来不是关键词怎么布的,是页面最近有没有被抓过、抓的时候服务器返回了什么状态码。这两句答不上来,后面聊的全是猜。

蜘蛛抓取是这条链子的第一道闸
robots.txt 这个文件小得可怜,杀伤力却不小。我自己干过一件挺蠢的事:测试环境临时加了一段 Disallow,上线时忘了删,整站就这么被挡在门外。内容照常更新,页面在浏览器里打开一点毛病没有,硬是耗了好一阵才想起来翻日志。从那以后动这个文件之前先备份,改完立刻模拟抓一次。还有个坑是 UA 声明,有些站为了防采集,把一批 UA 全写进黑名单,结果误伤了自己都叫不上名字的正常爬虫——这种事我见过不止一次,出事的时候没人会往那儿想。
服务器这一侧的问题更隐蔽些。500、502,或者干脆连接超时,爬虫吃一次闭门羹,短期内不太愿意再回来。CDN 那边要是开了人机校验、或者按 UA 做拦截,请求在边缘就被挡下来了,源站日志干干净净,看着像从来没被访问过,实际上根本没走到源站。这种就得把边缘日志和源站日志摊开对时间戳,一比对,路断在哪儿就出来了。
抓到了不等于被收录,中间还隔着一道筛子
被抓到只是进了门,收录是另一回事。中间那道筛子问的是:这一页值不值得留一份存档。重复内容先倒霉,同一篇东西在站内出现三四个版本,爬虫会挑一个,剩下的当冗余。列表页翻到后面几页,入口深、抓取频次低,收录慢是常态。最坑的是筛选参数,颜色、尺码、排序方式组合出一堆 URL,爬虫进来跟进了迷宫似的,绕半天出不去,还顺带把你的抓取预算吃掉一大块。
内容层面还有个经常被忽略的点——页面得有能读的东西。全是图片、正文全靠 JS 渲染,抓取能力弱的爬虫拿到手就是一片空壳。不是说不能这么做,是至少留个降级方案,服务端渲染一遍或者做静态化,成本不高,省心很多。
排名是结算那一环,别拿它当起点
排名看的是页面和某个查询之间的匹配程度,再加上站点整体的信任度。很多人的做法是本末倒置:排名不好就去改标题、堆词、到处发外链,页面本身抓取都不稳定,改完照样没动静,然后得出「优化没用」这个结论。真实情况是链子上游还有石头没搬走。
排名波动也别一惊一乍。搜索结果本来就在小范围浮动,今天第三明天第五很正常。要看一段时间的趋势,而不是某一天的截图。心态一乱,后面所有判断都会跟着走偏。
日志比后台数据诚实得多
后台那点数据太温柔了,日志才是实话。Nginx 的 access.log 里,UA、状态码、请求时间全都记着。想看抓取频次,跑一句 grep -i “googlebot” /var/log/nginx/access.log | tail -50 就够了,注意先确认日志有没有被 CDN 回源覆盖、有没有被日志切割成 access.log.1 这种带序号的归档文件。看的时候别只数条数,重点看状态码分布:200 居多说明抓得顺,一堆 404、503 就说明问题压在服务器那头。
蜘蛛抓取这条链上最容易断的三处
要我说最容易断的三处:第一是 robots.txt 和各类拦截规则,静态的、写在配置里的一大堆,时间长了没人敢动,也没人记得当初为什么这么写;第二是源站的响应质量,5xx 和超时,尤其是流量高峰那段时间,爬虫恰好撞上,来几次就不来了;第三是入口层级,新页面挂得太深,只能从站内搜索或者分页爬进去,等于让它自己摸黑找路。前两个偏技术,第三个偏内容运营,但出问题的时候都表现为同一句话:「没收录」。
排查顺序,从下往上走
顺序别倒着来。先确认 URL 返回 200 且内容完整,抓一次源码看看正文在不在;再确认 robots、UA 拦截、防火墙没把它挡在外面;然后才去日志里数抓取次数和状态码;接着对 sitemap 和站内入口看看路径通不通;最后才轮到收录和排名这些结果指标。从上往下查,每步都能排除一批可能性,比在后台瞎猜快得多。
还有个容易被当成承诺的东西:sitemap 提交了不代表就被抓。它更像一张指路牌,告不告诉路是一回事,爬虫走不走是另一回事。sitemap 里塞了几万个已经 404 的旧链接,这牌子基本就废了。
留一份能照着走的清单:首页和几个主要栏目手动抓一次,看返回码和正文是否完整;robots.txt 逐行读一遍,把历史遗留规则清掉;翻最近的 access.log,按 UA 统计抓取次数和状态码;检查 sitemap 里有没有死链和重定向链;抽三五个重点页面,看从首页点几下能到。走完这一圈,链子断在哪基本心里有数。剩下的收录和排名,是水到渠成的事,急也急不来。
【版权声明】:本站内容若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!