手动打开百度站长平台一条一条贴链接和用API推送+网站地图+sitemap索引,同样1000条链接,前者最快要两个半小时还容易漏,后者3分钟全搞定收录率还高出40%
做过站群或者内容站的都遇到过同一个问题:网站明明更新了,搜索引擎就是不收录。打开百度站长平台,手动复制粘贴URL,一条一条点提交,100条链接能贴半个小时。200条呢?500条呢?
快速对照:四种提交方式的效率差
| 方式 | 1000条耗时 | 收录率(参考) | 门槛 |
| 手动逐条提交 | 2.5小时+ | 基准线 | 零门槛 |
| Sitemap提交 | 5分钟(一次配置) | 基准线+15%~20% | 低 |
| API主动推送 | 3分钟 | 基准线+30%~40% | 中(需写脚本) |
| IndexNow协议 | 实时(毫秒级) | 基准线+40%~50% | 中高(需配置密钥) |
这还不算最坑的。手动提交不仅慢,还容易出错——少复制一位、多一个空格、把已收录的页面重复提交浪费额度,这些事干过一次就再也不想干第二次。
现在主流搜索引擎都开放了API推送接口,百度有普通收录API和快速收录权限,Google有Indexing API,Bing有IndexNow协议和Webmaster API。关键是你要知道怎么把这些接口串起来,一次性把几千条链接推过去,而不是每天登录后台点点点。

一、百度站长平台的三种提交通道,大部分站只用对了第一种
百度搜索资源平台(ziyuan.baidu.com)提供了三种链接提交方式,但很多站长验证完站点、提交了首页sitemap就以为完事了。
1. Sitemap提交:基础中的基础,但不是实时生效
Sitemap相当于给百度蜘蛛画了一张地图,告诉它"我网站有这些页面,你来爬"。提交sitemap.xml之后,百度会定期来抓取,但这个周期不稳定——可能几小时,也可能几天。
适用场景:网站整体结构提交,新站上线后第一次让搜索引擎认识你。单次提交就行,后续靠自动更新。
Sitemap的问题在于:①百度抓取频率不可控;②如果一个sitemap文件里放了5万条URL,百度可能只抓前几千条;③不能指定"这条最重要,先抓这条"。
2. 普通收录API推送:每天几千条额度,是最实用的方式
普通收录API是百度站长平台的核心推送接口。一个经过验证的站点,每天可以推送一定额度的URL(根据站点质量动态调整,大多数站点几千条/天)。通过HTTP POST请求把链接列表发过去,百度会在几分钟到几小时内处理。
Python脚本示例(百度普通收录API批量推送):
import requests# 百度站长平台的API推送地址(替换成你自己的site和token)API_URL = "http://data.zz.baidu.com/urls?site=你的域名&token=你的token"# 要推送的URL列表(每次最多2000条)urls = ["https://你的域名/article/1.html","https://你的域名/article/2.html","https://你的域名/article/3.html",# ... 更多URL]headers = {"Content-Type": "text/plain"}# 百度API要求:POST数据格式是每行一个URL,用\n分隔data = "\n".join(urls)response = requests.post(API_URL, data=data.encode("utf-8"), headers=headers)result = response.json()print(f"推送成功: {result.get('success', 0)} 条")print(f"今日剩余额度: {result.get('remain', '未知')} 条")这段代码可以直接复制,把域名和token换成你自己的,urls列表填上要推送的链接,运行就行了。比后台手动贴快100倍。
3. 快速收录权限:需要申请,但收录效果最好
快速收录是百度给部分优质站点的特权,提交后通常在几分钟内就能被收录。但这个权限不是默认开放的,需要在站长平台申请,百度会根据站点质量、更新频率、内容原创度来审核。
注意
快速收录每天有10条的额度限制,不是让你批量推几千条用的。它的价值在于:当天发布的重要文章立刻让百度收录。日常批量推送还是要靠普通收录API。
二、Google Search Console + Indexing API,一天能推200条
Google这边的情况和百度类似,但接口和工具生态更成熟。
Sitemap提交到GSC
Google Search Console后台直接提交sitemap地址,Googlebot会按sitemap里标注的优先级和更新频率来抓取。这是最基本的,不需要代码。
Google Indexing API:适用于Job Posting和Broadcast Event类型页面
Google Indexing API官方的定位是给"时效性强"的页面用的——招聘信息、直播活动页面。但实际上很多站长用它推普通文章也能触发Google的快速索引。每天额度200条。

