1. 首页
  2. 源码

【dedecms织梦教程】织梦DEDECMS百度主动推送链接(实时)

一、主要内容 百度站长工具里的链接提交有主动推送和手动推送两种方法,该工具于今年改版,改版后的链接提交取消了sitemap链接推送功能,那么怎么在dedecms中实现推送呢?下面给出了两种方法,一种是实时推送,另外一种是统一推送。 二、实验平台 1. 百度工具 2. dedecms 5.7 三、实现步骤 3.1 准备工作 首先登录百度站长,位置在网页抓取——>链接提交。

一、主要内容

百度站长工具里的链接提交有主动推送和手动推送两种方法,该工具于今年改版,改版后的链接提交取消了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"; }

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

    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.3 统一推送

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

    <?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="SELECTarch.id,types.typedirFROMdede_arctypeastypesinnerjoindede_archivesasarchontypes.id=arch.typeidwherepubdate<".$dayEnd."ANDpubdate>".$dayBegin.""; //echo$query; $urls=""; $dsql->Execute('arch.id,types.typedir',$query); while($row=$dsql->GetArray('arch.id,types.typedir')) { //(3)将下边的www.aspku.com换成你的网址 $urls.="http://www.aspku.com".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".","; } /*********用echo打印出获取到的链接***********/ $urls=substr($urls,0,-1); echo$urls; echo'<br/>'; $urls=explode(",",$urls); //(4)下边的域名和密钥换成自己的 $api='http://data.zz.baidu.com/urls?site=www.aspku.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) 最好不要经常重复推送,否则会有两个影响:第一,将浪费您提交的配额,每个站点每天可提交的数量是有限制的,如果您都提交了旧链接,当有新链接时可能因为配额耗尽无法提交。第二,如果您经常重复提交旧链接,我们会下调您的配额,您可能会失去主动推送功能的权限。

注:相关教程知识阅读请移步到dedecms教程频道。
织梦安装教程 通用图文说明https://www.nanrenca.com/5928.html

相关关键词:dede模板|织梦免费模板|免费模板下载|网站源码|织梦模板|Flash网站模板

原创文章,作者:技术宅,如若转载,请注明出处:https://www.nanrenca.com/853.html

发表评论

邮箱地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息