同一个网站,上个月发了50篇文章,按理说应该都收录了。你去百度站长平台后台一看,索引量曲线波动挺大但看不出每篇文章的收录状态;你打开5118的收录查询工具,输入域名能看到总收录量和最近变化趋势;你想知道具体哪篇文章没收录,就只能一条一条手动site——50篇还行,500篇就崩溃了。
这就是收录查询最尴尬的地方:粒度越细的工具覆盖面越窄,覆盖面越广的工具粒度越粗。没有哪个单一方案能同时做到"批量查询几千条URL每条是否收录"+"实时准确"+"免费无限制"。但如果你把几种方案组合起来用,就能搭出一个成本可控、覆盖日常需求90%的收录监控体系。
收录查询的三种粒度,对应三种工具类型
这三种粒度是递进关系——域名级告诉你大盘趋势,URL级告诉你细节问题,提交级告诉你做了多少动作。日常运营中三件事都离不开。
域名级:看趋势、定方向
百度站长平台索引量(免费,数据最准)
百度自家后台的索引量数据是所有工具里最准确的,因为它直接读的百度索引库。在站长平台"流量与关键词→索引量"页面可以看到近90天的索引量曲线,支持分目录查看(移动端/PC端/不同的子目录),也能看到每日新增索引和流失索引的数量。
但索引量有一个时间差——通常是T+2或T+3,今天查不到昨天的数据。而且索引量≠site结果,site命令的结果通常比索引量少一大截。

5118收录查询(免费有限额,付费可批量)
5118的收录查询功能输入域名就能看到百度日收录/周收录/月收录/总收录数据,还能看到收录趋势图。免费版每天有查询次数限制,付费会员可以查更多域名。5118的优势是同时支持百度、360、搜狗、头条四个搜索引擎的收录数据,一站对比。
易连数据收录查询API(付费,适合接入自有系统)
如果你想把收录数据接入自己的后台系统做自动化监控,易连数据的收录查询API是目前比较成熟的第三方选择。调用一次返回指定域名的百度收录量、最近7天趋势、移动端和PC端分别的收录数据。价格按调用次数计费,适合有一定技术能力的团队。
调用示例(简化):
响应:{"收录量":15230, "移动收录":8920, "PC收录":6310, "趋势":[{...}]}
URL级:逐条查,精确到每一篇文章
域名级知道总量后,真正让人头疼的是找出没收录的那几篇。这时候就需要URL级别的批量查询。
万千站长工具(免费,支持几千条批量+API接口)
万千站长工具(zztool.com)的百度收录批量查询是同类工具里做得比较扎实的:
· 后台粘贴URL列表(一行一条),点查询后逐条检测百度site结果
· 支持查询结果导出Excel,收录的标记为"已收录",没收录的标记为"未收录"
· 提供离线查询模式——上传一次URL列表后,可以随时回来查看结果,不需要重新跑
· 有API接口,可以对接自己的系统做自动化查询
· 免费版单次查询上限约500条,对于大多数个人站长足够用了
它的检测逻辑是模拟百度site指令,如果搜索结果中出现了目标URL则判定为已收录。准确度取决于百度的反爬策略——查询量大时偶尔会有误判。
批量site查询的三个坑
1. 百度反爬限制。短时间内大量site查询会被百度拦截,返回验证码页面。所以批量查询工具通常会加延时(每查一条等2-3秒),查500条就需要15-25分钟。如果你用Python自己写脚本,务必加随机延时和代理IP轮换。
2. site结果不稳定。同一个URL你查三次site,可能第一次有、第二次没有、第三次又有。这不是工具的问题,是百度搜索结果的缓存机制。所以批量查出来的"未收录"结果,建议隔24小时再查一次确认。
3. 新URL的收录窗口。新发布的页面,百度从抓取到建立索引通常需要3-7天,快的1-2天,慢的2周以上。刚发出来就去查收录大概率是"未收录",不是文章有问题,是时间没到。
Python自建脚本(免费,灵活但需要技术能力)
有Python基础的话,自建收录检测脚本是最灵活的方式。核心逻辑不复杂:
from bs4 import BeautifulSoup
import time
import random
def check_baidu_index(url):
headers = {'User-Agent': 'Mozilla/5.0...'}
search_url = f"https://www.baidu.com/s?wd={url}"
resp = requests.get(search_url, headers=headers, timeout=10)
soup = BeautifulSoup(resp.text, 'html.parser')
# 检查页面是否包含目标URL
return url in resp.text
# 批量查询,每条间隔2-4秒
for url in url_list:
result = check_baidu_index(url)
time.sleep(random.uniform(2, 4))
自建脚本的好处是完全可控——你想查多少条、用什么延时、结果存哪里、要不要加多线程、要不要支持Google/搜狗,全由自己决定。坏处也很明显:需要持续维护,百度改版就要跟着改解析逻辑,反爬策略升级就要加代理。
提交级:提交不等于收录,但它告诉你差在哪一步
很多人以为"提交给百度=等着收录就行",但实际上从提交到收录中间有抓取、解析、索引三个环节,每个环节都可能失败。
百度站长平台主动推送API(免费,单次2000条)

