本文出自悠然品鉴,转载请务必注明出处:http://www.youranshare.com/codeorg/sid/127.html
作为一个新站的站长最关心的事情莫非是搜索引擎的收录问题了,这也是小悠比较头疼的问题,小悠的这个悠然品鉴是自己使用PHP写的,不像使用了Wordpress的那样的博客可以使用百度的结构化插件自动向百度推送新的更新内容,所以就只能自力更生自己写一个百度ping请求向百度推送网站的更新内容了。
曾经看到有人是这样子描述百度的ping服务的,当你更新了你的内容,然后ping百度告诉度娘,“喂度娘、我更新了新的内容,内容地址是http://xxxx,有时间你来看一下,要是没时间来看的话请记住我是2014年7月8日23:46:48提交的这个链接的内容,如果有与我相同的那就是抄袭我的、、、”,真心赶脚这种描述是很形象的嘛。
说实话我使用百度的ping服务主要是为了防止自己的原创文章被恶意采集,因为作为一个新站,百度不能第一时间收录到自己的更新内容,而如果自己的文章一旦遭到恶意采集并且被百度提前收录的话,当百度慢慢悠悠收录到自己的内容的时候由于被别人采集的内容已经被收录,那么百度就会判定成我是抄袭者,这对于新站来说真是特么的多不公平啊,所以还是自己写一个ping百度服务的东西第一时间向百度推送才是关键。下面给大家分享一下小悠现在使用的PHP版本的ping百度服务的代码:
//ping.php文件代码
<?php function postUrl($url, $postvar) { $ch = curl_init(); $headers = array( "POST ".$url." HTTP/1.0", "Content-type: text/xml; charset="utf-8"", "Accept: text/xml", "Content-length: ".strlen($postvar) ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar); $res = curl_exec ($ch); curl_close ($ch); return $res; } // 在这个拼接的XML中一共分为4个<param部分 //博客名称 //博客首页地址 //新发文章地址(可以多个地址) //博客rss地址 //我们看下面的例子,用腾讯QQ官网作为例子 $baiduXML = "<?xml version="1.0" encoding="utf-8"?> <methodCall> <methodName>weblogUpdates.extendedPing</methodName> <params> <param><value><string>腾讯QQ</string></value></param> <param><value><string>http://www.qq.com</string></value></param> <param><value><string>http://www.qq.com/xxxxx1.html</string></value></param> <param><value><string>http://www.qq.com/xxxxx2.html</string></value></param> <param><value><string>http://www.qq.com/xxxxx3.html</string></value></param> <param><value><string>http://www.qq.com/rss</string></value></param> </params> </methodCall>"; $res = postUrl("http://ping.baidu.com/ping/RPC2", $baiduXML); if ( strpos($res, "<int>0</int>") ) { echo "PING成功".$res; } else { echo "PING失败"; } ?>
我们打开这个链接可以看到,ping成功了.
最后小悠提醒一下,一次ping不要推送太多的链接,小悠最多只能一次推送6条,再多就会失败...