互联网知识

精准传达 • 价值共享

洞悉互联网前沿资讯,探寻网站营销规律

查看其它板块

织梦后台文档主动百度推送熊掌推送批量推送

作者:狐灵科技 | 2019-10-05 22:47 |点击:

百度主动推送(实时)可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录

织梦程序我们可以在后台添加文档完成那一刻即时主动推送到百度或熊掌,也可以在后台文档列表里批量推送

最终效果



织梦百度主动推送教程

1、织梦网站后台-系统-基本参数,添加新变量,如果变量值未填写或者为空将不推送


变量名称  : cfg_baidu_push

参数说明:百度推送接口

变量值:登录你的百度平台 https://ziyuan.baidu.com 获取接口调用地址
 

如图,注意你的站点域名要对应上

添加好变量是这样的

2、打开 /dede(后台目录)/inc/inc_archives_functions.php 在文件最末尾插入

 



 

  1. /**
     * 百度主动推送
     */
    function baidu_push($id="",$qstr="")
    {
    global $cfg_multi_site,$cfg_basehost,$cfg_baidu_push;
    if(!empty($id) && !empty($cfg_baidu_push))
    {
    if( !empty($id) && empty($qstr) ) $qstr = $id;
    if($qstr=='')
    {
    exit();
    }
    $qstrs = explode('`',$qstr);
    $cfg_domain = $cfg_multi_site == 'N' ? $cfg_basehost : '';
    $urls = array();
    $i = 0;
    foreach($qstrs as $aid)
    {
    $i++;
    $arcrow = GetOneArchive($aid);
    $url = $cfg_domain.$arcrow['arcurl'];
    $urls[] = $url;
    $artlist .= $url."<br />";
    }
    if($i>1) $artlist = "";
    if(!empty($urls)){
    $ch = curl_init();
    $options =  array(
    CURLOPT_URL => trim($cfg_baidu_push),
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => implode(" ", $urls),
    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
    );
    curl_setopt_array($ch, $options);
    $result = curl_exec($ch);
    curl_close($ch);
    $result = json_decode($result, true);
    if(isset($result['success'])){
    $not_same_site = isset($result['not_same_site'][0]) ? " <font style='color:#f00;'>推送链接与百度绑定站点不一致</font> " : "";
    $not_valid = isset($result['not_valid'][0]) ? " <font style='color:#f00;'>推送链接不合法</font> " : "";
    return $not_same_site . $not_valid . '百度主动推送成功 '.$result['success'].' 条!当天剩余 '.$result['remain'].' 条可推送!'.$artlist;
    }else{
    return '百度主动推送失败,错误码:'.$result['error'].'<a href="https://ziyuan.baidu.com/college/courseinfo?id=267&page=2#h2_article_title12" target="_blank">详情</a>';
    }
    }
    return "没有数据被推送!";
    }
    }

3、找到后台文档发布程序PHP文件

  • 普通文章】模型的是
  • /dede/article_add.php
  • 图片集】模型的是
  • /dede/album_add.php
  • 软件】模型的是
  • /dede/soft_add.php
  • 商品/自定义模型】模型的是
  • /dede/archives_add.php
根据你的需要在对应的php文件中找到

//返回成功信息

在它上面加入

  1. if(!empty($cfg_baidu_push))
    {
    $backurl .= "<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".baidu_push($arcID)."</p>";
    }


继续找到

line-height:36px;height:36px

改成

line-height:36px;

 

修改完后如图这样

至此,织梦发布文档主动推送到百度功能完成。

需要做熊掌主动推送(实时)的小伙伴往下看

 

织梦熊掌主动推送教程

1、织梦网站后台-系统-基本参数,添加新变量,如果变量值未填写或者为空将不推送


变量名称:cfg_xiong_push

参数说明:熊掌推送接口

变量值:登录你的百度平台 https://ziyuan.baidu.com/ydzq/ 获取接口调用地址

 

如图,天级收录和周级收录都可以

注意你的站点域名已绑定上熊掌id

添加好变量是这样的

