织梦Dedecms百度实时推送实现方法

说明:本文转载于dedehtml,仅大家学习,创作权归原作者所有。

环境要求:PHP必须开启了curl扩展(虚拟主机默认是开启的)

百度主动推送(实时)可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录。织梦程序我们可以在后台添加文档完成那一刻即时主动推送到百度或熊掌,达到最快收录的效果。

最终效果

织梦Dedecms百度实时推送实现方法

织梦Dedecms百度实时推送实现教程如下:

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

织梦Dedecms百度实时推送实现方法

变量名称

cfg_baidu_push

参数说明

百度推送接口

变量值

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

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

织梦Dedecms百度实时推送实现方法

添加好变量是这样的,如下图

织梦Dedecms百度实时推送实现方法

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

织梦Dedecms百度实时推送实现方法
/**
 * 百度主动推送
 */
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("\n", $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文件中找到

//返回成功信息

在它上面加入

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;

修改完后如图这样

织梦Dedecms百度实时推送实现方法

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

本文来源于网友投稿,内容仅为网友观点仅供参考,不代表37.2度云笔记同意其观点和对其真实性负责!

发表评论

您的电子邮箱地址不会被公开。

微信
通知:站点改版中,敬请期待