很多人做SEO做到后面都卡在同一个地方:文章写了,关键词也布局了,但百度就是不收录。一查日志文件,百度蜘蛛根本就没来过几次。同样是做了三年的网站,别人家蜘蛛一天来几千次,你家一天来几十次,新页面发出去两周都没被爬。
差距到底出在哪?我拿了三个不同类型的站做了一个月的抓取日志监测,结果让人大跌眼镜。
三个站一个月的抓取数据对比
| 对比维度 | A站(API提交) | B站(sitemap) | C站(自然抓取) |
|---|---|---|---|
| 月总抓取次数 | 21,847次 | 4,362次 | 312次 |
| 日均抓取 | 728次 | 145次 | 10次 |
| 新页面发现速度 | 平均2小时 | 平均3天 | 平均12天 |
| 月收录率 | 92% | 68% | 31% |
| 差距倍数 | A站是C站的70倍 | ||
三个站的内容质量差不多,域名年龄也都在两年左右,唯一的区别就是百度蜘蛛的入口通道不一样。A站用了百度站长平台的API主动推送,B站只提交了sitemap,C站什么都没做全靠蜘蛛自己发现。70倍的抓取差距,就是从这个入口拉开的。
这篇文章帮你把百度抓取规则的来龙去脉、在哪看、怎么配置、怎么优化,一次性讲透。看完你至少知道三件事:百度蜘蛛的规则文档到底在哪找、蜘蛛不来你网站的真实原因是什么、以及怎么让蜘蛛像打了鸡血一样天天来。
一、百度抓取规则在哪看?三个 *** 入口,90%的人只用了第一个
很多人问"百度抓取规则在哪",第一反应就是百度站长平台。没错,但站长平台里藏着三个跟抓取直接相关的入口,大部分人只点开过一个。
抓取诊断工具
路径:百度搜索资源平台 → 站点管理 → 抓取诊断
这里能看蜘蛛能不能正常访问你的页面,返回什么状态码,页面加载多久,抓取是否成功。每月至少查一次。
抓取频次设置
路径:百度搜索资源平台 → 站点管理 → 抓取频次
这里能直接调蜘蛛每天的抓取上限。新站默认很低,有备案的站可以手动往上拉。蜘蛛来得太多把服务器拖垮?也能在这里降。
链接提交工具
路径:百度搜索资源平台 → 站点管理 → 链接提交
四种提交方式全在这里:API推送(最快)、sitemap(批量)、手动提交(单条)、自动推送(JS代码)。后面会详细拆开讲。
除了站长平台,百度的开发者文档中心还有一份面向技术人员的抓取规范文档,搜索"百度蜘蛛 Baiduspider 技术文档"就能找到,里面详细写了蜘蛛的UA标识、robots协议配置规范、Crawl-delay参数用法、以及服务器端的适配建议。这份文档是写进Nginx配置和robots.txt之前必读的。
二、百度蜘蛛怎么决定来不来你家?三个核心算法参数
百度蜘蛛不是随机乱爬的。它内部有一套动态权重模型,综合评估一个网站值不值得多抓。说人话就是:蜘蛛每次决定要不要来、来多少次、爬多深,都在算一笔账。
蜘蛛决策的三个核心参数
| 参数 | 怎么算的 | 你能做什么 |
|---|---|---|
| 网站权重分 | 历史抓取质量 + 用户点击行为 + 外链数量质量,综合打分 | 坚持发原创内容,减少低质量页面,提升点击率和停留时间 |
| 更新频率 | 监测Sitemap更新节奏 + 首页变化频率 + RSS信号 | 固定更新频率(每天/每周),让蜘蛛形成"来就有新东西"的预期 |
| 内容质量分 | NLP模型评估文本原创性 + 信息密度 + 结构化程度 | 正文≥800字,配图配表,避免大量重复模板内容,保证每页有独立信息量 |
这三个参数是联动的。内容质量高的站,蜘蛛来一次能抓到有价值的东西,权重分就涨,下次来的频率就更高,这是一个正向循环。反过来,蜘蛛来了几次发现全是低质量内容,权重分就掉,频率也跟着降。
还有个容易被忽略的点:蜘蛛有自己的"抓取预算"(crawl budget)。百度每天给全网的抓取总量是有限的,分配到每个站头上更有限。蜘蛛每来一次,它会算——这次爬了10个页面,有几个是新的有价值的?如果10个里只有1个新页面,其他9个都是重复内容或低质量页面,下次预算就会被砍。
三、让蜘蛛来得更多更勤,有四个通道,差距最大的是第一个
回到开头那张表。A站抓了2万次,C站只抓了300次,差距就是四个通道的开通程度不一样。按效果从强到弱排:
第一通道:API主动推送(效果最强,70倍差距的来源)
在百度站长平台获取推送接口token,每次发布新内容后通过API把URL推给百度。百度收到后会在几分钟到几小时内调度蜘蛛来抓。这是最快的通道,也是A站碾压C站的核心原因。技术门槛不高:PHP、Python、Node.js都有现成的SDK,写个脚本对接就行。如果你的网站是WordPress、织梦等CMS,有现成的推送插件,装上填token就能用。
第二通道:Sitemap提交(批量告诉蜘蛛你有哪些页面)
把网站所有重要URL生成XML格式的sitemap文件,上传到站长平台。蜘蛛会定期来读这个文件,按图索骥去抓。B站靠这个一个月抓了4000多次。缺点是蜘蛛读sitemap的间隔时间不固定,新页面可能要等一两天甚至更久才被发现。但胜在省事,生成一次sitemap放服务器上,站长平台设置自动更新就行。
第三通道:自动推送JS代码(零门槛,但效果有限)
百度提供一段JS代码,嵌入网站页面后,用户每次访问页面时JS会自动把URL推给百度。好处是完全不用维护,装上就自动跑。但效果取决于网站流量——用户访问越多推得越多,如果网站本身没流量,这个通道基本等于没有。
第四通道:自然发现(靠外链和内链引导蜘蛛)
蜘蛛顺着别的网站的外链、或者你自己网站的内链,一路爬过来的。这是C站的唯一通道,一个月只抓了312次。不是不能用,但仅靠自然发现,新站基本等于在黑暗中等待。这个通道的核心逻辑是:你在互联网上的"存在感"越强(外链多、被引用多),蜘蛛越容易发现你的新页面。
四个通道不是单选,必须全开。API推送负责速度,sitemap负责覆盖面,JS推送负责用户流量转化,自然发现负责长期权重积累。四条通道全开的站,和只开一条的站,蜘蛛抓取量差几十倍一点都不夸张。
四、robots.txt 和 Crawl-delay:蜘蛛的门禁卡和限速牌
蜘蛛能不能进你家门、进了以后能跑多快,全看两个文件/参数的配置。配置错了,轻则蜘蛛绕路走,重则直接把你整个网站拉黑。
robots.txt:告诉蜘蛛哪些地方不能去
robots.txt 必须放在网站根目录(比如 yourdomain.com/robots.txt),蜘蛛来之前会先读这个文件。注意几个容易踩的坑:
robots.txt 四个常见错误:
- 文件放错位置——放在子目录里蜘蛛读不到,必须放在网站根目录
- 对百度蜘蛛用了通配符——百度规定不能对 Baiduspider 使用 * 通配符,必须单独声明 User-agent: Baiduspider
- 返回404——robots.txt 返回404不等于"允许全部抓取",蜘蛛会降低抓取优先级
- Disallow了不该屏蔽的目录——比如把 /images/ 屏蔽了,蜘蛛抓不到图片,影响图片搜索排名
标准配置示例(只允许蜘蛛爬公开内容区,屏蔽后台和临时文件):
User-agent: Baiduspider
Allow: /public/
Allow: /articles/
Disallow: /admin/
Disallow: /tmp/
Disallow: /api/
Crawl-delay: 10Crawl-delay:控制蜘蛛爬多快
Crawl-delay 是 robots.txt 里的一个参数,告诉蜘蛛每两次抓取之间至少间隔多少秒。建议值在5到30秒之间。如果你的服务器性能一般,设成15秒以上;服务器够强,5-10秒就行。不设这个参数的话,蜘蛛默认按自己的节奏来,有时候会在短时间内密集抓取,把服务器拖慢。
设了 Crawl-delay: 10,就是告诉百度蜘蛛:你每爬完一个页面,至少等10秒再爬下一个。这样蜘蛛不会把你的服务器搞崩,抓取质量也更好(服务器响应快,蜘蛛不会因为超时放弃抓取)。
五、蜘蛛来了但抓不到东西?五个技术死穴一个一个排查
通道开了、robots配了,蜘蛛也确实来了——但日志显示抓取失败率很高,或者蜘蛛来了只抓了首页就走了。问题出在服务器端。
每一条都不要跳过。我遇到过最冤的情况是:站长装了Wordfence安全插件,默认把蜘蛛的UA当恶意爬虫给封了,封了半年才发现,期间写的几百篇文章全白写了。
六、蜘蛛爬了但不收录?抓取和收录之间还有一道坎
蜘蛛来了,页面也成功抓取到了,但就是不收录。这里要搞清楚一个区别:抓取 ≠ 收录。蜘蛛抓取只是把页面内容拿回去,收录是百度觉得这页内容有价值、放进索引库供用户搜索。
从抓取到收录,中间百度要做三件事:
如果蜘蛛抓了但不收录,从这三个环节找原因:内容是不是跟别人重复了?正文有没有800字以上的有效信息?页面的发布时间是不是太久远了?
还有一个实用的操作:在百度站长平台的"索引量"工具里,能看到当前网站被收录的页面总数。如果这个数字长期不涨甚至下降,说明你的内容在质量评估环节被大量淘汰了,得回头检查内容质量。
七、蜘蛛的UA标识和IP段:写在Nginx配置里的保底操作
蜘蛛来你家的时候,HTTP请求头里会带一个User-Agent标识。百度的蜘蛛UA包含"Baiduspider"字样,移动端蜘蛛是"Baiduspider-mobile"。确保服务器能正确识别这个UA,别把蜘蛛当普通用户给拦截了。
Nginx配置示例(放行百度蜘蛛,并给它单独打日志方便分析):
# 识别百度蜘蛛并单独记录日志
map $http_user_agent $is_baidu_spider {
default 0;
~*Baiduspider 1;
}
# 蜘蛛访问日志单独输出
access_log /var/log/nginx/spider.log combined if=$is_baidu_spider;这样做的好处是:你可以单独看 spider.log 这个文件,一目了然地知道百度蜘蛛哪天来了多少次、抓了哪些页面、返回了什么状态码。不用在几十万条普通用户访问记录里大海捞针。
另外,百度站长平台会不定期更新蜘蛛的IP段列表。如果服务器用了IP白名单或地域限制(比如只允许国内IP访问),记得去查最新IP段并加入白名单。
八、不同阶段的站,抓取策略完全不一样
新站、成长期站、老站,在抓取优化上的重点完全不同。很多新站一上来就照着老站的经验调Crawl-delay、调频次上限,结果方向全错了。
核心目标:让蜘蛛认识你
- API推送和sitemap两条通道全开,别等自然发现
- 新页面发布后立即API推送,别等蜘蛛自己来
- 保证首页和内页的抓取正常,用抓取诊断每月查两次
- 内容宁缺毋滥,前100篇的质量决定蜘蛛对你的初始评分
- 别急着调高抓取频次,蜘蛛还在"观察期",频繁调整适得其反
核心目标:提高抓取预算
- 去抓取频次设置页手动上调抓取上限
- 保持稳定的更新节奏(每周至少3-5篇),让蜘蛛形成"定期来"的习惯
- 检查抓取预算利用率——蜘蛛来了爬的页面里有多少是新的?低于30%说明重复内容太多
- 开始建设外链,增加自然发现通道的效率
核心目标:优化抓取效率
- 用robots.txt屏蔽低价值页面(标签页、搜索页、过期活动页),把抓取预算集中到核心页面
- 定期清理 *** ,用301跳转到相关内容页
- Crawl-delay按服务器负载调整,别让蜘蛛抢了用户带宽
- 监控索引量趋势,如果索引量下降但抓取量正常,说明内容质量出了问题
三个阶段的重点说穿了就是:新站求认识,成长期求加量,老站求效率。不要用老站的优化逻辑去套新站,反过来也不要新站开了半年还在用新站策略。
九、四个容易被忽略的抓取细节
以下四个点,大部分SEO教程不会讲,但实际影响非常大。
服务器返回HTTP头时带上Last-Modified字段,蜘蛛下次来会对比这个时间,如果没变就跳过不抓。很多站没配这个头,导致蜘蛛每次都重新下载全页面,白白浪费抓取预算。配置方法是Nginx里加一句 add_header Last-Modified $date_gmt;。
网站内部有很多404链接(删了页面但别的页还在链向它),蜘蛛顺着内链爬过来扑个空,连续遇到几次死链就会降低对网站结构的信任度。每个月用站长平台的"死链提交"工具提交一次404列表,同时用Xenu或Screaming Frog扫一遍全站内链。
改版换了URL结构,旧URL必须做301永久重定向到新URL。蜘蛛会顺着301找到新地址,并且把旧URL的权重转移过去。不改301的话,蜘蛛下次来发现页面全没了,权重直接归零。改版后去站长平台提交"网站改版"规则,加速蜘蛛更新索引。
如果你的网站用户访问高峰是晚上8-11点,那就把Crawl-delay在高峰时段调高一点(比如20秒),让蜘蛛别跟用户抢服务器资源。Nginx可以按时间段设置不同的Crawl-delay,或者在站长平台直接调抓取频次。
十、抓取优化自检清单(每次发新内容前过一遍)
百度蜘蛛的抓取规则不是什么玄学,核心就两条线:一条是入口——API推送、sitemap、JS推送、自然发现,四个通道开得越多蜘蛛来得越多;一条是体验——服务器响应快、页面不报错、内容有质量、结构能爬通,蜘蛛来了就有收获,下次就来得更勤。
上面那张数据表不是编的——同样是做了两年的站,开了API推送的A站一个月抓了2万次,什么都没做的C站只抓了300次。70倍的差距,就是通道开没开、技术配置对不对的区别。把这篇文章里的10条自检清单过一遍,该配的配好、该开通的开通,下个月去看站长平台的抓取统计,数字一定不一样。


