爬虫预算花光了,网站还没收录?你可能在给搜索引擎“打工”
你有没有试过:服务器跑得挺稳,日志里爬虫访问量刷刷涨,结果搜自己品牌词,首页还是空的?
我上个月帮一个做工业滤芯的客户看站,他每天花300块买CDN带宽,Googlebot一天抓5000次,可最新那篇讲“如何选对液压油滤芯”的干货,两周都没进索引——点开日志一看,前20名全是 /products?sort=price&stock=yes&page=7 这种URL。
这不是爬虫偷懒,是你没告诉它:哪儿该扫,哪儿该跳过。
你的爬虫预算,到底被谁偷走了?
爬虫预算不是你交的钱,而是搜索引擎愿意分给你的“抓取时间”。它像一杯水——倒得再猛,杯子就那么大。
真正把这杯水舀走的,往往是三类页面:
第一,参数堆出来的“幻影页面”。
电商、B2B官网最常见。一个产品页加 ?utm_source=weibo、?color=blue、?page=12,系统生成新URL,但内容几乎一样。爬虫不认人,只认链接,它真会一个个点进去看。
第二,凑数的“纸片页”。
比如分类页只列3个产品,配文是“欢迎访问我们的XX专区”;或者标签页标题叫“滤芯”,点进去只有两行字加个搜索框。这类页面没有信息增量,爬虫扫一遍就拉黑你整站的抓取权重。
第三,自己挖的“无底洞”。
分页写成 /news/1 → /news/2 → /news/3……一直链到 /news/999,中间没加 rel="next/prev",也没设 noindex。爬虫顺着爬,直到超时断连——它不是卡住了,是被你拖垮的。
我朋友公司做环保设备,博客有800多篇文章,但爬虫每周抓5000次,4200次落在12个标签聚合页上(每个页就2–3篇旧文)。核心产品页反而排在第47位才被扫到。
怎么判断爬虫预算够不够?看这两个指标
别信站长平台里那些“抓取次数”曲线图。你只需要盯紧两样东西:服务器日志 和 HTTP状态码。
第一步,查响应时间。
打开最近7天的 access.log,筛出 Googlebot 的请求,算下平均响应时间。如果超过1.5秒,爬虫会主动减少并发请求数——它不是生气,是怕你服务器崩。
第二步,数404和500的比例。
删过旧产品页但没做301?改过URL结构但没更新内链?这些漏掉的404,爬虫每次撞上都会记一笔。当404占比明显升高,它会觉得:“这站维护太糙”,然后默默调低预算。
第三步,盯住“已抓取未索引”这个数字。
在百度搜索资源平台或Google Search Console里,这个数据藏得深但最真实。如果它长期比“已索引”多一倍以上,说明爬虫来了,看了,摇头走了——问题不在预算,在内容本身。
我自己习惯周五下午抽15分钟:用脚本导出最近7天爬虫访问TOP 50的URL,挨个打开看。如果其中20个以上是 /tag/xxx 或 /list?page=xx 这种,当天就去改 robots.txt。
3个方法,把爬虫预算花在刀刃上
不用换服务器,不用买新工具,改几处配置,效果立竿见影。
方法一:用robots.txt当“守门员”,别当“保安队长”
别把 robots.txt 写成封禁大全。重点不是“不让爬什么”,而是“只让爬什么”。
该禁止的,是真没价值的:
- 后台路径(
/wp-admin/、/cgi-bin/) - 带 session_id、utm 参数的URL(
/product?session_id=xxx) - 分页超过15页的列表(
/products?page=16起直接 Disallow)
但别封死分类页和标签页。它们是爬虫的“楼梯”,封了,新文章就上不去。
实操建议:在 robots.txt 加这一行
Disallow: /*?*
再单独放行必要参数页,比如搜索页:
Allow: /search?
方法二:用 sitemap 给爬虫画“藏宝图”
sitemap 不是URL清单,是优先级说明书。
别把3000个页面塞进一个文件。按价值分三层:
- 第一层(高频更新):首页、核心产品页、解决方案页 → 单独建
sitemap-core.xml,每天提交 - 第二层(常规内容):技术文章、案例详情 →
sitemap-posts.xml,每周更新 - 第三层(长尾页面):老新闻、地域词页 →
sitemap-old.xml,每月更新一次
搜索引擎会优先抓第一层。你把新发布的“滤芯选型指南”放进去,它大概率24小时内就来。
之前有个做实验室耗材的客户,把新文章混在2000条旧链接里提交,等了11天才被收录。拆出来单提后,第二天就进了索引。
方法三:用“抓取频率”控制爬虫行为
爬虫不会反复抓同一个静态页。如果你发现某页被扫了几十次还不进索引,问题不在它,而在你没给信号。
马上能做的两件事:
- 在新文章
<head>里加<lastmod>,日期写当天,比如:爬虫看到“刚改过”,自然优先处理。<lastmod>2024-06-12</lastmod> - 对低价值页(如
/tag/replace-filter),在响应头加:
告诉爬虫:“这页一天一更,别天天跑”。Cache-Control: max-age=86400
注意:别全站统一设长缓存。爬虫会觉得你更新慢,整体降频。
预算分配的核心逻辑:不是“多抓”,而是“抓对”
很多人一急就加CDN、升服务器配置——结果爬虫来得更勤,垃圾页抓得更欢。
关键不是让它“少抓”,而是让它“不稀罕抓”。
比如你发一篇新文,爬虫每天来1000次。如果900次都落在三年前的旧帖上,新文只能等残羹剩饭。
那就让旧帖变“冷饭”:
- 把它的
<lastmod>锁死在发布日 - 从 sitemap 里移除
- 内链锚文本全部指向新文,旧文只留一个“相关阅读”小字链接
爬虫很快发现:旧帖内容不动、没人链、也不在地图上——不值得再来。预算自然流向新文。
我自己网站这么调过之后,新文章从平均5天收录,变成基本当天进索引。
今天就能做的1个操作:给你的日志“降噪”
别等明天,现在就打开终端。
打开你的 Nginx 或 Apache 日志,执行这行命令:
grep "Googlebot" access.log | awk '{print $7}' | sort | uniq -c | sort -nr | head -10
它会吐出最近爬虫访问最多的10个URL。
然后问自己:这10个里,有几个是我最想让它收录的?
如果超过一半是带 ? 的参数页、空分类页、或者 /tag/xxx 这种,说明预算正在漏。
接下来三分钟:
- 把这些URL复制下来
- 登录你正在用的后台(WordPress / 织梦 / 自研CMS),给它们加上
noindex标签,或直接在 robots.txt 里Disallow - 明早再跑一遍命令,看TOP 10有没有变干净
做完这一步,下周起,核心页面的抓取次数就会肉眼可见地涨起来。