2、打开 /dede(后台目录)/inc/inc_archives_functions.php 在文件最末尾插入

 



 

  1. /**
     * 熊掌主动推送
     */
    function xiong_push($id="",$qstr="")
    {
    global $cfg_multi_site,$cfg_basehost,$cfg_xiong_push;
    if(!empty($id) && !empty($cfg_xiong_push))
    {
    if( !empty($id) && empty($qstr) ) $qstr = $id;
    if($qstr=='')
    {
    exit();
    }
    $qstrs = explode('`',$qstr);
    $cfg_domain = $cfg_multi_site == 'N' ? $cfg_basehost : '';
    $urls = array();
    $i = 0;
    foreach($qstrs as $aid)
    {
    $i++;
    $arcrow = GetOneArchive($aid);
    $url = $cfg_domain.$arcrow['arcurl'];
    $urls[] = $url;
    $artlist .= $url."<br />";
    }
    if($i>1) $artlist = "";
    if(!empty($urls)){
    $ch = curl_init();
    $options =  array(
    CURLOPT_URL => trim($cfg_xiong_push),
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS => implode(" ", $urls),
    CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
    );
    curl_setopt_array($ch, $options);
    $result = curl_exec($ch);
    curl_close($ch);
    $result = json_decode($result, true);
    if(isset($result['error'])){
    return '熊掌主动推送失败,错误码:'.$result['error'].' message:'.$result['message'];
    }else{
    $not_same_site = isset($result['not_same_site'][0]) ? " <font style='color:#f00;'>推送链接与熊掌绑定站点不一致</font> " : "";
    $not_valid = isset($result['not_valid'][0]) ? " <font style='color:#f00;'>推送链接不合法</font> " : "";
    return $not_same_site . $not_valid . '熊掌主动推送成功 '.$result['success_batch'].$result['success_realtime'].' 条!当天剩余 '.$result['remain_batch'].$result['remain_realtime'].' 条可推送!'.$artlist;
    }
    }
    return "没有数据被推送!";
    }
    }

 

3、找到后台文档发布程序PHP文件

  • 普通文章】模型的是
  • /dede/article_add.php
  • 图片集】模型的是
  • /dede/album_add.php
  • 软件】模型的是
  • /dede/soft_add.php
  • 商品/自定义模型】模型的是
  • /dede/archives_add.php

根据你的需要在对应的php文件中找到

//返回成功信息
在它上面加入

  1. if(!empty($cfg_xiong_push))
    {
    $backurl .= "<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".xiong_push($arcID)."</p>";
    }


继续找到,如果你前面已经删除过height:36px,可以跳过这一步



line-height:36px;height:36px

改成

line-height:36px;


修改完后如图这样

至此,织梦发布文档主动推送到熊掌功能完成。

需要批量推送的小伙伴请继续往下看

 

织梦后台文档列表添加批量推送至百度/推送至熊掌

效果如图

批量推送实现教程

在加入批量之前必须完成上面的【织梦百度主动推送教程】第1、第2步 和 【织梦熊掌主动推送教程】第1、第2步,否则以下教程无效

1、打开 /dede/templets/content_list.htm (软件模型和自定义模型是 /dede/templets/content_i_list.htm) 找到


  1. 删除属性

这一行,在它下面添加



  1. <a href="javascript:baidu_push(0)" class="coolbg">&nbsp;推送至百度&nbsp;</a>
    <a href="javascript:xiong_push(0)" class="coolbg">&nbsp;推送至熊掌&nbsp;</a>
    <script type="text/javascript">
    function baidu_push(aid)
    {
    var qstr=getCheckboxItem();
    if(aid==0) aid = getOneItem();
    location="archives_do.php?aid="+aid+"&dopost=baidu_push&qstr="+qstr;
    }
    function xiong_push(aid)
    {
    var qstr=getCheckboxItem();
    if(aid==0) aid = getOneItem();
    location="archives_do.php?aid="+aid+"&dopost=xiong_push&qstr="+qstr;
    }
    </script>


2、打开 /dede/archives_do.php 找到末尾一行的  ?>


在它上面加入


  1. else if($dopost=='baidu_push')
    {
        if( !empty($aid) && empty($qstr) ) $qstr = $aid;
        
        if($qstr=='')
        {
            ShowMsg('参数无效!',$ENV_GOBACK_URL);
            exit();
        }
        require_once(DEDEADMIN.'/inc/inc_archives_functions.php');
        $result = baidu_push($qstr);
        ShowMsg($result,$ENV_GOBACK_URL,0,5000);
        exit();
    }
    else if($dopost=='xiong_push')
    {
        if( !empty($aid) && empty($qstr) ) $qstr = $aid;
        
        if($qstr=='')
        {
            ShowMsg('参数无效!',$ENV_GOBACK_URL);
            exit();
        }
        require_once(DEDEADMIN.'/inc/inc_archives_functions.php');
        $result = xiong_push($qstr);
        ShowMsg($result,$ENV_GOBACK_URL,0,5000);
        exit();
    }

批量推送教程完成。

文章来自:https://www.dedehtml.com/notes/dede-baiduxiong-push.html

如没特殊注明,文章均为狐灵科技原创,转载请注明  https://www.hulingweb.cn/hulianwang/667.html
多一份免费策划方案,总有益处。

请直接添加技术总监微信联系咨询

网站设计 品牌营销

多一份参考,总有益处

联系狐灵科技,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:023-68168040 / 大客户专线:15523356218