织梦主动提交_织梦cms百度主动推送链接(实时)使用方法

一、主要内容

百度站长工具里的链接提交有主动推送和手动推送两种方法,该工具于今年改版,改版后的链接提交取消了sitemap链接推送功能,那么怎么在dedecms中实现推送呢?下面给出了两种方法,一种是实时推送,另外一种是统一推送。

二、实验平台

1. 百度工具

2. dedecms 5.7

三、实现步骤

3.1 准备工作

首先登录百度站长,位置在网页抓取——>链接提交。

网页往下拉,就可以看到接口调用地址。

3.2 实时推送

实时推送是指每发表一篇文章之后就推送。打开article_add.php文件,其目录在dedecm安装目录/dede/下。搜索:

$artUrl = MakeArt($arcID, true, true,$isremote);

if($artUrl=='')

{

$artUrl = $cfg_phpurl."/view.php?aid=$arcID";

}

在其下面添加下述代码:

else{

$urls[]='http://'.$_SERVER['HTTP_HOST'].$artUrl;

$api = 'http://data.zz.baidu.com/urls?site=你的域名&token=准入密钥';

$ch = curl_init();

$options =  array(

CURLOPT_URL => $api,

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

}

修改上述域名和密钥,也就是3.1步中的接口调用地址。保存,替换原文件(替换之前记得备份)。这样,每次发布文章后,就会主动推送该篇文章的链接。

3.3 统一推送

统一推送是指将一段时间内(如一天时间)发布的文章一次性推送给百度站长。其实现步骤:将下述代码复制保证在一个php文件里,并按照下述注释处的内容根据自己网站的参数修改,最后将该文件上传到网站根目录,然后在浏览器打开你的域名/该文件来实现统一推送。

//(1)若将dedecms安装在子目录,则需修改下述引用

require_once ("include/common.inc.php");

require_once ("include/arc.partview.class.php");

require_once('include/charset.func.php');

$year = date("Y");

$month = date("m");

$day = date("d");

$dayBegin = mktime(0,0,0,$month,$day,$year);//当天开始时间戳

$dayEnd = mktime(23,59,59,$month,$day,$year);//当天结束时间戳

//(2)将下面2处表头修改为自己的

$query = "SELECT arch.id,types.typedir FROM dede_arctype as types inner join dede_archives as arch on types.id=arch.typeid where pubdate".$dayBegin."";

//echo $query;

$urls="";

$dsql->Execute('arch.id,types.typedir',$query);

while($row = $dsql->GetArray('arch.id,types.typedir'))

{

//(3)将下边的www.sunev.cn换成你的网址

$urls.="http://www.sunev.cn".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".",";

}

/********* 用echo打印出获取到的链接 ***********/

$urls = substr($urls,0,-1);

echo $urls;

echo '
';

$urls = explode(",",$urls);

//(4)下边的域名和密钥换成自己的

$api = 'http://data.zz.baidu.com/urls?site=www.8888ln.com&token=xxxxxxxxx';

$ch = curl_init();

$options =  array(

CURLOPT_URL => $api,

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

echo $result;

?>

推送成功后会返回状态参数,如下图所示:

当天没有链接可推送时,则出现下图的状态:

注意:(1) 网络上找的代码第2个include没有(),我这里实现的时候出错了,所以加上了()。

(2) 最好不要经常重复推送,否则会有两个影响:第一,将浪费您提交的配额,每个站点每天可提交的数量是有限制的,如果您都提交了旧链接,当有新链接时可能因为配额耗尽无法提交。第二,如果您经常重复提交旧链接,我们会下调您的配额,您可能会失去主动推送功能的权限。

原创文章,作者:卓弘,如若转载,请注明出处:https://www.jiaidc.com/1671.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值