这是百度官方提供的接口,每个站点每天有推送配额(根据站点质量动态分配)。调用方式很简单:
Content-Type: text/plain
http://www.example.com/article1.html
http://www.example.com/article2.html
返回结果会告诉你:成功推送了几条、剩余配额还有多少。但推送成功≠收录成功。推送只是通知百度"这里有新内容",百度会不会来抓、抓了会不会索引、索引了会不会展示,都不确定。
所以主动推送API更适合做"提交状态监控"——你知道哪些URL已经提交、哪些还没提交,提交了多久还没收录的可以重点排查。
Google Indexing API(免费,每日200条配额)
Google的Indexing API比百度的更进一步——不仅能提交URL,还能查询URL的索引状态。调用一次就能知道某个URL在Google是已索引、未索引还是索引中。免费版每天200条配额,对于小站够用,大站需要付费扩容。
Google Indexing API的一个关键限制:它只支持JobPosting和BroadcastEvent两种类型的页面。如果你的网站不是招聘信息或直播活动页,调用Indexing API会返回"不支持的页面类型"错误。这是很多人踩过的坑。对于普通文章页面,Google推荐用sitemap提交。
提交后没收录,问题通常出在这三个环节
· 抓取环节:页面被robots.txt屏蔽、服务器响应太慢(超过2秒百度可能放弃抓取)、页面需要JavaScript渲染但百度爬虫不支持JS。在百度站长平台"抓取诊断"里可以手动检测某个URL是否能被正常抓取。
· 解析环节:页面内容太少(低于200字的页面百度大概率不索引)、大量重复内容(与站内或站外其他页面高度相似)、标题和内容不匹配。
· 索引环节:网站整体质量评分低(新站、外链少、内容质量差)、被算法判定为低质站点或采集站、历史有作弊记录。
四种免费工具的能力边界对比
怎么搭一套完整的收录监控体系
把上面这些工具串起来,日常运营中的收录监控可以拆成三个频率:
每周一次:域名级趋势监控
打开百度站长平台看索引量曲线。如果曲线持续上升→正常。如果突然下跌→排查最近是否有大量页面被删除、是否有服务器宕机导致抓取失败、是否被算法降权。同时在5118上看多引擎对比,确认是百度单独的问题还是所有搜索引擎都受影响。
每批新内容发布后:URL级逐条检测
每次发完一批新文章(比如一周发了20篇),7天后用万千站长工具批量查一次收录。标记出未收录的URL,两周后再查一次。两次都没收录的,去百度站长平台"抓取诊断"手动检测抓取状态,看是抓不到还是抓了不索引。
发布当天:提交状态确认
每篇新文章发布后,通过主动推送API提交给百度。如果API返回success,至少知道"百度已经收到通知了"。如果没有返回success,排查token是否过期、域名是否验证、配额是否用尽。
收录这件事,工具帮你看到"哪里没收录",但解决"为什么不收录"靠的不是工具。绝大多数收录问题的根因不在查询工具选哪个,而在内容质量本身——页面内容是否足够独特、是否有信息增量、是否解决了搜索者的问题。工具能给你一张"没收录的URL清单",但把清单里的URL一个个变成"已收录",还是要回到内容本身去修。
如果非要给工具排个优先级:百度站长平台(免费、数据最准)+ 万千站长工具(免费、URL级批量)+ 一套自建收录监控脚本(灵活、可扩展),三样加起来就是绝大多数网站日常收录监控的最优解。
