给你的WordPress实现利用自动Ping将文章实时推送到百度

转载 2015年07月08日 22:46:49

Ping服务,也称更新通知服务,是搜索引擎发现网友博客更新的一种方式。使搜索引擎能更快,更全面地收录博客文章。搜索引擎在收到Ping后会在最短时间内对相应博客进行抓取。如何加速搜索引擎快速收录的技巧,ping服务是加速网站收录的重要工具,如何加速网页的收录本文从手动加速收录、使用自动ping服务和使用网站三个方面加速网站的收录。

本文根据百度站长平台官方文档代码实现百度Ping服务,是基于XML_RPC标准协议的更新通告服务,用于博客把内容更新快速通知给百度,以便百度及时进行抓取和更新。

给你的WordPress实现利用自动Ping将文章实时推送到百度 - 技术文摘 | 玩赚乐

Ping服务使用方法:

你可以采取手动通知和自动通知两种方式使用ping服务(百度官方):

  • 手动ping:访问http://ping.baidu.com/ping.html页面,在输入框中输入博客地址或者feed地址,点击“提交博客”按钮即可。
  • 自动ping:如果您的博客程序支持自动ping功能,您只需把百度的Ping服务地址配置到你的Blog发布后台或者客户端程序中,就可以实现自动通知的功能。百度ping服务的地址为:http://ping.baidu.com/ping/RPC2

自动Ping的XML_RPC:

发送给百度Ping服务的XML-RPC客户请求需要包含如下元素:
RPC端点: http://ping.baidu.com/ping/RPC2
调用方法名: weblogUpdates.extendedPing
参数: (应按照如下所列的相同顺序传送)

  • 博客名称
  • 博客首页地址
  • 新发文章地址
  • 博客rss地址

PHP代码实现百度Ping服务:

  1. /**
  2. * 根据百度站长平台提供的API实现百度ping服务
  3. * from http://www.banghui.org
  4. */
  5. class ping{
  6. private $title; //博客名称
  7. private $hosturl; //博客首页地址
  8. private $arturl; //新发文章地址
  9. private $rssurl; //博客rss地址
  10. private $baiduXML; //百度XML结构
  11. private $baiduRPC; //百度XML地址
  12. public function __construct($title,$arturl,$hosturl,$rssurl)
  13. {
  14. if(empty($title) || empty($arturl))
  15. return false;
  16. $this->title=$title;
  17. $this->hosturl=$hosturl;
  18. $this->rssurl=$rssurl;
  19. $this->arturl=$arturl;
  20. $this->baiduRPC='http://ping.baidu.com/ping/RPC2';
  21. $this->baiduXML = '<?xml version="1.0" encoding="UTF-8"?>';
  22. $this->baiduXML .='<methodCall>';
  23. $this->baiduXML .=' <methodName>weblogUpdates.extendedPing</methodName>';
  24. $this->baiduXML .=' <params>';
  25. $this->baiduXML .=' <param><value><string>'.$this->hosturl.'</string></value></param>';
  26. $this->baiduXML .=' <param><value><string>'.$this->title.'</string></value></param>';
  27. $this->baiduXML .=' <param><value><string>'.$this->arturl.'</string></value></param>';
  28. $this->baiduXML .=' <param><value><string>'.$this->rssurl.'</string></value></param>';
  29. $this->baiduXML .=' </params>';
  30. $this->baiduXML .='</methodCall>';
  31. }
  32. public function pingbaidu()
  33. {
  34. $ch = curl_init();
  35. $headers=array(
  36. 'User-Agent: request',
  37. 'Host: ping.baidu.com',
  38. 'Content-Type: text/xml',
  39. );
  40. curl_setopt($ch, CURLOPT_URL, $this->baiduRPC);
  41. curl_setopt($ch, CURLOPT_HEADER, 1);
  42. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  43. curl_setopt($ch, CURLOPT_POST, 1);
  44. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  45. curl_setopt($ch, CURLOPT_POSTFIELDS, $this->baiduXML);
  46. $res = curl_exec ($ch);
  47. curl_close ($ch);
  48. //return $res;
  49. /**
  50. * ping-service响应举例: 
  51. * ping-service对非POST方法请求返回HTTP_METHOD_NOT_ALLOWED(405)错误代码
  52. * 对超大错误包返回HTTP_REQUEST_ENTITY_TOO_LARGE(413)错误代码
  53. * 对非“text/xml”请求包返回HTTP_UNSUPPORTED_MEDIA_TYPE(415)错误代码
  54. * 其他情况返回HTTP_OK(200)代码
  55. * xml-rpc响应http包体为一个xml文档,含有一个int值,0表示推送成功,其他值表示推送失败,目前只有0和1。
  56. */
  57. return (strpos($res,"<int>0</int>"))?true:false;
  58. }
  59. }
  60.  
  61. //调用方式:
  62. //$arc = new Ping('网站标题','更新的URL地址','网站域名','rss地址');
  63. $arc = new Ping('csdn','http://www.csdn.net/4377.html','http://www.csdn.net','http://www.csdn.net/feed');
  64. //返回结果为true 表示成功。
  65. echo $arc->pingbaidu();

