純代碼(非插件)使帝國CMS用百度API提交工具推送當(dāng)天新內(nèi)容

[重要通告]如您遇疑難雜癥,本站支持知識付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

今天老鐵熊二想讓他自己站帝國也能自動推送,其實(shí)之前還真寫過關(guān)于插件的;

非插件用代碼使帝國cms生成文章時主動(自動)推送給百度增加流量的方法

今天是感覺有幾個方法也挺好的,需要綜合一下;

一、推送當(dāng)天內(nèi)容

1、登陸百度站長平臺,獲取到網(wǎng)站的推送接口;這個沒啥可說的,大家都會

2、在網(wǎng)站根目錄下新建一個文件夾,命名為“baiduapi”,并在baiduapi文件夾下創(chuàng)建一個baiduapituisong.php文件,代碼如下(數(shù)據(jù)庫配置請自行添加)

<?php

header('Content-type:text/html;charset=utf-8');
define('DB_HOST','localhost');
define('DB_USER','替換成數(shù)據(jù)庫用戶');
define('DB_PASSWORD','替換成數(shù)據(jù)庫密碼');
define('DB_DATABASE','替換成數(shù)據(jù)庫名');
define('DB_PORT','3306');

function connect($host=DB_HOST,$user=DB_USER,$password=DB_PASSWORD,$database=DB_DATABASE,$port=DB_PORT){
$link=@mysqli_connect($host,$user,$password,$database,$port);
if(mysqli_connect_errno()){
exit(mysqli_connect_error());
}
mysqli_set_charset($link,'utf8');
return $link;
}

function execute($link,$query){
$result=mysqli_query($link,$query);
if(mysqli_errno($link)){
exit(mysqli_error($link));
}
return $result;
}

$start = date('Y-m-d 00:00:00');
$end = date('Y-m-d H:i:s');

$link=connect();
$query="SELECT * FROM `phome_ecms_news` WHERE `truetime` >= unix_timestamp( '$start' ) AND `truetime` <= unix_timestamp( '$end' )"; //獲取當(dāng)天發(fā)表的數(shù)據(jù)
$result=execute($link,$query);
while($data_list=mysqli_fetch_assoc($result)){
$urls[]="http://madamerex.com".$data_list['titleurl']."\n";//替換成自己的域名
}

$api = 'http://data.zz.baidu.com/urls?site=http://madamerex.com&token=1234567890';
$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;

?>

二、xml地圖全部推送或按照數(shù)量推送

<?php
header('Content-Type:text/html;charset=utf-8');
/** 只需修改這里面的兩個鏈接 **/
$xml_url = "http://madamerex.com/sitemap.xml"; // 這里修改你站點(diǎn)的xml地圖鏈接
$baidu_api = 'http://data.zz.baidu.com/urls?site=http://madamerex.com&token=1234567890';// 這里修改為你在百度站長獲取到的推送接口
/***只需修改這里面的兩個鏈接**/
$xmldata =file_get_contents($xml_url);
$xmlstring = simplexml_load_string($xmldata,'SimpleXMLElement',LIBXML_NOCDATA);
$value_array = json_decode(json_encode($xmlstring),true);
$url = [];
for ($i =0;$i < count($value_array['url']);$i++){
// echo $value_array['url'][$i]['loc']."<br/>";
$url[]= $value_array['url'][$i]['loc'];
}
//百度推送接口一次只支持推送2000條數(shù)據(jù),所以超過2000條的話需要分組推送
$url_group = array_chunk($url,2000);
$count=count($url_group);
for($i=0;$i<$count;$i++){
$ch = curl_init();
$options = array(
CURLOPT_URL => $baidu_api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n",$url_group[$i]),
CURLOPT_HTTPHEADER => array('Content-Type:text/plain'),
);
curl_setopt_array($ch, $options);
$result =curl_exec($ch);
curl_close($ch);
echo $result;
}
?>

三、選擇性推送

帝國cms7.5源文件里面找到3個文件ecmsinfo.php、listinfo.php、userfun.php
ecmsinfo.php在目錄e/admin下面。

在任意一個elseif{....}后添加

elseif($enews=="Post_Baidu_sitemap")//文章實(shí)時發(fā)送百度
{
$id=$_POST['id'];
$urls=$_POST['titleurl'];
ePostBaiduSitemap($id,$urls);
}

listinfo.php在目錄e/data/html/list目錄下面。在

<input name="id[]" type="checkbox" id="id[]" value="<?=$r[id]?>"<?=$checked?>>
<input name="infoid[]" type="hidden" value="<?=$r['id']?>">

后面添加

<input name="titleurl[<?=$r[id]?>]" type="hidden" value='<?=$titleurl?>'>

還是這個文件里面,在最后一個</table>標(biāo)簽前添加

<tr bgcolor="#FFFFFF">
<td height="25" colspan="8">
<input type="submit" name="Submit101" value="批量提交百度" onClick="document.listform.enews.value='Post_Baidu_sitemap';document.listform.action='ecmsinfo.php';"><font color="#666666"><p>備注:多選框藍(lán)色為未審核信息;發(fā)布者紅色為會員投稿;信息ID粗體為未生成,點(diǎn)擊ID可刷新頁面.</p></font></td>
</tr>

userfun.php在目錄e/class目錄下面。如果你這個文件里面是空的,直接用下面的代碼完全覆蓋即可。

<?php
//---------------------------用戶自定義標(biāo)簽函數(shù)文件
//發(fā)送給百度時時更新-------------------------------
function ePostBaiduSitemap($id,$_urls){
$site = 'madamerex.com';//你的網(wǎng)站域名
$token = '1234567890';//百度給的token
$newsurl = 'http://madamerex.com/';//你的網(wǎng)站地址,注意后面的斜杠/
$count = count($id);
if (empty($count))
{
printerror("未選擇信息ID", "", 1, 0, 1);
}
$urls=array();
for($i=0;$i<$count;$i++)
{
$id[$i] = (int)$id[$i];
if (array_key_exists($id[$i],$_urls)){
//$urls[] = $_urls[$id[$i]];
$urls[] = $newsurl.$_urls[$id[$i]];
}
}

$api = "http://data.zz.baidu.com/urls?site=$site&token=$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);
$httpstat = curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpstat==200){
$obj = json_decode($result);
printerror("今天剩余{$obj->remain}條,成功提交{$obj->success}條", "", 1, 0, 1);
}else{
printerror('推送失敗', "", 1, 0, 1);
}
}
?>

這樣就是在每個單獨(dú)的欄目下面會有一個(批量提交百度)按鈕。選擇后提交即可。如果沒有顯示,就批量刷新一下后臺就哦可。

一下寫了三種方式推送給百度的方式方法,不知道大家都喜歡那種方式,我感覺喜歡更多的還得是插件吧;

問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » 純代碼(非插件)使帝國CMS用百度API提交工具推送當(dāng)天新內(nèi)容

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情