近一个朋友的网站出现了一个小的问题, 百度收录的格式,不是伪静态后的格式,是wordpress默认的格式。 经过排查后,原因是没有正确的使用了百度的js推送代码。
使用伪静态后的代码一般是 .html 结尾的。比如可能是
https://www.liuhaolin.com/xxx/831.html
不应该是这样的的形式
https://www.liuhaolin.com/?p=831
具体的原因
添加百度统计代码后,进行了预览操作(查看一下文章的终展示效果),这个时候,百度js推送的代码就起作用了。所以必须在进行预览的时候,不能显示百度的统计代码。
修改的方法
进行预览的操作的时候,说明用户已经登陆了,所有,仅仅对没有登陆的用显示这段js即可。
<?php if(!is_user_logged_in()): ?>
<script>
(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);
})();
</script>
<?php endif; ?>
使用上面的代码,先判断一下用户是否登陆,没有登陆再输出自动推送的代码。