我们都知道百度站长平台有个实时推送功能,用于网站发布内容后直接推送至百度搜索引擎,这样非常利于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。
使用说明:
打开网站后台——信息,点击任意左侧树形列表,在右侧的信息管理勾选要提交给百度的文章,然后点击列表下面的批量提交百度即可!如下图:
