新站上线3天了百度还是一条没收,把4个提交入口全走一遍第二天首页就出了词
刚做站那会儿有个疑惑一直没搞明白:域名解析上了、服务器通了、页面能正常打开了,Google蜘蛛第二天就爬了首页,百度那边却毫无动静。等了整整三天,site:域名还是空白。后来才发现,百度蜘蛛和Googlebot的发现机制不太一样——Google靠外链和域名权重就能快速发现新站,百度对新域名更依赖站长主动提交。
百度给了四个提交入口,但很多人只知道一个"手动提交URL"的文本框,另外三个基本没碰过。把这四个通道全跑通之后,当天蜘蛛就来了,第二天首页出了词。这篇文章把每个入口的具体操作、适用场景、以及多站点批量提交的方案理清楚。
百度提交四个入口,功能分工
| 1 | API推送(普通收录) — 最主要通道,单次最多2000条URL,新内容发布后第一时间推 |
| 2 | Sitemap提交 — 网站地图,告诉百度你有哪些页面、哪些是重要的 |
| 3 | 手动提交(普通收录) — 临时提交单条URL,只能一条一条加 |
| 4 | 快速收录 — 有门槛,需要站点达到一定质量分,每天10条额度但效率最高 |
一、API推送,所有提交方式里效率最高的一个

登录百度搜索资源平台(ziyuan.baidu.com),添加站点并完成所有权验证(推荐文件验证或CNAME验证,HTML标签验证有些CMS不支持)。验证通过后,进入"数据引入 → 普通收录 → API提交",你会看到一个专属的接口调用地址,格式大致是:http://data.zz.baidu.com/urls?site=你的域名&token=你的token。
这个地址就是你的提交通道。只要向它POST一组URL,百度就会来爬。单次最多2000条,不限每天调用次数,但实际有效的推送量取决于你站点的质量。用curl测试一下:
curl -H "Content-Type:text/plain" --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=example.com&token=你的token"其中urls.txt里每行一个完整URL。返回结果会告诉你成功推送了多少条、剩余配额还有多少。正常返回是{"remain":49900,"success":100}这种格式,表示成功了100条,还有49900条额度。
实际业务场景中,大多数人不会每次都手动拼curl命令。更常见的做法是把API推送嵌到网站发布流程里:WordPress可以在functions.php里加一个hook,文章发布或更新时自动把URL推到百度;用Node.js的站点可以写个GitHub Action,push代码触发构建后顺便推一次。Python脚本也很简单:
import requestsurls = ["https://www.example.com/page1.html","https://www.example.com/page2.html",]api_url = "http://data.zz.baidu.com/urls?site=www.example.com&token=你的token"resp = requests.post(api_url, data="\n".join(urls))print(resp.json()) # {'remain': 49800, 'success': 200}几个需要注意的点:URL必须是完整的,包括https://;每行一条,换行分隔;不要重复提交已经收录的页面,百度对重复提交有限制;如果你的站点内容质量差,提交再多也不一定收录,API只是加速发现,不是保收录。
二、Sitemap提交,百度了解你网站结构的入口
API推送是"有新内容了我告诉你",Sitemap是"这是我整站的地图,你看看有哪些页面"。两者不冲突,建议都提交。进入"数据引入 → Sitemap",把你网站sitemap.xml的URL填进去就行。百度支持标准的XML Sitemap格式,也和Google Sitemap完全兼容。
Sitemap文件里除了URL本身,还可以标注每个页面的更新频率(changefreq)和优先级(priority),百度爬虫会根据这些信息分配抓取资源。一个典型的sitemap.xml长这样:
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://www.example.com/</loc><changefreq>daily</changefreq><priority>1.0</priority></url><url><loc>https://www.example.com/about</loc><changefreq>monthly</changefreq><priority>0.6</priority></url></urlset>Sitemap几个实际建议:
· 如果站点URL超过50000条,分多个Sitemap,用Sitemap Index索引文件统一管理
· 内容页的priority设低一点(0.5-0.7),首页和核心栏目页设高(0.8-1.0),引导爬虫优先抓重要页面
· Sitemap提交后如果页面内容发生了重大更新,重新提交一次让百度感知变化
· 很多CMS(WordPress的Yoast SEO、Rank Math等)会自动生成并更新Sitemap,基本不需要手动维护
Sitemap还有一个隐藏作用:你可以通过它告诉百度"哪些页面是新的"。如果Sitemap里的URL百度之前没见过,它会更积极地安排抓取。所以内容更新频繁的站点,保持Sitemap的实时性比一次性提交重要得多。
三、手动提交和快速收录,两个容易被忽视的通道
手动提交在"数据引入 → 普通收录 → 手动提交",就是一个文本框,输入一条URL点提交。这个入口适合什么场景?临时加了一篇重要文章,不想写代码调API,直接粘贴URL就推了。但它只能一条一条加,没有批量能力,站点超过20个页面就别指望靠手动了。
快速收录(原"天级收录")是一个更高效但门槛更高的通道。它在"数据引入 → 快速收录",每天只有10条额度,但提交的URL会在24小时内被优先处理。前提是站点必须达到一定的质量分——百度有一套内部的评估标准,大概涉及原创内容比例、页面质量、更新频率等。不是所有站都有这个入口,如果你的后台看不到,说明站点还没达标。
快速收录的额度怎么分配?每天10条,建议用在刀刃上:新发的重要原创内容、时效性强的资讯页、核心落地页改版后的新URL。不要浪费在列表页、标签页这些低价值页面上。
还有一个很多人不知道的细节:百度站长平台后台有一个"自动推送"JS代码,把它放到网站页面里,用户访问页面时JS会自动把URL推给百度。这个方式的触发频率不稳定——取决于你的访问量,没人访问就不推送。但作为补充通道,有比没有强,尤其是流量还不错的站点。

