你是否遇到这样的问题:网站天天更新,收录却不见涨。特别是对于新上线不久的网站,这种情况几乎成了常态。
所以一款实用的百度主动推送功能是必要的,不论是原创作者来,还是采集站点,此功能都是必备的,从手工到自动化。这个修改不会触动帝国系统核心功能,安全绿色,如果升级系统,顶多功能失效,找到这篇文章修改后可以继续用......
帝国cms添加百度实时主动推送代码功能
非插件实现帝国cms生成文章的时候加百度主动推送按钮,只需要修改3个文件 ecmsinfo.php、listinfo.php、userfun.php 即可,方法步骤如下:
1:e / admin / ecmsinfo.php 文件中,在任意一个elseif{....} 后添加添加如下代码
elseif($enews==Post_Baidu_sitemap)//文章实时发送百度
{
$id=$_POST[id];
$urls=$_POST[titleurl];
ePostBaiduSitemap($id,$urls);
}
2、找到 e/ data / html / list / listinfo.php 文件,找到如下代码:
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标签前添加如下代码:
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=#666666p备注:多选框蓝色为未审核信息;发布者红色为会员投稿;信息ID粗体为未生成,点击ID可刷新页面./p/font/td
/tr
3、找到e / class / userfun.php 添加如下代码:
//发送给百度时时更新-------------------------------
function ePostBaiduSitemap($id,$_urls){
$site = www.xxxxx.com;//你的网站域名
$token = xxxxxxx;//百度给的token
$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]];
}
}
$api = http://data.zz.baidu.com/urls?site=$sitetoken=$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);
}
}
至此,帝国cms生成文章后后台主动推送功能已经添加完毕,使用方法如下....
帝国cms后台生成文章后主动推送文章到百度功能使用方法:网站后台信息,点击任意左侧树形列表;在右侧的信息管理勾选要提交给百度的文章;然后点击列表下面的批量提交百度!