**百度链接提交三种方式:**
1、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
2、sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
3、手工提交:一次性提交链接给百度,可以使用此种方式。
下面介绍使用curl主动推送链接的方式PHP示例,使用curl扩展:
首先要在百度站长平台验证站点,然后获取token密钥,才有权限推送url给百度。百度站长平台:http://zhanzhang.baidu.com
```
/**
* 百度站长平台链接推送
* author: panzhide
* @param $urls url数组
* @return array
* @date 2020/11/12
*/
function push_baidu(){
$urls = array(
'http://www.a01ys.com/detail/30626.html',
'http://www.a01ys.com/detail/38865.html',
);
$api = 'http://data.zz.baidu.com/urls?site=www.a01ys.com&token=0bWyTxSoiBDxIIib';
$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;
}
```
可以在发布一篇文章的时候就把这篇文章的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"
}
```