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程序设计有所帮助。