四、四种提交方式的适用场景对比
| 提交方式 | 单次上限 | 触发方式 | 最佳场景 | 门槛 |
|---|---|---|---|---|
| API推送 | 2000条/次 | POST接口调用 | 日常更新、批量页面、自动化流程 | 低,会写curl就行 |
| Sitemap | 50000条/文件 | 后台提交URL | 整站结构、大量页面首次提交 | 低,有sitemap文件就行 |
| 手动提交 | 1条/次 | 后台文本框 | 临时补一条重要URL | 无 |
| 快速收录 | 10条/天 | 后台手动或API | 时效性强的重要内容 | 高,站点需达标 |
实际组合使用策略:API推送做日常主力,每次发新内容自动推;Sitemap做基础兜底,确保百度知道你有多少页面;快速收录做重点突破,新发的重要文章用这10条额度;手动提交做应急补漏,偶尔发现漏了哪条随手补上。
五、多站点怎么批量提交
如果只有一个站,上面四步走完就差不多了。但手上如果有10个、20个甚至更多站,每个站都手动去后台提交一遍就很痛苦。多站点批量提交有几个思路:
方案一:统一脚本循环
把每个站点的API地址和token存在配置文件里,Python脚本遍历推送。每个站发布新内容后触发一次,一个脚本管所有站。
方案二:CMS内置推送
WordPress可以用插件(如Baidu Links Submit),每个站装一个,配置好token后发文章自动推,不用额外写代码。
方案三:GitHub Action定时推
把sitemap解析和API推送写成Action,每天定时跑一次。适合静态站点,改内容自动部署+自动推送一条龙。
方案四:建站系统统一推送
如果用的是多站管理系统,系统层面统一对接百度API。内容发布时自动识别归属站点,用对应token推送,不用逐个站配置。
多站点场景下,Token管理是核心问题。每个站在百度后台的token都不一样,要确保推送时token和站点域名一一对应,否则推送会失败。建议用配置文件或环境变量集中管理:
# config.json{"sites": [{"domain": "www.site-a.com", "token": "abc123"},{"domain": "www.site-b.com", "token": "def456"},{"domain": "www.site-c.com", "token": "ghi789"}]}脚本遍历这个配置,对每个站分别调用推送接口。注意在两次调用之间加一点间隔(sleep 1-2秒),避免请求频率太高被百度限流。
六、提交之后,怎么确认百度有没有来爬
提交只是第一步,百度来没来爬、爬了多少、收录了没有,这些需要跟踪。三个常用的确认方式:
1. 看服务器日志
提交后1-2小时内,grep一下nginx/access.log里有没有Baiduspider的访问记录。如果有,说明百度收到了你的提交并且来爬了。
2. 看百度站长平台后台
"数据引入 → 普通收录"页面下方有提交记录,能看到每次推送的成功条数。如果一直显示success但site:还是空的,说明百度爬了但没收录——可能是内容质量问题。

