你辛辛苦苦写了10篇深度干货,结果谷歌只索引了首页和About页面——连你最得意的那篇《B2B销售漏斗拆解》都还在“待爬”队列里。别急着改标题或堆外链,先看看你的 crawl budget 是不是正被一堆“幽灵页面”悄悄吃掉。
你的 crawl budget 到底被谁偷走了?
Crawl budget 不是银行账户里的固定余额,它每天都在变:网站跑得越快、越稳定,谷歌就越愿意多来几次;网站越大、越权威,每次来的“胃口”也越大。但它不会主动判断——哪个页面该优先抓?哪个链接点进去全是重复内容?它不管。
我帮一个做工业软件的客户查日志时发现,谷歌bot每天有近一半抓取请求都落在同一个URL上:/products/?sort=price&order=desc&page=1。这个链接后面跟着几十个分页和排序组合,但内容几乎一样。蜘蛛以为是新页面,其实只是同一张表格换个顺序刷出来。
这类“假新页面”还有不少:带参数的筛选页(比如 ?category=cloud®ion=apac)、无限滚动加载的列表、标签页生成的重复归档、甚至404页面本身——只要它还能被链到,蜘蛛就可能去试一次。
3个方法找出浪费抓取配额的页面
方法一:从 Google Search Console 的“页面索引”报告入手
打开 GSC → 左侧菜单选“页面”→ 点“索引状态”标签页。重点看“已收录但未被索引”的那一栏。这些页面已经进了谷歌的抓取队列,却迟迟没进搜索结果——它们占着坑,不干活,还白耗资源。
方法二:翻服务器日志,看蜘蛛真正在忙什么
如果你用的是 Apache 或 Nginx,直接下载最近3天的 access.log。在终端里跑这行命令:
grep "Googlebot" access.log | awk '{print $7}' | sort | uniq -c | sort -nr | head -20
结果排在前几位的如果都是 /search/、/category/ 带参数的路径,基本可以确定问题出在哪类页面上了。
方法三:用 Screaming Frog 模拟蜘蛛行为
打开 Screaming Frog → 输入你的域名 → 开启“Spider Mode” → 抓完后点“Response Codes”标签页,筛出响应时间超过3秒的URL。这些页面蜘蛛很可能刚打开一半就放弃了——既没抓全,又占了一次配额。我们优化过一个SaaS官网,把几个关键落地页的响应时间压到1秒内,后续一周内核心页面的抓取成功率明显提升。
如何区分“必须抓”和“可以不抓”的页面
别想着让蜘蛛多爬点,先让它少走弯路。
- 必须抓的页面:首页、核心产品页、解决方案页、转化率高的博客(比如《如何选CRM》《B2B合同谈判 checklist》这类实操向内容)。
- 可以缓抓的页面:老版本白皮书(比如2022年版行业报告)、已下线产品的历史页、过期促销专题页。
- 直接禁抓的页面:所有带问号的URL(
?后面跟参数的)、搜索结果页(/search/)、隐私政策、登录页、404页面、以及任何没有独立价值的分页(?page=2、?offset=20)。
把这些该禁的路径,一条条写进 robots.txt。比如:
Disallow: /search/
Disallow: /privacy/
Disallow: /*?
注意:robots.txt 是指令,不是建议。谷歌bot看到就会停步,不试探,不犹豫。
网站速度对 crawl budget 的影响比你想象的大
谷歌自己说过:如果一个页面抓取超时(通常指5秒以上),蜘蛛会中断并标记为失败。更麻烦的是,频繁超时会让谷歌主动降低对你整个网站的抓取频率——就像快递员连续三次敲门没人应,下次干脆少送几趟。
有个做ERP实施服务的客户,首页加载要7秒多。GSC 显示它每天只被爬12次左右。团队做了三件事:换CDN、压缩首屏图片、把关键CSS内联。一个月后首页加载压到1秒内,抓取频次直接拉到了每天40+次。
查速度不用装新工具:打开 Chrome,按 F12 → 切到 Network 面板 → 刷新首页 → 看顶部横条里的“Finish”时间。目标是控制在3秒内。顺便点开任意一个JS或CSS文件,检查响应头里有没有 Last-Modified 或 ETag。如果没有,说明每次蜘蛛来都要重新下载整份文件——哪怕内容根本没变。
链接结构如何影响抓取效率
蜘蛛是从首页出发,顺着 <a> 标签一层层往下爬的。它不识图、不读JS、也不点“加载更多”。如果你的产品页藏在“解决方案 > 行业方案 > 制造业 > 设备管理 > 实施案例 > 某客户详情”,那蜘蛛很可能还没点到第五层,当天的配额就用完了。
两个现实解法:
- 把所有核心页面(产品页、高价值博客、定价页)放在导航栏、页脚或面包屑里,确保3次点击内可达;
- 检查那些靠 JS 渲染的链接——比如用 React/Vue 动态生成的
<router-link>或onClick跳转。蜘蛛看不到它们。换成<a href="/blog/xxx">这种原生链接,或者至少加个rel="canonical"和静态<link>预加载。
之前有个技术博客全站用 React + 客户端路由,GSC 里索引量长期卡在20页。改成服务端渲染(SSR)后,两周内索引页数涨到200+,新增的全是正文页。
用站点地图引导蜘蛛的抓取优先级
sitemap.xml 不是交差用的摆设。它是你给蜘蛛画的一张“重点区域地图”。
<priority>标签虽然只是建议,但实测有效:把最新发布的行业分析、主力产品页设成1.0,旧文档、公司介绍页设成0.5,蜘蛛确实会更勤快地回访高优页面;- 别把所有URL一股脑塞进站点地图。自动生成功能很省事,但也容易把
/tag/seo//page/3//search?q=test全包进去。手动删掉这些; - 进阶操作:把站点地图拆成几个小文件,比如
sitemap-core.xml(放首页、产品页、核心博客)、sitemap-blog.xml(只放近6个月更新的博客)、sitemap-static.xml(放关于、联系页)。然后在robots.txt里统一声明:Sitemap: https://yoursite.com/sitemap-core.xml Sitemap: https://yoursite.com/sitemap-blog.xml
今天就能执行的3个操作步骤
第一步:打开 Google Search Console → 点左侧“页面”→ 进入“索引状态”报告 → 找到“已收录但未被索引”的URL列表 → 复制前20个 → 逐个打开,看是不是参数页、搜索页或空内容页 → 如果是,立刻编辑你网站根目录下的 robots.txt,加上对应 Disallow 规则。
第二步:打开你的网站首页 → 按 F12 → 切到 Network 面板 → 刷新 → 看顶部“Finish”时间。如果超过3秒,点开耗时最长的那个资源(通常是大图或JS),右键“Open in new tab”看看能不能直接下载 → 去 tinypng.com 压缩图片,或把非首屏JS加上 defer 属性。
第三步:用文本编辑器打开你当前的 sitemap.xml → 找到 <url> 块里 <loc> 是核心产品页或最新博客的条目 → 在它下面加上 <priority>1.0</priority> → 把所有带 ?、/page/、/search/ 的URL整行删掉 → 保存后上传到服务器,再回到 GSC → “站点地图”页面 → 点“提交”按钮刷新提交。