今天我们就根据百度站长平台的主动推送接口来写个关于织梦dedecms发布文章实时推送给百度的教程,具体操作步骤如下:
关于织梦的百度实时推送大体上可以有两种方法,大家根据需要来选择下面的两种方案中的一种
第一种方法是手动创建一个文件,我们在根目录下面创建一个dedejs.php,里面的代码如下:
02 |
require_once ("include/common.inc.php"); |
03 |
require_once "include/arc.partview.class.php"; |
04 |
require_once('include/charset.func.php'); |
09 |
$dayBegin = mktime(0,0,0,$month,$day,$year); |
10 |
$dayEnd = mktime(23,59,59,$month,$day,$year); |
12 |
$query = "SELECT arch.id,types.typedir FROM xihuseo_arctype as types inner join xihuseo_archives as arch on types.id=arch.typeid where pubdate<".$dayEnd." AND pubdate>".$dayBegin.""; |
17 |
$dsql->Execute('arch.id,types.typedir',$query); |
18 |
while($row = $dsql->GetArray('arch.id,types.typedir')) |
20 |
$urls.="https://你的域名".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".","; |
23 |
$urls=substr($urls,0,-1); |
24 |
$urls = explode(",",$urls); |
31 |
CURLOPT_RETURNTRANSFER => true, |
32 |
CURLOPT_POSTFIELDS => implode("\n", $urls), |
33 |
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), |
35 |
curl_setopt_array($ch, $options); |
36 |
$result = curl_exec($ch); |
37 |
echo $result.count($urls); |
|
注意里面的域名跟数据库前缀自己修改成自己的。
站长在每天发布完内容之后再访问一下这个文件就可以把当天发布的全部文章推送到百度搜索引擎。访问后会返回百度接口结果。
百度接口返回说明:
如果推送成功,状态码为200,可能返回以下字段:

代码示例:
{
"remain":4999998,
"success":2,
"not_same_site":[],
"not_valid":[]
}
如果推送失败,状态码为4xx,返回字段如下:

代码示例:
{
"error":401,
"message":"token is not valid"
}
这样就很清晰的反映出是否推送成功。
第二种方法是每发布完一篇文章就向百度推送一次,这种比较方便,也推荐大家用这种方法:
我们打开后台管理目录下的article_add.php文件,找到差不多第262行的地方即注释为“返回成功信息”的上面一行加入以下代码 :
02 |
$urls = explode(",",$urls); |
09 |
CURLOPT_RETURNTRANSFER => true, |
10 |
CURLOPT_POSTFIELDS => implode("\n", $urls), |
11 |
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), |
13 |
curl_setopt_array($ch, $options); |
14 |
$result = curl_exec($ch); |
|
注意里面的域名换成自己的
添加完成后保存即可,如果想看推送是否成功可以修改下面的提示信息,代码如下:
1 |
请选择你的后续操作".$result.$urls[0].": |
|
这样发布文章之后就会显示如下图的提示:

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