3. 看索引量变化
后台"数据监控 → 索引量"可以按天查看收录页面的数量变化。提交后如果索引量有明显增长,说明推送有效果。如果提交了很多但索引量纹丝不动,排查一下页面质量或robots封禁。
还有一个很多人忽略的检查点:robots.txt。提交之前确保你的robots.txt没有禁止百度蜘蛛抓取关键目录。有些站长在开发阶段把整站Disallow了,上线后忘记改回来,提交再多URL也没用。
七、提交过程中最容易犯的几个错误
提交了非200状态的URL
404、301跳转、500错误的页面提交给百度,不仅白费额度,还会降低百度对你站点的信任度。提交前先确认URL可正常访问。
同一URL反复提交
已经收录的页面不需要重复推。百度对同一URL的重复提交有检测机制,频繁重复可能导致推送权限被限制。
大量低质量页面一起推
采集站、空内容页、大量模板化页面一次性全推上去,百度可能会降低对整个站点的抓取频率。建议优先推原创和有实质内容的页面。
Token泄露到前端
有人把百度推送的JS代码直接贴在前端页面里,token暴露了。这个token被滥用可能导致你的推送权限被收回。token只放在服务端。
还有一个不太容易注意到的点:URL中包含中文字符或特殊符号时,一定要URL编码后再提交。百度API对未编码的URL处理可能出问题,导致推送成功但实际没生效。推荐用Python的urllib.parse.quote或JavaScript的encodeURIComponent处理一下再推。
八、手工推送和系统自动化推送的效率差距
有一个对比值得算一下。一个站每天更新5篇文章,一个月150篇。如果每次更新后手动去百度后台提交URL,每次操作大概30秒(打开后台、找到提交入口、粘贴URL、点提交、确认结果),一个月光提交这一件事就要花掉75分钟。20个站就是25个小时——将近一整天的工作时间全部用来做"粘贴URL点提交"这个动作。
| 对比维度 | 手工逐个提交 | 脚本/系统自动推送 |
|---|---|---|
| 单站月耗时(150篇) | 约75分钟 | 0分钟(发布时自动触发) |
| 20站月耗时 | 约25小时 | 0分钟 |
| 提交延迟 | 数小时到数天(看什么时候想起来去提交) | 秒级(发布即推送) |
| 漏提交概率 | 高(靠人记总有忘的时候) | 零(代码不会忘) |
| 多站Token管理 | 逐个登录切换 | 配置一次,自动匹配 |
这也是为什么多站运营做到一定规模后,要么自建推送脚本统一管,要么用建站系统把推送能力内建到发布流程里。比如用UC建站系统管理多站内容时,发布文章后系统自动识别该文章归属哪个站点、用对应的百度token推送到API,同时同步触发IndexNow推给Bing和Yandex。Sitemap也是系统自动维护的,新增页面、删除页面、修改优先级,不用人手动改xml文件。推送结果和索引量变化统一汇总到多站看板里,哪个站提交异常、哪个站索引量掉了,一个页面就能看到,不用逐个站切后台。
说穿了,提交这件事本身没什么技术含量,难的是"持续做"和"不出错"。单站时手动提交是可行的,站一多,靠人记、靠手点迟早出问题。要么写脚本自动化,要么找系统把这件事收了。
最后说一句
百度提交这件事,本质上就是把"蜘蛛自己发现"变成"你主动告诉蜘蛛"。四个入口各有各的适用场景,API推送做主力、Sitemap做兜底、快速收录做重点突破、手动提交做应急补漏。关键不是"提交了一次",而是"每次有新内容都提交",把这个动作从人工变成自动,才是真正省力气的做法。
另外要摆正预期:提交只是让百度知道你有这些页面,收录不收录、排不排名,还是看内容质量。提交了不收录,先查robots和页面状态码,再自查内容是否太薄、是否有大量重复。提交通道是加速器,不是收录保证书。
