解决emlog百度链接自动推送重复提交问题

摘要

现在百度和360相继推出

现在百度和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.未收录文章的显示效果,源码里就会有自动推送代码,更快的被收录

百度链接自动推送

文章作者:王商博客,欢迎大家投稿: http://likinming.com/post-87.html

发表评论

注意:本博客开启缓存,你的评论一般2小时后才能看到,如是广告,评论将无法显示!

目前评论:2 条

  1. avatar Universe
    回复 2016-07-20 12:24  沙发

    在emlog上比较实用。

    • avatar 大力支持

      @Universe:大力支持大力支持大力支持大力支持大力支持大力支持