百度自动推送代码如何正确安装配置?

wen IT资讯 53

本文目录导读:

百度自动推送代码如何正确安装配置?

  1. 核心原理
  2. 第一步:获取代码
  3. 第二步:正确安装(关键位置)
  4. 第三步:验证是否生效(重要)
  5. 常见错误与排查
  6. 补充建议(配合使用效果更好)

百度自动推送代码(通常指 自动推送JS百度站长平台的自动收录工具)是目前最简单、最主流的百度收录提交方式,它通过在页面加载时自动将当前URL推送给百度,实现“页面被访问即被提交”。

以下是正确安装与配置的详细步骤及注意事项:

核心原理

用户访问你的网站 -> 浏览器加载这段JS代码 -> 代码执行,把当前页面URL发送给百度服务器 -> 百度收到URL并加入抓取队列。


第一步:获取代码

  1. 登录百度站长平台(现称“百度搜索资源平台”):ziyuan.baidu.com
  2. 验证站点:确保你的网站已经过“文件验证”或“CNAME验证”或“HTML标签验证”。
  3. 找到代码
    • 进入站点后台 -> 左侧菜单栏找到 “资源提交” -> “自动提交”
    • 在“自动推送”模块下,你会看到一段类似下面的 JS 代码:
<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>

第二步:正确安装(关键位置)

错误做法:只放在首页。 正确做法必须放在网站所有页面的公共模板中(如:footer.htmlheader.htmlbase.html)。

不同平台的安装方法:

  • 传统多页网站(PHP/ASP.NET/JSP)

    • 找到公共头文件或底文件(include/footer.php),在 </body> 标签关闭之前粘贴上述代码。
    • 位置要求:建议放在 </body> 前,不要放在 <head> 里(虽然技术上可以,但放在底部不影响页面加载,且百度推荐放在body闭合前)。
  • CMS系统(WordPress、织梦、帝国等)

    • WordPress:进入后台 -> 外观 -> 主题文件编辑器 -> 找到 footer.php 文件,在 </body> 之前粘贴。
    • 织梦DedecCMS:找到 /templets/你的模板名/footer.htm,或在后台“模板管理”中编辑,同样在 </body> 前粘贴。
    • 如果使用插件(如“All in One SEO”、“Yoast SEO”等),很多自带“自定义脚本”功能,可以直接在插件设置中添加。
  • 单页应用 / Vue / React

    • 原生写法:放在 index.html</body> 之前。
    • 框架方法:在 Vue 中,放在 App.vuemounted 生命周期里动态插入;在 React 中,放在 index.js 或根组件的 componentDidMountuseEffect 中。
    • 关键点:确保每次路由切换时都能触发推送,可以使用 vue-routerafterEach 钩子或 react-routeronUpdate 回调,手动重新执行代码。

第三步:验证是否生效(重要)

安装完成后,不要只看首页。打开一个内页(如文章页、产品页)

  1. 检查控制台(F12 -> Console):
    • 如果看到 百度自动推送: xxx 或类似带 push.js 的网络请求信息,通常说明生效。
  2. 检查Network(F12 -> Network):
    • 过滤 push,如果看到 push.js 文件被加载,且状态为 200,说明代码正常加载。
  3. 查看百度站长后台
    • 进入“资源提交 -> 自动提交”页面。
    • 查看 “自动推送数据” 曲线,如果安装正确,1-2天内会开始出现“提交量”数据。

常见错误与排查

现象 可能原因 解决方法
后台提交量为0 代码只放在首页,没放内页模板 将代码复制到所有页面的公共模板中
代码无法加载 网站使用了HTTPS,但代码中的push.js是HTTP地址 确保代码中包含 if(curProtocol === 'https') 的判断逻辑(官方代码自动处理)
控制台提示404 你的服务器或CDN没允许加载zz.bdstatic.com 在服务器安全组或CDN白名单中添加 zz.bdstatic.compush.zhanzhang.baidu.com
单页应用无效 未在路由变化后重新执行推送 使用 Vue RouterafterEachReact RouteruseEffect 手动调用 (new Image()).src = '//api.share.baidu.com/s.gif?r='+encodeURIComponent(document.referrer)+'&l='+encodeURIComponent(window.location.href) 或直接重复插入那段script
已安装但收录慢 自动推送提交的是“URL”,百度不一定立即抓取,只是进入队列 耐心等待(通常1-2周),同时检查网站内容质量、内链结构、robots.txt是否屏蔽

补充建议(配合使用效果更好)

  1. 不要同时使用多个推送插件或重复代码:同一页面插入多次自动推送代码可能导致数据异常。
  2. 搭配Sitemap提交:在百度站长后台,同时提交 Sitemap(站点地图),这是最稳定的主动提交方式。
  3. 主动推送API(高级):如果你有开发能力,可以在发布新文章时,使用百度主动推送API(接口形式,非JS),即时性比自动推送高得多。

把自动推送代码放在网站所有页面的 </body> 标签前(而不是只放首页),然后打开一个内页验证Network是否有push.js请求,最后去百度站长后台查看提交量曲线。

抱歉,评论功能暂时关闭!