链接提交-js代码推送进化版详解程序员
百度站长平台提供链接索引的自动提交JS脚本已经有一段时日了。用百度自己的话讲:JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用。安装代码的页面在任意平台(浏览器、微信、微博)被加载时,页面链接会被第一时间推送给百度,从而提高站点新内容的发现速度。
是不是很神奇?我们再来回顾一下,这代码长成这样:
(百度JS链接推送代码)
只要把这段代码放入你的每个页面中,每当用户访问这些页面时,就会通过这段脚本从百度下载一个1 1的gif,同时记录页面此时此刻的URL地址。
自动推送脚本的性能考虑
通过这段脚本我们可以看出:
1、它先是判断了目前的协议类型是https还是其他类型(如,http,ftp等)
2、然后下载了百度官方的一个js文件
3、再然后它将js文件的内容生成一个脚本块插入到当前页面中
4、最后会运行这个脚本块
我们可以访问这两个js文件查看其内容,也就是短短的一行。它会读取这样一个gif。
这里我们可以发现两个问题:
其二是该脚本会提交目前URL,但是许多URL会是动态URL,会带各种参数。虽然百度爬虫也有自己的判断方法,但无疑这增加了其负担。
于是,为了解决这两个问题,笔者咨询了好友柴云翔同时是前端开发的大牛。在大牛的帮助下,我们有了下面这个改良版本。
改良版本的百度索引自动推送脚本
这个改良的脚本长下面这样,如果你对js一窍不通,那么请用下图 script /script 部分(行6~30)替换原来百度官方的代码。
(改进后的百度索引链接自动提交脚本)
在上图中已加入了注释,下面开始代码解说。
这个新脚本的作用是多了一步查看页面的canonical URL的步骤。我们知道canonical属性表示该页面纵有千种URL的花样,请搜索引擎只认准href中给出的URL值。这样一来就不会让搜索引擎为了同一个页面(或许已经索引了)多次检查你的推送页面具体内容。
这个新脚本的另一个更改是直接将上述两个js的内容拿了出来。由于这两个js中的代码其实是静态的,每次都去调用并不必要。另一方面,我们需要对r的值进行更改,将它更改为canonical URL的值,因此这样解决了我们上面的第二个问题。
相关文章
- node.js异步请求大坑
- 百度上线轻量级链接提交组件 可自动推送JS代码
- Js生成二维码_js在线生成二维码
- Vue.js – 引入外部 JS 文件
- get两个js小技能——JS截取视频第一帧&图片转Base64
- 如何使用jscythe并通过Node.js的Inspector机制执行任意JS代码
- 一行js代码实现字符串加密解密
- JS实现无刷新倒计时详解编程语言
- 统计有多少行JS代码和ASP代码
- 注释的艺术——JS里直接写HTML,无需转义
- 用js实现的打字效果的带链接的新闻标题
- 创建一个复制UBB软件信息的链接或按钮的js代码
- 兼容FireFox的js日历支持时间的获取
- Extjs中使用extend(js继承)的代码
- js借助ActiveXObject实现创建文件
- js获取url参数代码实例分享(JS操作URL)
- JS实现判断滚动条滚到页面底部并执行事件的方法