现在百度和360相继推出了链接自动推送代码,今天刚好在boke112导航看到《优化解决百度自动推送和360自动收录JS重复推送问题》这篇帖子,真的像他说的那样,百度还是360的这个JS工具都算是半产品,都没有考虑到重复推送问题,他的这篇帖子主要解决了wordpress程序重复推送的问题,我在他的基础上做了些修改运用到emlog程序中,测试可用分享给大家。
我是在之前的判断百度是否收录的基础上修改的,方法如下:
1.找到主题的module.php文件,在文件最底部添加如下代码
<?php //判断内容页是否百度收录及百度自动推送代码
function baidu($url){
$url='http://www.baidu.com/s?wd='.$url;
$curl=curl_init();curl_setopt($curl,CURLOPT_URL,$url);curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);$rs=curl_exec($curl);curl_close($curl);if(!strpos($rs,'没有找到')){return 1;}else{return 0;}}
function logurl($id){$url=Url::log($id);
if(baidu($url)==1){echo "<a rel=\"external nofollow\" title=\"本文已被百度收录\" target=\"_blank\" href=\"http://www.baidu.com/s?wd=$url\">本文已被百度收录!</a>";
}else{echo "<a>本文已提交百度!</a><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>";}}
?>
2.找到文章页面文件echo_log.php,在合适的位置添加以下代码:
<?php echo logurl($logid);?>
看看实际效果:
1.已收录文章的显示效果,且源码里没有推送代码,避免了重复推送
2.未收录文章的显示效果,源码里就会有自动推送代码,更快的被收录
文章作者:
王商博客,欢迎大家投稿:
https://www.blogs.hk/post-87.html 日期:2016年07月20日 06:09:48 星期二 分类:
好文分享 浏览(68740)
评论(2)本文地址:https://www.blogs.hk/post-951.html [
百度已收录]
声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
留言咨询