建站案例

织梦DedeCMS网站百度站长PHP主动推送代码安装设置步骤

发布于:2016-07-13 10:04作者: 点击:

织梦DedeCMS网站百度站长平台PHP主动推送代码安装设置步骤详解

百度站长工具平台中提供的链接提交工具中有以下几种可以选择:
1、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
2、自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每一个页面源代码中,部署代码的页面在每次被浏览时,链接会被自动推送给百度。可以与主动推送配合使用。
3、sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
4、手动提交:一次性提交链接给百度,可以使用此种方式。

因为百度站长平台推荐大家使用主动推送,但是给大家介绍的php主动推送示例太过简单,而且需要手动写入链接,没有php基础的同学根本没有能力完成百度PHP主动推送,于是余斗写出此教程来让主动推送操作起来更便捷,下面就以DedeCMS系统为例: 百度站长平台给出的PHP推送数据方法如下:

百度推送实现功能:

  1、自动获取当天发布的所有文章链接,设置两个时间戳,0:0:0和23:59:59,也就是把当天这两个时间内的文章都自动提取出来。

  2、把提取的文章链接自动导入推送php文件里。

  3、只要访问一个网址,无需其他设置就可完成推送。

推送代码操作方式:

  1、下载附件里的post.php文件;

  2、把文件里dede_数据库表头改成自己网站设置的数据库表头;

  3、把文件里的www.baiqiseo.com网址换成自己的网址;

  4、把文件里的token=XXXXXXXXXX密钥换成自己网站的密钥;

  5、把post.php上传到网站根目录;

  6、当天文章发完以后,就在浏览器里打开www.post.com/post.php(把网址换成你自己的);

  7、推送成功,返回{"remain":480,"success":20} 480是当天剩余推送次数,20是推送成功的数量;

  8、注:如果返回的是空白页面,证明该网站没有主动推送权限。


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."";
//echo $query;
 
$urls="";
 
$dsql->Execute('arch.id,types.typedir',$query);
while($row = $dsql->GetArray('arch.id,types.typedir'))
{
$urls.="http://www.baiqiseo.com".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".",";
//将上边的www.baiqiseo.com换成你的网址
}
$urls=substr($urls,0,-1);
$urls = explode(",",$urls);
 

$api = ' http://data.zz.baidu.com/urls?site=www.baiqiseo.com&token=dy5ghjBsJ5zdW7Nx'; // 前边的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;
?>
 

其中, 接口调用地址: http://data.zz.baidu.com/urls?site=www.baiqiseo.com&token=xxxxx&type=original

这句代码中,site为我们的网站域名,必须带。token为在站长平台申请的推送用的准入密钥,也必须带。而参数type=original为原创内容标识,如果自己推送的内容是原创,可带此参数,这个参数非必须。

如果仅仅靠这段代码,需要我们将每个文章的地址都复制下来,很麻烦,利用DedeCMS系统,我们可以生成文章地址,这样就减省不少时间。

将第26行中的密钥和网址改成自己的即可,将修改后的post.php上传到网站根目录,浏览器中输入:你的域名/post.php,即可看到主动推送的效果。

tag标签:
------分隔线----------------------------
------分隔线----------------------------