php基于curl主动推送最新内容给百度收录的方法

本文实例讲述了php基于curl主动推送最新内容给百度收录的方法。分享给大家供大家参考,具体如下:

php curl的好处可以以最快的方式并且模仿post提供我们的url地址给百度搜索引擎进行收录。

百度链接提交三种方式:

1、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。

2、sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。

3、手工提交:一次性提交链接给百度,可以使用此种方式。

下面介绍使用curl主动推送链接的方式PHP示例,使用curl扩展:

$urls = array(
 'http://www.example.com/1.html',
 'http://www.example.com/2.html',
);
$api = 'http://data.zz.baidu.com/urls?site=www.dayecn.com&token=Db0ZoYUOwUyEp87Z';
$ch = curl_init();
$options = array(
 CURLOPT_URL => $api,
 CURLOPT_POST => true,
 CURLOPT_RETURNTRANSFER => true,
 CURLOPT_POSTFIELDS => implode("\n", $urls),
 CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;

首先要在百度站长平台验证站点,然后获取token密钥,才有权限推送url给百度。百度站长平台:http://zhanzhang.baidu.com

可以在发布一篇文章的时候就把这篇文章的url推送给百度站长平台,或者批量推送,通过返回的$result状态判断推送是否成功,返回的状态码说明:

推送成功:

状态码为200,可能返回以下字段:

字段 是否必选 参数类型 说明
success int 成功推送的url条数
remain int 当天剩余的可推送url条数
not_same_site array 由于不是本站url而未处理的url列表
not_valid array 不合法的url列表

成功返回示例:

{
 "remain":4999998,
 "success":2,
 "not_same_site":[],
 "not_valid":[]
}

推送失败:

状态码为4xx,返回字段有:

字段 是否必传 类型 说明
error int 错误码,与状态码相同
message string 错误描述

失败返回示例:

{
 "error":401,
 "message":"token is not valid"
}

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • php redis实现对200w用户的即时推送

    怎么实现对200w用户的即时推送,这个推送可以理解为调用第三方的接口,push,sms之类的东西. 当时先写了一个demo 直接读取DB然后单个推送,结果..可想而知 于是设计一套基于redis+php多进程的方案,用着还不错而去扩展性蛮高的,故分享之. ============================================= 具体的逻辑如下:(无视我的字体) 其实这里还可以优化的,我的设想是如果用户数据再多一些的话,可以在redis里对数据进行分割采取多List,每一个Lis

  • php ios推送(代码)

    复制代码 代码如下: <?php//php需要开启ssl(OpenSSL)支持$apnsCert    = "ck.pem";//连接到APNS时的证书许可文件,证书需格外按要求创建$pass        = "123456";//证书口令$serverUrl   = "ssl://gateway.sandbox.push.apple.com:2195";//push服务器,这里是开发测试服务器$deviceToken = "a

  • 验证token、回复图文\文本、推送消息的实用微信类php代码

    本文实例为大家分享了用于验证token,回复图文.文本,向用户推送消息等功能的微信类,具体代码如下 <?php class Wechat{ private $data = array(); public function __construct($token){ $this -> auth($token, $wxuser) || exit; if(IS_GET){ echo($_GET['echostr']); exit; }else{ $xml = file_get_contents(&qu

  • php实现微信公众号主动推送消息

    通过学习借鉴朋友的实现方法进行整理,实现了PHP版的微信公共平台消息主动推送,分享给大家供大家参考,具体内容如下 此方法是通过模拟登录微信公共平台的方法来实现的. 代码如下: 一.登录接口部分代码 //登录 private function login(){ $url = 'https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN'; $this->send_data = array( 'username' => $this->_account,

  • 解析php做推送服务端实现ios消息推送

    准备工作1.获取手机注册应用的deviceToken(iphone手机注册应用时返回唯一值deviceToken)2.获取ck.pem文件(做手机端的给)3.获取pass phrase(做手机端的给) testpush.php文件 复制代码 代码如下: <?php//手机注册应用返回唯一的deviceToken$deviceToken = '6ad7b13f b05e6137 a46a60ea 421e5016 4b701671 cc176f70 33bb9ef4 38a8aef9';//ck.

  • php基于curl主动推送最新内容给百度收录的方法

    本文实例讲述了php基于curl主动推送最新内容给百度收录的方法.分享给大家供大家参考,具体如下: php curl的好处可以以最快的方式并且模仿post提供我们的url地址给百度搜索引擎进行收录. 百度链接提交三种方式: 1.主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录. 2.sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度.百度会周期性的抓取检查您提交的sitemap,对其中的链接进行

  • 微信小程序模板消息限制实现无限制主动推送的示例代码

    需求背景 基于微信的通知渠道,微信小程序为开发者提供了可以高效触达用户的模板消息能力,在用户本人与小程序页面有交互行为后触发,通过微信聊天列表中的服务通知可快捷进入查看消息,点击查看详情还能跳转到下发消息的小程序的指定页面. 微信小程序允许下发模板消息的条件分为两类:支付或者提交表单.通过提交表单来下发模板消息的限制为"允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下条数独立,相互不影响)". 然而,用户1次触发7天内推送1条通知是明显不够用的.比如,

  • ASP.net百度主动推送功能实现代码

    官方提供了curl.post.php.ruby的实现示例,并没有C#的官方示例.既然提供了post的方式,那么就可以用C#实现,下面是实现代码: ASP.net百度主动推送代码范例 public static string PostUrl(string[] urls)      {          try         {              string formUrl = "http://data.zz.baidu.com/urls?site=www.yoursite.com&am

  • Ruby实现邮件主动推送触发程序

    邮件服务器接收到邮件后,service push通知程序.有什么办法实现吗? 1.客户端轮询 2.服务器主动推送. 首先熟悉一下,收发邮件的协议: Net::SMTP(发送邮件) Net::POP3(接收邮件) Net::IMAP(接收邮件) 网上很多用pop3收邮件的例子,但是用pop3收邮件只能获取收件箱里面所有邮件,邮件是否已读等标记无法获取,使用imap协议则避免了这个尴尬,imap不仅能获得一个邮件的详细信息(比如是否已读,是否回复),它还允许用户更改邮件的标记,但是目前支持imap协

  • 详解spring集成mina实现服务端主动推送(包含心跳检测)

    本文介绍了spring集成mina实现服务端主动推送(包含心跳检测),分享给大家,具体如下: 服务端 1.常规的spring工程集成mina时,pom.xml中需要加入如下配置: <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>1.7.7</version> </dependency>

  • ASP 百度主动推送代码范例

    范例代码 function BytesToBstr(body,Cset)     dim objstream  set objstream = Server.CreateObject("adodb.stream") objstream.Type = 1  objstream.Mode =3  objstream.Open  objstream.Write body  objstream.Position = 0  objstream.Type = 2  objstream.Charse

  • 微信java开发之实现微信主动推送消息

    1.拉取access_token2.拉取用户信息3.主动推送消息4.接口貌似要申请权限5.依赖httpclient4.2.3 和jackson 2.2.1 复制代码 代码如下: public class WeixinAPIHelper { /**  * 获取token接口  */ private String getTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=

  • iOS点击推送消息跳到应用指定页面方法

    现在的推送用的越来越频繁,几乎每个应用都开始用到了.其实又有几个用户会去看推送消息呢?没办法,产品经理最大啊,只是苦了我们这一帮程序员啊!闲话少说,进入正题.兄弟我用的是极光推送,自然是以极光推送为例了. 现在点击推送消息,有两种跳转方式:1.打开应用,跳转到应用首页:2.打开应用,跳转到指定页面. ​第一种,你什么都不用设置,只要注册极光应用就可以.这里就不写怎么注册极光应用了,可以参考官方文档,写的很详细. 第二种,重头戏来了. // APP未运行时获取通知的内容 remoteNotific

  • PHP基于curl post实现发送url及相关中文乱码问题解决方法

    本文实例讲述了PHP基于curl post实现发送url及相关中文乱码问题解决方法.分享给大家供大家参考,具体如下: 这个问题困扰我几天了,发送的指定网址的url参数,中文总是乱码,指定网址是utf8编码的,我发送的也是utf8编码的.但是还是乱码,开始用的file_get_contents,后来换成curl并在php.ini中开启了php_curl,还是不行,又加了header终于解决.代码如下: $url = 'http://'; //调用接口的平台服务地址 $post_string = a

随机推荐