关键步骤:
- 在Google Cloud Console创建项目,启用Indexing API
- 创建服务账号,下载JSON密钥文件
- 在Google Search Console中把服务账号邮箱添加为网站所有者
- 用Python调用API批量推送
Python调用Google Indexing API示例:
from google.oauth2 import service_accountfrom googleapiclient.discovery import build# 加载服务账号密钥credentials = service_account.Credentials.from_service_account_file("你的服务账号密钥.json",scopes=["https://www.googleapis.com/auth/indexing"])service = build("indexing", "v3", credentials=credentials)# 推送单条URL(循环调用可实现批量)url_to_push = "https://你的域名/new-page.html"body = {"url": url_to_push,"type": "URL_UPDATED" # URL_UPDATED 或 URL_DELETED}response = service.urlNotifications().publish(body=body).execute()print(f"推送结果: {response}")说个现实情况:Google Indexing API每天的200条额度对于几十万页面的内容站来说杯水车薪。它的正确用法是:挑当天新发布的、最重要的页面来推,而不是把所有链接都塞进去。大站的主力还是靠sitemap+优质内容自然抓取。
三、Bing + IndexNow,一个协议推给Bing和Yandex两家
IndexNow是Bing和Yandex联合推的实时索引协议,2019年上线,现在已经有越来越多的搜索引擎支持。最大的好处是:提交一次,Bing和Yandex同时收到。
IndexNow不需要在Bing后台单独申请API Key,而是用你自己服务器上一个简单的key文件来做身份验证。
IndexNow提交(一行curl命令):
# 先在你的网站根目录放一个key文件# https://你的域名/你的indexnow-key.txt# 内容是纯文本,随便生成一串32位以上的字符# 用curl提交URLcurl -X POST "https://api.indexnow.org/indexnow" \-H "Content-Type: application/json" \-d '{"host": "你的域名","key": "你的key文件内容","keyLocation": "https://你的域名/你的indexnow-key.txt","urlList": ["https://你的域名/page1.html","https://你的域名/page2.html","https://你的域名/page3.html"]}'IndexNow一次请求可以提交多条URL,没有明确的数量上限(但建议每次不超过1万条)。提交后几分钟内Bing就会来爬。对于做外贸站、面向海外用户的网站,Bing的流量不能忽视——Bing在美国搜索市场份额已经超过25%,加上Yahoo用Bing的搜索结果,覆盖面其实不小。
四、三大引擎API一键推送脚本,一个Python文件搞定
上面三个引擎分开推送还是有点麻烦。把百度、Google、Bing三个接口写到一个Python脚本里,每次更新内容后跑一次,三边同步提交。
import requestsimport json# ========== 配置区 ==========BAIDU_SITE = "你的域名"BAIDU_TOKEN = "百度站长平台获取的token"GSC_JSON_KEY = "google-service-account.json" # Google服务账号密钥文件BING_HOST = "你的域名"BING_KEY = "你的indexnow-key"BING_KEY_LOC = f"https://{BING_HOST}/你的indexnow-key.txt"# 要推送的URL列表URL_LIST = ["https://你的域名/new-article-1.html","https://你的域名/new-article-2.html",]# ========== 百度推送 ==========def push_baidu(urls):api = f"http://data.zz.baidu.com/urls?site={BAIDU_SITE}&token={BAIDU_TOKEN}"resp = requests.post(api, data="\n".join(urls).encode("utf-8"),headers={"Content-Type": "text/plain"})return resp.json()# ========== Bing/IndexNow推送 ==========def push_indexnow(urls):api = "https://api.indexnow.org/indexnow"payload = {"host": BING_HOST,"key": BING_KEY,"keyLocation": BING_KEY_LOC,"urlList": urls}resp = requests.post(api, json=payload)return resp.status_code# ========== 执行推送 ==========if __name__ == "__main__":baidu_result = push_baidu(URL_LIST)print(f"百度推送结果: {baidu_result}")bing_status = push_indexnow(URL_LIST)print(f"Bing/IndexNow推送状态: {bing_status}")# Google Indexing API推送(需要安装google-api-python-client)# 见上文Google部分代码,循环调用即可print("全平台推送完成!")把这个脚本放到服务器上,配合crontab定时任务,每天自动跑一次:
# 每天早上8点自动推送前一天新发布的链接0 8 * * * cd /你的项目目录 && python3 push_all.py >> push.log 2>&1五、WordPress站点的自动化方案,连脚本都不用写
如果你用的是WordPress,上面的脚本基本不用写。几款成熟的插件能搞定链接的自动生成和自动推送:
| 插件/工具 | 支持引擎 | 核心功能 | 免费/付费 |
| Rank Math SEO | Google、Bing、百度 | 自动生成sitemap、集成IndexNow、支持百度推送API配置 | 免费版够用 |
| Yoast SEO | Google、Bing | 自动生成XML Sitemap、支持GSC集成 | 免费版够用 |
| 百度搜索推送管理 | 百度 | 发布文章自动推送到百度、支持批量推送历史文章 | 免费 |
| IndexNow Plugin | Bing、Yandex | 发布/更新文章自动通过IndexNow推送 | 免费 |
| Google Site Kit | 官方插件,GSC数据直接显示在WP后台 | 免费 |
Rank Math SEO是目前功能最全面的选择,装一个插件等于同时搞定了sitemap生成、IndexNow推送、百度API推送三件事。发布文章的时候勾选"提交到搜索引擎",插件自动把新链接推出去。
小贴士
百度推送API的token在WordPress插件里的配置路径:百度搜索资源平台 → 站点管理 → 普通收录 → 推送接口。拿到token后填入Rank Math或百度搜索推送管理插件即可。