一般来说通过自己去百度ping之后,百度爬虫会在10分钟左右到达你的网站,但是你的网站内容是否符合百度要求,这个是要看百度的。是否收录,和收录情况这个主要看的你文章内容,所以大家还是安安心心好好做原创文章才是王道

关于WordPress献给初学者:增强搜索引擎对网站的优化

编者前言:不需要更多的新技术,我什么都没有。如果你的博客或者有售卖的产品/服务对你的访问者没有用,做SEO也不能带你走得很远。只有当你的博客内容是好的情况下,调整你的WordPress网站才能进行。在...
  • wu_now
  • wu_now
  • 2012年08月03日 17:38
  • 601

WordPress中如何实现Ping功能

WordPress中如何实现Ping功能使用WordPress的朋友都知道通过配置WordPress的Ping服务列表,就可以在你发布新文章时,立即自动通知搜索引擎蜘蛛来抓取,第一时间更新订阅的频道(...
  • speeder2008
  • speeder2008
  • 2011年02月14日 13:29
  • 808

网站搭建从零开始(七) WordPress站点的完善

1、WordPress网站前后端常用语言简介和运行过程 通常一个网站的整个构建过程中需要大量的技术支持,尤其是用到很多种计算机语言。网站的构建主要分后端和前端两部分,后端代码在服务器上运行,而前端程...
  • jzj1993
  • jzj1993
  • 2014年11月01日 23:48
  • 1632

百度对wordpress博客非常不友好的原因

百度对wordpress非常不友好,这似乎已经成为众所周知的公开秘密,而可能很多人不知情或者即使知道还期望着有奇迹,但是这中间似乎的确有奇迹,只是奇迹总是落不到您的头上;为什么呢?因为:你不走运。除非...
  • luyong3435
  • luyong3435
  • 2014年05月27日 21:45
  • 379

[自制工具]实现自动推送Hexo博客文章至百度

写在前面  我们在博客发布文章时,总是希望百度能尽快收录我们的文章,但是如果傻傻等百度爬虫爬到我们这种小站点的文章……不知道要等到何年何月= =基于此,百度站长平台提供了主动推送文章至百度的接口。但是...
  • LemonXQ
  • LemonXQ
  • 2017年11月23日 16:05
  • 316

打通WordPress和微信公众号

在移动互联网的时代,尽管网站响应式设计可以满足多屏(pc、手机、ipad等)浏览,但google在2015年10月推出了更快移动页面访问速度的技术-Accelerated Mobile Pages(A...
  • xjbx
  • xjbx
  • 2017年02月20日 14:44
  • 1958

DedeCMS添加Sitemap自动生成+百度ping推送功能

织梦的后台无法自动生成Sitemap,也不支持百度Ping,今天这篇就是教大家添加为DedeCMS自动生成Sitemap+ping百度功能 ,Sitemap工具可以改善收录,最新发布文章可以通过p...
  • xrl2012
  • xrl2012
  • 2015年01月13日 09:22
  • 1268

Ping百度服务,让百度第一时间收录

[文章作者:磨延城 转载请注明原文出处: http://mo2g.com/view/33/ ] ​在我没做磨途歌博客之前,跟一位seo讨论了防采集的办法,记得当时该朋友告诉我,那些有名的博主不...
  • redmoon729
  • redmoon729
  • 2014年04月11日 16:04
  • 463

java以post方式实现百度Sitemap实时推送

直接用文中代码即可 public class BaiDuUtil { private static String url = "http://data.zz.baidu.com/urls?site...
  • chen_pt
  • chen_pt
  • 2017年02月27日 14:02
  • 589

将本地的git项目推送到gitHub中的操作

将你的本地git项目上传到github中
  • lmzqm
  • lmzqm
  • 2017年04月26日 10:46
  • 309
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:给你的WordPress实现利用自动Ping将文章实时推送到百度
举报原因:
原因补充:

(最多只允许输入30个字)