百度站长平台收录配置完整流程(sitemap + 主动推送)
新站上线后最常问的问题就是「为什么百度搜不到我的网站」。百度不会自动、快速地发现新域名,需要主动告诉它站点存在,并且持续供给内容。
第一步:验证站点归属
打开百度搜索资源平台,添加站点后选一种验证方式:
- 文件验证:下载
baidu_verify_xxxx.html,放到网站根目录 - CNAME 验证:加一条 DNS 记录
- meta 标签验证:在
<head>里加一行
验证文件在生产环境能访问才算成功。本站用的是文件 + meta 双重验证,<head> 里那行:
<meta name="baidu-site-verification" content="codeva-xxxx" />
第二步:robots.txt 别把自己的路堵死
最小可用配置:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/
Sitemap: https://example.com/sitemap.xml
几个常见错误:
Disallow: /写成全站禁止(复制模板忘了改)- sitemap 地址写成
http://或者带www,和主域名不一致 - 站点有多个域名,robots 只在一个域名下存在
第三步:提交 sitemap
在「普通收录 → 资源提交 → sitemap」里填 https://example.com/sitemap.xml。
提交后不是立刻生效,百度会按自己的节奏抓取,通常几天到两周。sitemap 必须真实可访问,返回 404 或 403 都会导致整批不处理。
如果用 Next.js,注意 npm run build 才会生成 sitemap(详见静态导出的坑),只跑 next build 的话 out/sitemap.xml 是不存在的。
第四步:API 主动推送
sitemap 是「被动等抓取」,API 推送是「主动告诉百度这个 URL 更新了」,收录速度明显更快。
在「普通收录 → API 提交」里拿到 token,然后 POST:
curl -H 'Content-Type:text/plain' \
--data-binary @urls.txt \
"http://data.zz.baidu.com/urls?site=https://example.com&token=你的token"
urls.txt 一行一个 URL。返回结果类似:
{ "remain": 9, "success": 1 }
remain 是今日剩余配额。未备案站点配额很小,通常只有个位数到几十条,所以推送要用于新文章,而不是每次全量推一遍。
用 Node 批量推送并做去重:
const res = await fetch(
`http://data.zz.baidu.com/urls?site=${SITE}&token=${TOKEN}`,
{ method: "POST", headers: { "Content-Type": "text/plain" }, body: urls.join("\n") }
);
const data = await res.json();
建议把已推送的 URL 和时间记在本地文件里,24 小时内不重复提交,避免浪费配额。
第五步:确认是否真的收录
- 「普通收录 → 索引量」看总量变化
- 用
site:你的域名在百度搜索框验证 - 「抓取诊断」可以手动让百度抓一次,返回状态码和 HTML
如果抓取诊断返回 200 但一直不收录,通常是内容质量或重复度问题,不是技术问题。
收录慢的常见原因
| 现象 | 可能原因 |
|---|---|
| 抓取诊断 404 | 页面路径错误、sitemap 里有不存在的 URL |
| 返回 403 | 服务器拦截了百度蜘蛛 UA,或 CDN 有防爬策略 |
| 返回 200 但不收录 | 内容太薄、重复、缺少正文结构 |
| 索引量持续下降 | 站点大量页面失效、改版没做 301 |
| 只收录首页 | 内链太少,爬虫找不到其他页面 |
内容层面的建议
技术上做到「可抓取」只是及格线。要真正获得流量,还需要:
- 标题包含用户真实搜索的词,不要用「关于本站的 xx」
- 每篇至少 3 个二级标题,结构清晰
- 正文不少于 1000 字,有具体步骤和截图
- 文章之间互相链接,形成内链网络
- 定期更新旧文章(改内容比发新文更能提升权重)
常见问题
新站多久能被收录?
提交 sitemap 后通常几天到几周。新域名有考察期,前几个月收录慢是正常现象。
主动推送要不要每天都推?
不要。只推新发布或大幅修改的页面,重复推送同一 URL 不会加速,还会浪费配额。
未备案的域名能收录吗?
能收录,但配额和抓取频率会低一些,速度明显慢于备案站。
sitemap 里的 URL 要带结尾斜杠吗?
和网站实际路径保持一致。如果站点用的是 /blog/ 形式,sitemap 里就不要写成 /blog,否则会造成一次多余的 301。
百度统计和百度站长是一回事吗?
不是。站长平台负责收录和抓取,统计负责访问数据分析,两个都要配,账号体系可以共用。