实现发布文章同步Ping搜索引擎的Behavior
程序员文章站
2022-05-27 10:37:58
...
使用thinkphp的行为扩展Ping搜索引擎服务
Ping搜索引擎可以在发布新文章的同时通知搜索引擎,其实最主要的是通知搜索引擎,这篇文章是我原创的,当然了,搜索引擎不是你告诉他原创就原创了,但如果文章是原创的话好处当然是有的。
今天就用ThinkPHP的行为来实现Ping,其实代码很简单,也可以自行添加不同的搜索引擎Ping地址。
上代码:
示例代码:
原文地址:http://www.molibei.com/article/5.htm
Ping搜索引擎可以在发布新文章的同时通知搜索引擎,其实最主要的是通知搜索引擎,这篇文章是我原创的,当然了,搜索引擎不是你告诉他原创就原创了,但如果文章是原创的话好处当然是有的。
今天就用ThinkPHP的行为来实现Ping,其实代码很简单,也可以自行添加不同的搜索引擎Ping地址。
上代码:
'http://ping.baidu.com/ping/RPC2',
'google' => 'http://blogsearch.google.com/ping/RPC2',
'bloglines' => 'http://www.bloglines.com/ping'
);
//拼接xml
//@author LiaoCaiXin
public function run(&$data){
$xml = '
weblogUpdates.extendedPing
' . $data['blog_name'] . '
' . $data['blog_home'] . '
' . $data['blog_url'] . '
' . $data['rss_url'] . '
';
$xml_baidu = '
weblogUpdates.extendedPing
' . $data['blog_name'] . '
' . $data['blog_home'] . '
' . $data['blog_url'] . '
' . $data['rss_url'] . '
';
foreach($this->services as $k => $s){
$s = trim($s);
if(!empty($s)){
$c = curl_init();
$header = array(
"Content-type: text/xml;charset=\"utf-8\"",
"Accept: text/xml"
);
curl_setopt_array(
$c,
array(
CURLOPT_URL => $s,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $header,
CURLOPT_POSTFIELDS => $k === 'baidu' ? $xml_baidu : $xml
)
);
$content=curl_exec($c);
curl_close($c);
}
}
}
}
调用也很简单,在模型和控制器中调用都行,我是在控制器调用的。示例代码:
//更新Ping
//需要更新的url列表
$update = array(
'blog_name' => '魔力贝',
'blog_home' => 'http://www.molibei.com',
'blog_url' => U('article/index@www.molibei.com',array('id'=>$id)),
'rss_url' => U('rss/index@www.molibei.com')
);
tag('ping',$update);
就可以实现发布文章的同时Ping搜索引擎了原文地址:http://www.molibei.com/article/5.htm
AD:真正免费,域名+虚机+企业邮箱=0元