腾讯云服务器优惠活动华纳云香港服务器

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

现在百度和360相继推出了链接自动推送代码,今天刚好在boke112导航看到《优化解决百度自动推送和360自动收录JS重复推送问题》这篇帖子,真的像他说的那样,不管是百度还是360的这个JS工具都算是半产品,都没有考虑到重复推送问题,他的这篇帖子主要解决了WordPress程序重复推送的问题,我在他的基础上做了些修改运用到emlog程序中,测试可用分享给大家。

解决emlog百度链接自动推送重复提交问题-第1张-boke112百科(boke112.com)

我是在之前的判断百度是否收录的基础上修改的,方法如下:

1.找到主题的module.php文件,在文件最底部添加如下代码:

  1. <?php //判断内容页是否百度收录及百度自动推送代码
  2. function baidu($url){
  3. $url=’http://www.baidu.com/s?wd=’.$url;
  4. $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;}}
  5. function logurl($id){$url=Url::log($id);
  6. if(baidu($url)==1){echo “<a rel=\”external nofollow\” title=\”本文已被百度收录\” target=\”_blank\” href=\”http://www.baidu.com/s?wd=$url\”>本文已被百度收录!</a>”;
  7. }else{echo “<a>本文已提交百度!</a><script>
  8. (function(){
  9.     var bp = document.createElement(‘script’);
  10.     var curProtocol = window.location.protocol.split(‘:’)[0];
  11.     if (curProtocol === ‘https’) {
  12.         bp.src = ‘https://zz.bdstatic.com/linksubmit/push.js’;        
  13.     }
  14.     else {
  15.         bp.src = ‘http://push.zhanzhang.baidu.com/push.js’;
  16.     }
  17.     var s = document.getElementsByTagName(‘script’)[0];
  18.     s.parentNode.insertBefore(bp, s);
  19. })();
  20. </script>”;}}
  21. ?>

2.找到文章页面文件echo_log.php,在合适的位置添加以下代码:

  1. <?php echo logurl($logid);?>

看看实际效果:

1.已收录文章的显示效果,且源码里没有推送代码,避免了重复推送。

解决emlog百度链接自动推送重复提交问题-第2张-boke112百科(boke112.com)

2.未收录文章的显示效果,源码里就会有自动推送代码,更快的被收录。

解决emlog百度链接自动推送重复提交问题-第3张-boke112百科(boke112.com)

赞 (0) 打赏
版权声明:本文为投稿文章,感谢 王商博客 的投稿,版权归原作者所有!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu