这里有新鲜出炉的 PHP 设计模式,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
这篇文章主要介绍了 php 基于 curl 主动推送最新内容给百度收录的方法, 分析了百度链接的提交方式及 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0803/342046.html