百度自动推送 JS 优化,规避错误、重复推送、判断文章是否被收录

  • A+
所属分类:Emlog SEO优化

导读:关注 SEO、关注收录的站长,应该都知道百度搜索提供了一段自动推送的 js 代码,可将任意网页推送到搜索引擎,加快收录。但是,这段代码并不是简单的增加到网页中万事大吉了!本文主要分享自动推送 JS 代码的优化...

优点:

1.判断文章是否收录,来进行展示。

2.避免重复推送,防止占用推送额度。

3.防止因推送频繁造成的负面影响

缺点:

操作较繁琐,无基础者建议不要操作!!!

  1. <?php
  2. /**
  3. * WordPress 百度搜索自动推送、主动收录 JS 优化 By 张戈博客
  4. * 文章地址:http://zhangge.net/5100.html
  5. * 转载请保留出处,谢谢合作!
  6. **/
  7. function bdPushData($id){
  8.  $url=Url::log($id);
  9.  if(baidu($url)==1){
  10.  echo '<!--本文已收录,不输出推送代码-->';
  11.  }else{
  12.         echo "<script>
  13. (function(){
  14.     var bp = document.createElement('script');
  15.     var curProtocol = window.location.protocol.split(':')[0];
  16.     if (curProtocol === 'https') {
  17.         bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';        
  18.     } else {
  19.         bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  20.         }
  21.     var s = document.getElementsByTagName('script')[0];
  22.     s.parentNode.insertBefore(bp, s);
  23. })();
  24. </script>";
  25.     }
  26. }
  27.  >
  28. < php
  29. /*
  30.  * 判断内容页是否百度收录,并且以博主和或者理员身份访问博客文章时自动向百度提交未收录的文章
  31.  *
  32.  */
  33. function baidu($url){
  34.  $url='http://www.baidu.com/s wd='.$url;
  35.  $curl=curl_init();
  36.  curl_setopt($curl,CURLOPT_URL,$url);
  37.  curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
  38.  $rs=curl_exec($curl);
  39.  curl_close($curl);
  40.  if(!strpos($rs,'没有找到')){
  41.      return 1;
  42.    }
  43.  else{
  44.      return 0;
  45.   }
  46.      }
  47.   function checkbaidu($id){
  48.   $url=Url::log($id);
  49.   if(baidu($url)==1){
  50.    echo "百度已收录";
  51.   } else {
  52.    if (ROLE == 'admin' || ROLE == 'writer') {
  53.     $urls = array($url,);
  54.  $api = 'http://data.zz.baidu.com/urls site=********&token=********';
  55.  $ch = curl_init();
  56.  $options =  array(
  57.      CURLOPT_URL => $api,
  58.      CURLOPT_POST => true,
  59.      CURLOPT_RETURNTRANSFER => true,
  60.      CURLOPT_POSTFIELDS => implode("\n"$urls),
  61.      CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),);
  62.  curl_setopt_array($ch$options);
  63.  $result = curl_exec($ch);
  64.  echo '已自动提交给度娘';
  65.    }
  66.      echo "<a style=\"color:red;\" rel=\"external nofollow\" title=\"点击提交收录\" target=\"_blank\" href=\"http://zhanzhang.baidu.com/sitesubmit/index sitename=$url\">坐等收录</a>";
  67.   }
  68.  }
  69. ?>
  1. $api = 'http://data.zz.baidu.com/urls site=********&token=********';

将上面 api 后面的地址换成你网站的接口调用地址即可。

然后添加到主题 module.php。当页面未被百度收录,将会输出百度自动推送 js 代码,否则不会输出。

在模板的 footer.php 文件中</html>前调用<?php echo bdPushData($logid);?>即可。

在模板的 echo_log.php 文件中调用<?php echo checkbaidu($logid);?>即可。

本文来源于互联网,由博客进行整理。

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: