罗田县升平网络工作室,一家专业从事网站建设的工作室

资讯论坛

 找回密码
 加入论坛

快捷登录

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。
查看: 999|回复: 0

百度自动推送代码JS自动推送进化版

[复制链接]

694

主题

735

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
19765
发表于 2019-8-1 19:52:09 | 显示全部楼层 |阅读模式
  百度站长平台提供链接索引的自动提交 JS 代码脚本。用百度自己的话讲:JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用。安装代码的页面在任意平台(浏览器、微信、微博)被加载时,页面链接会被第一时间推送给百度,从而提高站点新内容的发现速度。
  今天IT粉丝网分享的这个自动推送 JS 代码 进化版来自百度站长学院
  先来看看百度站长默认的自动推送 js 代码是这样的:
  
  1. <script>
  2.   (function(){
  3.   var bp = document.createElement('script');
  4.   var curProtocol = window.location.protocol.split(':')[0];
  5.   if (curProtocol === 'https') {
  6.   bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';        
  7.   }
  8.   else {
  9.   bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  10.   }
  11.   var s = document.getElementsByTagName("script")[0];
  12.   s.parentNode.insertBefore(bp, s);
  13.   })();
  14.   </script>
复制代码

  只要把这段代码放入你的每个页面中,每当用户访问这些页面时,就会通过这段脚本从百度下载一个1x1的gif,同时记录页面此时此刻的URL地址,然后推送给百度。
  使用百度默认的代码有两个问题:
  第一 这段脚本先后会调用两个百度资源,这造成了冗余,不利于页面加载速度。
  第二 该脚本会提交目前URL,但是许多URL会是动态URL,会带各种参数。虽然百度爬虫也有自己的判断方法,但无疑这增加了其负担。
  于是,为了解决这两个问题,笔者咨询了好友柴云翔同时是前端开发的大牛。在大牛的帮助下,我们有了下面这个改良版本。
  


  1. <script> (function() {
  2.     var canonicalURL, curProtocol;
  3.     //Get the <link> tag
  4.     var x = document.getElementsByTagName("link");
  5.     //Find the last canonical URL
  6.     if (x.length > 0) {
  7.         for (i = 0; i < x.length; i++) {
  8.             if (x[i].rel.toLowerCase() == 'canonical' && x[i].href) {
  9.                 canonicalURL = x[i].href;
  10.             }
  11.         }
  12.     }
  13.     //Get protocol
  14.     if (!canonicalURL) {
  15.         curProtocol = window.location.protocol.split(':')[0];
  16.     } else {
  17.         curProtocol = canonicalURL.split(':')[0];
  18.     }
  19.     //Get current URL if the canonical URL does not exist
  20.     if (!canonicalURL) canonicalURL = window.location.href;
  21.     //Assign script content. Replace current URL with the canonical URL
  22.     !
  23.     function() {
  24.         var e = /([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,
  25.         r = canonicalURL,
  26.         t = document.referrer;
  27.         if (!e.test(r)) {
  28.             var n = (String(curProtocol).toLowerCase() === 'https') ? "https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif": "//api.share.baidu.com/s.gif";
  29.             t ? (n += "?r=" + encodeURIComponent(document.referrer), r && (n += "&l=" + r)) : r && (n += "?l=" + r);
  30.             var i = new Image;
  31.             i.src = n
  32.         }
  33.     } (window);
  34. })();
  35. </script>


复制代码

  这个新脚本的作用是多了一步查看页面的canonical URL的步骤。我们知道canonical属性表示该页面纵有千种URL的花样,请搜索引擎只认准href中给出的URL值。这样一来就不会让搜索引擎为了同一个页面(或许已经索引了)多次检查你的推送页面具体内容。
  这个新脚本的另一个更改是直接将上述两个js的内容拿了出来。由于这两个js中的代码其实是静态的,每次都去调用并不必要。另一方面,我们需要对r的值进行更改,将它更改为canonical URL的值,因此这样解决了我们上面的第二个问题。
  IT粉丝网看到这个版本好处在于推送的链接是 canonical 标签属性里面的链接,对于网站链接有过改版的网站是友好的,不会重复推送链接,上面的代码适用于任何网站!
  需要注意的是使用这个改进版,百度默认的推送代码不能变,如果默认的自动推送代码改变,这个也会失效!
  个人认为这个代码适用自适应站更好,因为自适应站手机版和PC版地址相同,通过canonical标签重新定义了标准的链接,那些带参数的,直接就不再进行提交。如果是m.XXX.com这样的,和www.XXX.com这样的网站,一般移动端会canonical会指向PC端链接。按这种方法不会提交手机版,觉得并不恰当。
打赏鼓励一下!
回复

使用道具 举报

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。

浏览排行

(38463)2019-11-5 公共云钱包资金盘骗局揭秘: 网络传销+原始股骗局合体!

(22233)2019-12-20 12月17日 邓智天法院直播庭审疑问全解答!

(20722)2019-12-1 环保币GEC资金盘骗局最新消息: 即将崩盘!

(17244)2019-11-9 巨胸肥臀大长腿,嫩模糯美子真人COS不知火舞福利污图

(15868)2018-12-24 罗田县人民法院公布【第五批失信被执行人名单】 ...

(14972)2019-11-3 曝光!PTFX已经崩盘跑路,投资者血流成河!

(13018)2019-8-7 湖北电力网上缴费,支付宝绑定户号的初始密码是什么?

(12480)2018-10-17 罗田县人民政府“12345”市民服务热线服务指南

(11170)2019-12-11 公安定性了, 趣码是非法传销! 趣码怎么退回365元?

(11081)2019-12-15 满足你对女同事的幻想 风骚秘书阿朱销魂眼神勾魂摄魄

最新发表

[升平网络工作室]2025-8-23 [2025-08-23]罗田天气预报

[升平网络工作室]2025-8-23 西藏自治区成立60周年庆祝大会隆重举行 习近平出席大会

[升平网络工作室]2025-8-23 县委委员会召开查摆问题整改整治情况汇报会

[爱查小程序]2025-8-22 [爱查]在线听音乐操作说明

[升平网络工作室]2025-8-22 [2025-08-22]罗田天气预报

[升平网络工作室]2025-8-22 习近平率中央代表团抵达拉萨出席西藏自治区成立60周年庆祝活动

[升平网络工作室]2025-8-22 县关工委联合经济开发区开展“情系学子”助学活动 助力职工子女圆梦大学

[升平网络工作室]2025-8-21 2025年罗田县卫健系统赴高校公开招聘事业单位工作人员拟聘用人员公示公告

[升平网络工作室]2025-8-21 [2025-08-21]罗田天气预报

[升平网络工作室]2025-8-21 县安防委2025年度第三次全体(扩大)会召开

QQ|Archiver|手机版|小黑屋|资讯论坛BBS.SPW8.CN ( 鄂ICP备2021011341号-3 )|网站地图


手机扫一扫继续访问
[免责声明]
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。

进入社区 | 发表新帖 | 百度收录 |
技术提供:罗田县升平网络工作室
站长Email:admin@spw8.cn
投诉电话(刮开查看):15374567400

GMT+8, 2025-8-23 17:01 , Processed in 0.314317 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表