首页 > 其他分享 >代码实现WordPress主动推送及自动推送至百度搜索收录

代码实现WordPress主动推送及自动推送至百度搜索收录

时间:2024-08-23 18:26:24浏览次数:16  
标签:baidu get curl WordPress 收录 post 推送 id

站长们辛辛苦苦写的文章,无非就是让百度收录,也可以帮助人,也可以给自己站或者帮人优化的站带来流量,今天就来发一篇关于wordprss主动推送给百度的方法;

使用方法,U8格式放在wp当前模板functions.php里即可

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

/**

* 以下代码主动推送及自动推送至百度搜索收录

*/

if(!function_exists('Baidu_Submit')){

    function Baidu_Submit($post_ID) {

        $WEB_TOKEN  = 'xxxxxxxxxxxx';  //这里请换成你的网站的百度主动推送的token值

        $WEB_DOMAIN = get_option('home');

        //已成功推送的文章不再推送

        if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;

        $url = get_permalink($post_ID);

        $api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN;

        $request = new WP_Http;

        $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );

        $result = json_decode($result['body'],true);

        //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1

        if (array_key_exists('success',$result)) {

            add_post_meta($post_ID, 'Baidusubmit', 1, true);

        }

    }

    add_action('publish_post', 'Baidu_Submit', 0);

}

/**

* WordPress百度搜索自动推送、主动收录JS优化

* 转载请保留出处,谢谢合作!

**/

add_action( 'wp_footer', 'bdPushData', 999);

if(!function_exists('baidu_check_record')){

  function baidu_check_record($url,$post_id){

    $baidu_record  = get_post_meta($post_id,'baidu_record',true);

    if( $baidu_record != 1){

        $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( BD_PUSH == 'yes' && !preg_match_all('/提交网址/u',$rs) && preg_match_all('/百度为您找到相关结果/u',$rs)){

            update_post_meta($post_id, 'baidu_record', 1) || add_post_meta($post_id, 'baidu_record', 1, true);

            return 1;

        } else {

            return 0;

        }

    } else {

       return 1;

    }

  }

}

if(!function_exists('bdPushData')){

  function bdPushData() {

    global $wpdb;

    $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;

    $currentUrl = home_url(add_query_arg(array()));

    //这里修改了下:给get_permalink指定了文章ID

    if(baidu_check_record(get_permalink($post_id), $post_id) == 0 && $currentUrl == get_permalink($post_id)) {

        echo "<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);

            })();

            (function(){

                var src = (document.location.protocol == 'http:') ? 'http://js.passport.qihucdn.com/11.0.1.js?af9e600e6a4ba6d33cd7f1b088210cf7':'https://jspassport.ssl.qhimg.com/11.0.1.js?af9e600e6a4ba6d33cd7f1b088210cf7';

                document.write('<script src=\"' + src + '\" id=\"sozz\"><\/script>');

            })();</script>";

   }

}

}

标签:baidu,get,curl,WordPress,收录,post,推送,id
From: https://blog.csdn.net/2403_86698467/article/details/141440727

相关文章

  • 遷移Wordpress到新域名,新子域名
    1.0前言把Wordpress遷移到WordpressMultiSites的子域名,因此“All-in-OneWPMigrationandBackup”就需要付費VIP才支持遷移子域名。但用手動方法也可以實現遷移到子域名。延伸文章:Wordpress主題文章wordpress更改domain域名和數據庫連接2.0 “All-in-OneWPMigratio......
  • 服务器主机wordpress多网站启用redis缓存数据“混乱”解决办法
    近两天在搞网站数据迁移搬家的事情,是将A网站做为B网站的一个子目录,这样就牵涉到一个服务器两个网站的问题,因为这两个wordpress网站都使用了redis缓存,但在建站之初并没有设定不同的数据表前缀,后期修改我也不懂,直接导致了因为redis缓存两个网站数据“混乱”的问题。但好在网络......
  • Wordpress漏洞
    WPScanWPScan是KaliLinux默认自带针对wordpress的一款扫描神器1、刺探基础信息:wpscan--urlhttp://www.example.com2、猜解后台用户名wpscan--urlhttp://www.example.com--enumerateu3、使用字典暴破用户名admin的密码wpscan--urlhttp://www.example.com-Pp......
  • 基于django+vue框架的实时新闻推送平台edpjq【开题报告+程序+论文】计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在信息爆炸的时代,新闻资讯的时效性成为了媒体竞争的关键。随着互联网技术的飞速发展,人们获取新闻的方式已从传统的报纸、电视转向了手机、......
  • jenkins推送代码到aws的s3存储桶
    1.aws创建用户2.服务器配置安装awspip3.6installawscliAWSAccessKeyID[None]:公钥AWSSecretAccessKey[None]:私钥Defaultregionname[None]:地域Defaultoutputformat[None]:json3.s3存储桶要提前建好4.piplinepipeline{enviro......
  • 主流服务器推送技术概述与 Java SSE (Server-Sent Events) 详细讲解
    目录简介服务器推送技术的背景和重要性主流服务器推送技术概览WebSocketLongPollingServer-SentEvents(SSE)HTTP/2Push各技术比较功能性比较性能比较使用场景比较深入理解JavaServer-SentEvents(SSE)什么是Server-SentEvents工作原理Java实现方式J......
  • 微信小程序开发中的SDK集成与第三方推送
    微信小程序开发中,集成第三方推送内容可以通过使用第三方推送服务的SDK来实现。以下是一个示例代码案例,详细介绍了如何使用SDK集成第三方推送内容。一、SDK集成准备工作选择第三方推送服务提供商:根据需求和预算选择合适的第三方推送服务提供商,例如极光推送、个推、小米推送等......
  • PHP转Go系列 | ThinkPHP与Gin框架之打造基于WebSocket技术的消息推送中心
    大家好,我是码农先森。在早些年前客户端想要实时获取到最新消息,都是使用定时长轮询的方式,不断的从服务器上获取数据,这种粗暴的骚操作实属不雅。不过现如今我也还见有人还在一些场景下使用,比如在PC端扫描二维码,然后使用长轮询的方式从服务端获取最新的扫码信息,来判断用户是否已经......
  • 系统设计:推送通知/消息
    相关内容通知模板、用户信息、通知设置、设备信息。推送的类型推送的类型,比如:通知、邮件、短信等推送通知的服务商极光推送(‌JPush)‌推送流程后端服务-->第三方推送服务(极光)--->app通知模板需要制定一个通知模板,发送给用户的通知,是什么格式的,包括唯一key、标......
  • 陪玩系统app如何配置推送设置,手把手教你uniapp 如何打通消息推送
    进入uniapp开发者中心,开发者中心包名:每个app都有自己的一个身份证,叫做包名,很多地方会用到。包名去HBuilderX获取,点击发行app云打包可获取app包名说明:推送采用uniapp的官方推送,实际uniapp也是和个推合作,走的是个推的sdk。我们采用uniapp的推送1.0版本,不使用2.0,因为2.0必......