百度站长平台推出链接提交自动推送JS代码

建站笔记1年前 (2023)发布 小萝卜头
590 0 0

张戈博客之前分享过百度的各种链接提交推送的代码或插件,有原创代码,也有改良插件:

WordPress 发布文章主动推送到百度,加快收录保护原创
WordPress 百度链接主动提交插件:Baidu-links-submit 优化版
BaiduSubmit:百度 WordPress 结构化数据插件(改进版)

不过都是基于 WordPress 建站程序的,其他建站程序不免只能捶胸顿足无奈乎…

不过,前几天偶然在百度执行 site 命令时,发现百度又推出了新鲜玩意,点开一看发现不错,公告内容如下:
亲爱的网站管理员:
为了更快速的发现站点每天产生的最新内容,百度站长平台推出了技术门槛更低的 JS 自动推送工具。站长只需一步安装便可实现页面自动推送,成本低、收益高,弥补了部分站长反馈的使用主动推送方式提交时技术门槛较高的问题。
自动推送 JS 代码是百度站长平台最新推出的轻量级链接提交组件,站长只需将自动推送的 JS 代码放置在站点每一个页面源代码中,当页面被访问时,页面链接会自动推送给百度,有利于新页面更快被百度发现。
按照经验,打开百度站长平台,点击【链接提交】栏目,果然发现多了一个自动提交选项:

简单看了下,发现部署非常简单,只要将如下 js 代码添加到网站的每一个前台页面即可,最值得称赞的是支持所有 html 页面,而不再受限于建站程序!

<script>
(function(){
var bp = document.createElement('script');
bp.src="https://push.zhanzhang.baidu.com/push.js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>

如果你不知道放到哪,那么最简单的方法就是将上述代码放到你平常用于站点访问统计的代码旁边,比如 CNZZ 的站点统计。当然,其实就是将代码放置到建站程序的公用部分即可,比如 header 或 footer 等公共模块。
从页面加载优化来说,则建议放置到 footer 模块内,让其后置加载请求。
百度也终于开窍了一次,php 也好,asp 也好,都受限于开发语言,总是无法一劳永逸。这次推出这个 js 推送方案就真正实现了全面兼容了。
这段代码的工作原理也非常简单:基于自动推送的实现原理问题,安装代码的页面在任意平台(浏览器、微信、微博)被加载时,页面链接会被第一时间推送给百度,从而提高站点新内容的发现速度。无需站长汇总 URL 再进行主动推送操作。借助用户的浏览行为来触发推送动作,省去了站长人工操作的时间。
那么,当你部署此代码后,每次发布文章后,只要第一时间访问一下文章页面,即可在前台触发推送机制,将最新文章推送给百度。

按照百度的说法:
自动推送和链接提交有什么区别?
已经在使用链接提交的网站还需要再部署自动推送代码吗?
二者之间互不冲突,互为补充。已经使用主动推送的站点,依然可以部署自动推送的 JS 代码,二者一起使用。
什么样的网站更适合使用自动推送?
自动推送由于实现便捷和后续维护成本低的特点,适合技术能力相对薄弱,无能力支持全天候实时主动推送程序的站长。
站长仅需一次部署自动推送 JS 代码的操作,就可以实现新页面被浏览即推送的效果,低成本实现链接自动提交。
同时,我们也支持主动推送和自动推送代码配合使用,二者互不影响。
貌似张戈博客经常提到的“重复推送数据到百度,会导致文章进入收录沙盒”的说法又不那么坚定了。从上面的 FAQ 来看,百度倒是提倡多种链接推送同时使用,互为补充。
但是,按照经验来看,感觉不那么靠谱,个中曲直就自己把握了,我觉得二者选其一即可。
问题补充:
顺便看了下百度这段 js 的代码:
//push.zhanzhang.baidu.com/push.js 代码如下:

var baiduSiteReg = /([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,
pageUrl = window.location.href;
if (!baiduSiteReg.test(pageUrl)) {
var url = "//api.share.baidu.com/s.gif?r=" + encodeURIComponent(document.referrer),
img = new Image;
img.src = url
}

发现是利用 referrer 来获取页面地址的。然后,在 network 中看了下请求地址是如下形式:
http://api.share.baidu.com/v.gif?l=http%3A%2F%2Fzhang.ge%2F5069.html
给一个图片传参?好吧,表示没看懂工作原理。但是,我突然醒悟了一件事情,通过 JS 获取页面地址其实也挺坑的,比如某篇文章是:
https://zhang.ge/5066.html
那么该文章的分页就是:
https://zhang.ge/5066.html/comment-page-2/#comments
如果用 js 来推送,势必后面的页面也有可能被推送。也就是说,js 推送的方式很可能就会推送一些我们不想被收录的页面,并没有 php 代码那么精准!
当然,如果你的网站任何页面都想被收录,那么也就无所谓了。

收录于{张戈博客} 原文链接原文链接

© 版权声明

相关文章

暂无评论

暂无评论...