找回密码
 立即注册
搜索

站长福利(百度)自然搜索链接主动推送工具升级版代码明细

[复制链接]
发表于 2017-10-25 21:40:06
站长福利(百度)自然搜索链接主动推送工具升级版代码明细 百度为了解决网站的收录问题以前上线了主动推送代码,当网页被访问时网页的地址会推送至百度服务器。
百度站长工具里提供的主动推送代码:
  1. // 当前在百度站长工具中的主动推送代码
  2. <script>
  3. (function(){
  4.     var bp = document.createElement('script');
  5.     var curProtocol = window.location.protocol.split(':')[0];
  6.     if (curProtocol === 'https') {
  7.         bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';        
  8.     }
  9.     else {
  10.         bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  11.     }
  12.     var s = document.getElementsByTagName("script")[0];
  13.     s.parentNode.insertBefore(bp, s);
  14. })();
  15. </script>
复制代码
在上述推送代码中访问时会加载两个JavaScript脚本, 如果你查看脚本内容的话会发现其实也只是加载Gif图。

加载的同时会将窗口所在地址提交给百度搜索服务器, 但追求极致的开发者可以继续优化推送代码减少加载。

于是百度站长社区给出了升级版的代码:(代码来源见标题下的来源地址)

  1. // 升级版的百度主动推送代码
  2. <script>
  3.         (function(){
  4.                 var canonicalURL, curProtocol;
  5.                 //Get the  tag
  6.                 var x=document.getElementsByTagName("link");
  7.                 //Find the last canonical URL
  8.                 if(x.length > 0){
  9.                         for (i=0;i<x.length;i++){
  10.                                 if(x[i].rel.toLowerCase() == 'canonical' && x[i].href){
  11.                                         canonicalURL=x[i].href;
  12.                                 }
  13.                         }
  14.                 }
  15.                 //Get protocol
  16.             if (!canonicalURL){
  17.                     curProtocol = window.location.protocol.split(':')[0];
  18.             }
  19.             else{
  20.                     curProtocol = canonicalURL.split(':')[0];
  21.             }
  22.             //Get current URL if the canonical URL does not exist
  23.             if (!canonicalURL) canonicalURL = window.location.href;
  24.             //Assign script content. Replace current URL with the canonical URL
  25.             !function(){var e=/([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,r=canonicalURL,t=document.referrer;if(!e.test(r)){var n=(String(curProtocol).toLowerCase() === 'https')?"https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif":"//api.share.baidu.com/s.gif";t?(n+="?r="+encodeURIComponent(document.referrer),r&&(n+="&l="+r)):r&&(n+="?l="+r);var i=new Image;i.src=n}}(window);})();
  26. </script>
复制代码
升级版的推送代码直接将原本调用的脚本内容拿了出来,因为本身这两部分内容就是静态的没必要分别调用。

同时如果网页头部带有Canonical属性的话那么会强调该属性, 也就是将指向的网址提交百度搜索的服务器。

这种情况下即使网页存在多个不同形式的地址也只会推送原地址,避免因重复推送和重复内容导致被降权了。

因为网站管理员和开发者可以直接将原推送代码换成新版, 新版加载更优秀同时可避免可能存在的重复问题。







上一篇:Windows 10 Version 1709 秋季创意者KB4043961号累积更新补丁下载
下一篇:Android 8.1 将增添对加密DNS协议的支持
应知应会;
1,本站所有资源均由by;搬砖 亲测其安全性,然后发布到社区!!!
2,本站只有by;搬砖 可以发布资源,大家放心下载使用!!!
3,可能有些注册机报毒属于正常情况(站长已测其安全性)!!!
5,链接失效了请加QQ群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则