❓ 常见问题

百度不收录?先按这 8 条排查

Google 能收录 ≠ 百度能收录。百度对 JavaScript 的执行能力弱得多,对境外服务器的抓取频次也低得多。下面按"最常见 → 最少见"排序。

1. 正文不在 HTML 里#

用浏览器打开文章页 → 右键"查看网页源代码" → 搜索正文中的一句话。搜不到就说明内容靠 JS 渲染,百度基本抓不到。

正确做法:正文、标题、内链全部服务端渲染。本项目所有公开页面都是 ISR 直出 HTML。

2. 蜘蛛被 CDN / WAF 拦了#

Cloudflare 的 Bot Fight、部分国内 CDN 的默认 UA 规则会把 Baiduspider 拒绝掉。检查服务器访问日志里有没有 Baiduspider:

bash
grep -i baiduspider /var/log/nginx/access.log | tail -20

如果一条都没有,先解决拦截问题,再谈其他优化。

3. 服务器在境外,抓取频次极低#

百度对跨境访问非常"吝啬"。想拿到正常的收录速度,国内服务器/国内 CDN + ICP 备案几乎是硬条件。

4. 主动推送没做#

sitemap 只是"告知",主动推送才是"催促"。在搜索资源平台拿到 token 后:

bash
curl -H 'Content-Type:text/plain' \
  --data-binary @urls.txt \
  "http://data.zz.baidu.com/urls?site=example.com&token=你的TOKEN"

本项目后台内置了这个功能:登录后台 → 点「提交全部 URL 到百度」,会把首页、栏目页与全部文章一次性推上去。

5. 分页 / 筛选链接是 JS 跳转#

<a href> 才算链接。用 onClick + router.push 做的分页,百度不认。列表页的分页必须是真链接。

6. 搜索页、tag 页产生大量空结果#

站内搜索结果页应该 noindex,否则会生成成千上万个近乎重复的空白页,拖累整站质量评分。

ts
export const metadata = { robots: { index: false, follow: true } };

7. 内链结构太浅#

首页 → 栏目页 → 文章,这是最容易被抓的三层。如果文章只能从"最新列表"翻到,老文章会长期停留在"已发现未收录"。

建议:栏目页、标签页、归档页、相关文章,都要有真实链接指向老文章。

8. 更新时间全是同一个#

所有文章 lastmod 相同、正文一次不改,百度会认为站点不活跃。定期更新老文章(补内容、改错字)比堆新文章更有效。

落地清单#

  • 查看源代码能搜到正文
  • 访问日志里有 Baiduspider
  • 已备案 + 国内节点
  • 搜索资源平台已验证站点
  • sitemap 已提交,且能正常访问
  • 后台已执行一次主动推送
  • 搜索页 noindex
  • 每篇文章都有来自栏目/标签/相关文章的内链

按顺序做完,剩下的就是等——通常 3 到 14 天会看到第一波收录。

评论

正在加载评论…

评论保存在本站 data/comments.json,不经过第三方。