厦门热线:18350257765
新闻中心 网站建站教程 建站程序下载 标签云 联系我们 手机版 网站地图
织梦建站教程 ecshop建站教程 搜索引擎优化 网站建设编程
当前位置:主页 > 网站建站教程 > 织梦建站教程 >

怎么实现织梦dedecms发布文章实时推送至百度sitemap即时推送功能教程

建站堂   作者:吉吉    发布日期:2015-10-30 11:55     阅读数:

      在之前织梦官方推出了一个百度ping插件,但好像并没有什么作用,而且时间长了百度的推送规则也改了不少,最近百度站长平台就推出了实时推送原创链接地址给百度,这样肯定比百度蜘蛛通过sitemap抓取连接要好很多了,而且还能确保网站内容的原创性。

 

可以说很多织梦的站长都需要这个功能,今天我们就根据百度站长平台的主动推送接口来写个关于dedecms/' target='_blank'>织梦dedecms发布文章实时推送给百度的教程,具体操作步骤如下:

 


关于织梦的百度实时推送大体上可以有两种方法,大家根据需要来选择下面的两种方案中的一种

 

第一种方法是手动创建一个文件,我们在根目录下面创建一个dedejs.php,里面的代码如下:
 

<?php
 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);//当天结束时间戳

$query = "SELECT arch.id,types.typedir FROM dede_arctype as types inner join dede_archives as arch on types.id=arch.typeid where pubdate<".$dayEnd." AND pubdate>".$dayBegin."";  
//这里dede换成你们自己的表前缀


$urls="";
                
 $dsql->Execute('arch.id,types.typedir',$query);
 while($row = $dsql->GetArray('arch.id,types.typedir'))
 {
     $urls.="http://你的域名".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".",";   
     //将上边的“http://你的域名”换成你的网址
}
 $urls=substr($urls,0,-1);
 $urls    = explode(",",$urls);

 $api = 'http://data.zz.baidu.com/urls?site=dedejs.com&token=xxxxx'; // 前边的site换成自己的site    xxx换成自己的密钥
$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.count($urls);
 ?>

 

百度ping插件

 


代码示例:

 

{
    "remain":4999998,
    "success":2,
    "not_same_site":[],
    "not_valid":[]
}

 


如果推送失败,状态码为4xx,返回字段如下:

 

推送失败返回的字段

 


代码示例:
{
    "error":401,
    "message":"token is not valid"
}

 

这样就很清晰的反映出是否推送成功。

 


第二种方法是每发布完一篇文章就向百度推送一次,这种比较方便,也推荐大家用这种方法:


  
我们打开后台管理目录下的article_add.php文件,找到差不多第262行的地方即注释为“返回成功信息”的上面一行加入以下代码 :

 

注意里面的域名跟数据库前缀自己修改成自己的。

 

站长在每天发布完内容之后再访问一下这个文件就可以把当天发布的全部文章推送到百度搜索引擎。访问后会返回百度接口结果。

 


百度接口返回说明:

 

如果推送成功,状态码为200,可能返回以下字段:
 

$urls=“http://dedejs.com".$artUrl;//前面域名换成你自己的
    $urls    = explode(",",$urls);

     $api = 'http://data.zz.baidu.com/urls?site=dedejs.com&token=xxxx'; // 前边site换成自己的site   xxx换成自己的密钥
    $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);

注意里面的域名换成自己的


 

添加完成后保存即可,如果想看推送是否成功可以修改下面的提示信息,代码如下:
 

请选择你的后续操作".$result.$urls[0].":


这样发布文章之后就会显示如下图的提示:

 

推送成功提示

 


织梦发布文章实时推送到百度的教程就写到这里,有需要的可以试着做一下这样的功能,这样对SEO的好处毕竟还是很大的。

 

上一篇:怎么修改织梦dedecms单页模块生成的目录和链接 织梦单面链接的修改方法 下一篇:DedeCms织梦网站怎么做内链?使用关键词关连文章自动内链是个好方法
最新案例
最新签约
  1. [厦门]厦门华电开关有限公司网站建设与网站改版协…
  2. [广东]建站堂喜获一单 与广东自助者管道科技有限…
  3. [厦门]祝贺建站堂成功签下QKM李群自动化网站建设一…
  4. [苏州]签下 信用卡贷款申请手机网站 苏州安富网络…
网络营销
  1. 网站建设之怎样展开并合理推行网络营销
  2. 网络营销:各类中小型企业应该怎样能把网络…
  • 厦门市建站堂网络有限公司
    厦门市集美区同集南路235号
    电话:18350257765
  • 厦门市建站堂网络有限公司
    厦门市集美区同集南路235号
    电话:18350257765
18350257765qqsina