六、批量提交前必须处理的三件事,不然推了也白推
不是把所有链接一股脑推给搜索引擎就完事了。推送前的准备工作直接决定收录率。
1. 链接去重和清洗
同一篇文章如果有多个URL(比如带参数的/?p=123、带分类的/category/post-name、带追踪参数的?utm_source=xxx),推给搜索引擎就是在浪费额度。搜索引擎会认为你在制造重复内容。
去重标准:
- 去掉所有带问号参数的URL(除了必要的分页参数)
- 同一个页面只保留规范的URL(canonical URL)
- 去掉已经301跳转的旧链接
- 去掉404页面
2. 确认页面状态码都是200
把404页面推给搜索引擎,不仅不会收录,还会降低站点质量评分。批量推送之前,先用工具跑一遍所有链接的状态码。
简单脚本检查链接状态:
import requestsfrom concurrent.futures import ThreadPoolExecutordef check_url(url):try:r = requests.head(url, timeout=10, allow_redirects=True)return url, r.status_codeexcept:return url, "ERROR"urls = ["https://你的域名/page1.html", "https://你的域名/page2.html"]with ThreadPoolExecutor(max_workers=20) as executor:results = executor.map(check_url, urls)ok_urls = []for url, code in results:if code == 200:ok_urls.append(url)else:print(f"跳过: {url} (状态码: {code})")print(f"有效链接: {len(ok_urls)} 条,可以推送")3. 确保页面内容不空、不重复
空白页面、内容过少的页面、大量重复内容的页面,推了也不会被收录,反而拉低站点质量。推送前筛选标准:
- 正文内容至少500字
- title和description标签完整
- 页面内有实际的原创文字,不是纯采集或翻译
- 没有大段复制粘贴的内容
七、推送频率和额度的正确用法
❌ 错误做法
- 把全站几万条链接一次性全推
- 同一批链接每天重复推送
- 推送404、跳转链接、空白页
- 用同一个token同时开多个进程推(会被限流)
- 推送采集站、镜像站的低质量页面
✓ 正确做法
- 每天推送当天新发布的页面,控制在额度内
- 同一条URL只推一次,不重复推送
- 推送前过滤掉非200状态码的链接
- 优先推送原创、高质量、时效性强的页面
- 新站前三个月重点推,老站维持日常推送节奏
各平台额度参考:
| 平台 | 每日额度 | 适用场景 |
| 百度普通收录API | 动态调整,通常数千条/天 | 日常文章推送 |
| 百度快速收录 | 10条/天 | 重要时效内容 |
| Google Indexing API | 200条/天 | 新发布重要页面 |
| IndexNow (Bing) | 无明确上限 | 所有页面,实时推送 |
| Sitemap | 无上限 | 全站URL,被动等待抓取 |
八、三个容易踩进去的推送坑
坑1:推送了但没收录,反复推同一批链接
推送不等于收录。搜索引擎会综合评估页面质量,质量差的页面推10次也不会收录。反复推送已提交但未收录的链接,不仅没用,还可能触发反作弊机制。
推送后24小时没收录,先检查页面质量(内容是否原创、标题是否重复、页面加载速度是否正常),而不是继续推送。
坑2:把所有搜索引擎的推送接口用一个脚本全打通,结果百度推送的URL格式Google不认
百度的推送接口接收的是纯文本(每行一个URL),IndexNow接收的是JSON格式,Google Indexing API是单独的API调用格式。三个接口的数据格式不一样,不能混用。
坑3:没有监控推送结果,推了几个月都不知道成功率
推送之后要回看推送日志,重点关注:
- 每次推送了多少条,成功了几条
- 推送成功的链接中,有多少在7天内被收录
- 哪些类型的页面收录率高,哪些低
在百度站长平台后台可以看到推送数据和收录曲线。Google Search Console的"覆盖率"报告也能看到索引状态。Bing Webmaster Tools同样有URL提交报告。
最后说两句
链接批量提交这件事,核心不在工具,在流程。Sitemap负责兜底(全站URL),API负责加速(新发布页面),IndexNow负责实时(Bing侧)。三者搭配,各司其职。别把推送当成万能药——页面内容不行,推到搜索引擎面前人家也不收。另外,用UC建站这类平台的话,后台一般集成了自动推送功能,发布文章后自动提交到百度、Bing,不需要单独写脚本配置,日常运维会省不少事。
