最近忙于项目,CMSYOU又有一段时间没跟大家分享有关Phpcms建站的知识了,今天在这里跟大家分享Phpcms v9自动推送URL到百度,以便百度快速收录。
Phpcms v9自动推送URL到百度这一方法不是新技术,只是根据百度站长平台(http://zhanzhang.baidu.com/)的链接提交》自动提交》主动推送(实时)中的PHP示范方法集成到Phpcms V9。CMSYOU综合网上的资料,具体整理方法如下:
1、在Phpcms的函数目录libs/functions/下的拓展函数文件extention.func.php文件中添加自定义百度推送函数:
/*** baidu推送 @cmsyou* @return result*/function push_baidu($bdurls){$api = 'http://data.zz.baidu.com/urls? site=www.cmsyou.com&token=TT123456TT';$ch = curl_init();$options = array(CURLOPT_URL => $api,CURLOPT_POST => true,CURLOPT_RETURNTRANSFER => true,CURLOPT_POSTFIELDS => implode("\n", $bdurls),CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),);curl_setopt_array($ch, $options);$result = curl_exec($ch);$result = json_decode($result, 1);return $result;}
注:其中的百度推送接口URL(www.cmsyou.com&token=TT123456TT)注意修改成自己的。具体接口url见百度站长平台(位置:链接提交》自动提交》主动推送)。
2、在编辑发布提交函数中调用该方法、做到实时推送:
修改phpcms/model/content_model.class.php文件第224行左右的:
//生成静态if(!$isimport && $data['status']==99) {//在添加和修改内容处定义了 INDEX_HTMLif(defined('INDEX_HTML')) $html->index();if(defined('RELATION_HTML')) $html->create_relation_html($catid);}
在这段中间增加几行百度推送函数,修改为:
//生成静态if(!$isimport && $data['status']==99) {//百度推送$bdurls[] = 'http://'.SITE_URL.$urls[1];$push_result = push_baidu($bdurls);$msg = '';if ($push_result['success'] < 1) { $msg = '百度推送链接失败!'; }//在添加和修改内容处定义了 INDEX_HTMLif(defined('INDEX_HTML')) $html->index();if(defined('RELATION_HTML')) $html->create_relation_html($catid);}
3、在批量生成方法crete_html.php里边加入推送代码:
修改modules/content/crete_html.php文件534行左右,在$this->html->show($urls[1],$r,0,'edit',$r['upgrade']);后面加入:
//百度推送$bdurls[] = $r['url'];$push_result = push_baidu($bdurls);$msg = '';if($push_result['success'] < 1){$msg = '百度联盟推送链接失败!';}
这样就实现了在编辑、发布文章,以及批量生成内容页的时候,实时主动推送文章URL到百度平台。
欢迎大家测试指正错误,最后,欢迎大家收听CMSYOU官方微博,看完CMSYOU思优团队的文章有疑问,那就在下面留言探讨吧!
点击加载更多