环境要求
百度主动推送(实时)可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录
织梦程序我们可以在后台添加文档完成那一刻即时主动推送到百度或熊掌,也可以在后台文档列表里批量推送
最终效果
织梦百度主动推送教程
1、织梦网站后台-系统-基本参数,添加新变量,如果变量值未填写或者为空将不推送
变量名称
参数说明
变量值
如图,注意你的站点域名要对应上
添加好变量是这样的
2、打开 /dede(后台目录)/inc/inc_archives_functions.php 在文件最末尾插入
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 "没有数据被推送!";
}
}
-
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
3、找到后台文档发布程序PHP文件
-
【普通文章】模型的是
-
/dede/article_add.php
-
【图片集】模型的是
-
/dede/album_add.php
-
【软件】模型的是
-
/dede/soft_add.php
-
【商品/自定义模型】模型的是
-
/dede/archives_add.php
根据你的需要在对应的php文件中找到
在它上面加入
if(!empty($cfg_baidu_push))
{
$backurl .= "<p> ".baidu_push($arcID)."</p>";
}
继续找到
line-height:36px;height:36px
改成
修改完后如图这样
至此,织梦发布文档主动推送到百度功能完成。
需要做熊掌主动推送(实时)的小伙伴往下看
织梦熊掌主动推送教程
1、织梦网站后台-系统-基本参数,添加新变量,如果变量值未填写或者为空将不推送
变量名称
参数说明
变量值
如图,天级收录和周级收录都可以
注意你的站点域名已绑定上熊掌id
添加好变量是这样的
2、打开 /dede(后台目录)/inc/inc_archives_functions.php 在文件最末尾插入
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 "没有数据被推送!";
}
}
-
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
3、找到后台文档发布程序PHP文件
-
【普通文章】模型的是
-
/dede/article_add.php
-
【图片集】模型的是
-
/dede/album_add.php
-
【软件】模型的是
-
/dede/soft_add.php
-
【商品/自定义模型】模型的是
-
/dede/archives_add.php
根据你的需要在对应的php文件中找到
在它上面加入
if(!empty($cfg_xiong_push))
{
$backurl .= "<p> ".xiong_push($arcID)."</p>";
}
继续找到,如果你前面已经删除过height:36px,可以跳过这一步
line-height:36px;height:36px
改成
修改完后如图这样
至此,织梦发布文档主动推送到熊掌功能完成。
需要批量推送的小伙伴请继续往下看
织梦后台文档列表添加批量推送至百度/推送至熊掌
效果如图
批量推送实现教程
在加入批量之前必须完成上面的【织梦百度主动推送教程】第1、第2步 和 【织梦熊掌主动推送教程】第1、第2步,否则以下教程无效
1、打开 /dede/templets/content_list.htm (软件模型和自定义模型是 /dede/templets/content_i_list.htm) 找到
这一行,在它下面添加
<a href="javascript:baidu_push(0)" class="coolbg"> 推送至百度 </a>
<a href="javascript:xiong_push(0)" class="coolbg"> 推送至熊掌 </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>
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
如图
2、打开 /dede/archives_do.php 找到末尾一行的
在它上面加入
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();
}
-
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
批量推送教程完成。