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

yipeiwu_com5年前PHP代码库

本文实例讲述了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程序设计有所帮助。

相关文章

浅谈PHP强制类型转换,慎用!

PHP是一门弱类型的语言。这是它的优势和特点,但是有的时候你又不得不对类型进行相应的转换。 这个时候问题就来了。因为很多情况下,你会发现转换类型之后得到的数据和预期的值相差老大一截。 这...

详解PHP中的Traits

PHP是单继承的语言,在PHP 5.4 Traits出现之前,PHP的类无法同时从两个基类继承属性或方法。php的Traits和Go语言的组合功能类似,通过在类中使用use关键字声明要组...

PHP实现判断二叉树是否对称的方法

本文实例讲述了PHP实现判断二叉树是否对称的方法。分享给大家供大家参考,具体如下: 问题 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定...

探讨GDFONTPATH能否被winxp下的php支持

php学习中遇一问题,使用GD库绘图,设置字体路径变量:putenv('GDFONTPATH=c:\windows\Fonts');$fontname='arial';$bbox=ima...

PHP取进制余数函数代码

复制代码 代码如下: //取进制位上的数值 function getRemainder($num, $bin, $pos, &$result = 0){ //author lianq.n...