开发者社区> lyrical> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

对推送代码进行简单优化

简介:
+关注继续查看

百度自动推送代码让用户每次浏览该页面的时候都会向百度提交一次。省去了站长的人工操作,能有效提升了收录效率。
代码如下

(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);
})();

它首先是用if函数判断了当前浏览的网址协议是经过SSL加密过的https或者是其他类型的网址,根据不同的类型分别访问了2个JS文件。之后会将访问的JS文件内容生成脚本插入到当前的url页面中,运行该脚本则会读取对应的一个非常小体积的gif图像,在这个过程中将url地址推送到百度中。
如果url为动态地址,带有许多参数,这样每次将同一页面的不同动态url提交会不太利于优化,可以用canonical标签

(function(){
var canonicalURL, curProtocol;
//Get the <link> tag
var x=document.getElementsByTagName("link");
//Find the last canonical URL
if(x.length > 0){
for (i=0;i<x.length;i++){
if(x[i].rel.toLowerCase() == 'canonical' && x[i].href){
canonicalURL=x[i].href;
}
}
}
//Get protocol
if (!canonicalURL){
curProtocol = window.location.protocol.split(':')[0];
}
else{
curProtocol = canonicalURL.split(':')[0];
}
//Get current URL if the canonical URL does not exist
if (!canonicalURL) canonicalURL = window.location.href;
//Assign script content. Replace current URL with the canonical URL
!function(){var e=/([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,r=localcanonicalURL,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);})();

用canonical标签指定了蜘蛛唯一爬取的链接,再多的动态url也不烦恼
直接跳过js脚本访问gif路径,提升代码运行效率

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
H5分享截图方案优化
如何利用web实现移动端高还原度富图文分享?
0 0
Fundebug 微信小程 BUG 监控插件更新至 1.2.1,优化错误上报次数的限制算法
摘要: 1.2.1优化错误上报次数的限制算法,新增silentHttpHeader配置选项,请大家及时更新哈! Fundebug提供专业的微信小程序 BUG 监控服务,可以第一时间为您捕获生存环境中小程序的异常、错误或者 BUG,及时给开发者发送报警,帮助您快速修复 BUG。
1155 0
推送流程图
   推送流程图                                               捐助开发者 在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。
668 0
如何用ABAP代码的方式在短时间内批量生成大量订单数据用于性能测试
如何用ABAP代码的方式在短时间内批量生成大量订单数据用于性能测试
0 0
优化一对一直播源码接口性能,从哪一项开始
一对一直播源码在进行接口优化最主要的方式,就是根据问题发生的原因,选择合适的解决方案,提升功能使用体验。
0 0
+关注
lyrical
小白一枚
文章
问答
文章排行榜
最热
最新
相关电子书
更多
十分钟上线-使用函数计算构建支付宝小程序服务
立即下载
QQ移送页面框架优化实践
立即下载
QQ移动页面框架优化实践
立即下载