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

源码 无标签 2017-10-29 阅读:62

功能介绍:
根据以前有人发的判断文章是否收录的功能。具体作者忘了。拓展出展示js推送代码
优点:
1.判断文章是否收录,来进行展示。
2.避免重复推送,防止占用推送额度。
3.防止因推送频繁造成的负面影响
缺点:

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

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



如上PHP代码,添加到主题module.php即可。当页面未被百度收录,将会输出百度自动推送js代码,否则不会输出。
在模板的footer.php文件中</html>前调用<?php echo bdPushData($logid);?>即可。
在模板的echo_log.php文件中调用<?php echo checkbaidu($logid);?>即可。


本文章转载于AE博客

0条评论