我们都知道百度站长平台有个实时推送功能,用于网站发布内容后直接推送至百度搜索引擎,这样非常利于SEO,对原创内容的收录是非常有帮助的。
下面韩石头部落格就教大家如何用帝国CMS实现免插件实时推送功能,修改方法非常简单而且效率高。而且修改不会与帝国CMS其他功能冲突,绿色安全!
下面是详细的修改方法:
1、找到并打开/e/admin/ecmsinfo.php文件,在任意一个“elseif{”后添加如下代码:
1 |
elseif($enews=="Post_Baidu_sitemap")//内容实时推送至百度 |
4 |
$urls=$_POST['titleurl']; |
5 |
ePostBaiduSitemap($id,$urls); |
|
2、找到并打开/e/data/html/list/listinfo.php文件,在里面找到如下代码:
1 |
<input name="id[]" type="checkbox" id="id[]" value="<?=$r[id]?>"<?=$checked?>> |
2 |
<input name="infoid[]" type="hidden" value="<?=$r['id']?>"> |
|
在其后面添加如下代码:
1 |
<input name="titleurl[<?=$r[id]?>]" type="hidden" value='<?=$titleurl?>'> |
|
然后在最后一个</table>标签的前面添加如下代码:
2 |
<td height="25" colspan="8"> |
3 |
<input type="submit" name="Submit101" value="批量提交百度"onClick="document.listform.enews.value='Post_Baidu_sitemap'; document.listform.action='ecmsinfo.php';"> |
4 |
<font color="#666666"><p>备注:多选框蓝色为未审核信息;发布者红色为会员投稿;信息ID粗体为未生成,点击ID可刷新页面.</p></font> |
|
3、找到并打开/e/class/userfun.php文件,在最下面添加如下代码:
01 |
//发送给百度时时更新------------------------------- |
02 |
function ePostBaiduSitemap($id,$_urls){ |
03 |
$site = 'www.v239.com';//你的网站域名 |
04 |
$token = 'xxxxxxx';//百度给的token |
08 |
printerror("未选择信息ID", "", 1, 0, 1); |
11 |
for($i=0;$i<$count;$i++) |
13 |
$id[$i] = (int)$id[$i]; |
14 |
if (array_key_exists($id[$i],$_urls)){ |
15 |
$urls[] = $_urls[$id[$i]]; |
24 |
CURLOPT_RETURNTRANSFER => true, |
25 |
CURLOPT_POSTFIELDS => implode("\n", $urls), |
26 |
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), |
28 |
curl_setopt_array($ch, $options); |
29 |
$result = curl_exec($ch); |
30 |
$httpstat = curl_getinfo($ch,CURLINFO_HTTP_CODE); |
33 |
$obj = json_decode($result); |
34 |
printerror("今天剩余{$obj->remain}条,成功提交{$obj->success}条", "", 1, 0, 1); |
36 |
printerror('推送失败', "", 1, 0, 1); |
|
注意上面的代码中填写自己的网站域名跟百度给的token。
使用说明:
打开网站后台——信息,点击任意左侧树形列表,在右侧的信息管理勾选要提交给百度的文章,然后点击列表下面的批量提交百度即可!如下图:
