百度有自动PING的接口,可以让网站有新内容后自动PING百度,告诉百度有新内容了,这样可以让百度更快的收录,对于一些百度比较喜欢光顾的网站效果更明显。一些博客系统已经集成的自动PING功能,填上PING地址 http://ping.baidu.com/ping/RPC2 就可以了,但是很多CMS还是没有这个功能的。要集成自动PING功能需要会点技术,INSO只是分享实现方法。
下面是自动ping百度的PHP代码
查看代码打印?
01
// 用法
02
// PingBaidu('网站名称','网站首页网址','新页面的网址','RSS订阅网址');
03
// 例如:PingBaidu('INSO','http://insou.pw','http://insou.pw/pingbaidu.html','http://insou.pw/music');
04
function PingBaidu($sitename,$siteurl,$posturl,$rssurl) {
05
$url = 'http://ping.baidu.com/ping/RPC2';
06
$postvar = '
07
<!--?xml version="1.0" encoding="UTF-8"?-->
08
<methodcall>
09
<methodname>weblogUpdates.extendedPing</methodname>
10
<params>
11
<param><value><string>'.$sitename.'</string></value>
12
<param><value><string>'.$siteurl.'</string></value>
13
<param><value><string>'.$url.'</string></value>
14
<param><value><string>'.$rssurl.'</string></value>
15
</params>
16
</methodcall>';
17
$ch = curl_init();
18
$headers = array(
19
"POST ".$url." HTTP/1.0",
20
"Content-type: text/xml;charset=\"utf-8\"",
21
"Accept: text/xml",
22
"Content-length: ".strlen($postvar)
23
);
24
curl_setopt($ch, CURLOPT_URL, $url);
25
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
26
curl_setopt($ch, CURLOPT_POST, 1);
27
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
28
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
29
$res = curl_exec ($ch);
30
curl_close ($ch);
31
if (strpos($res, "<int>0</int>")){
32
return true;
33
}else{
34
return false;
35
}
36
}