php自动推送网址到百度和利用宝塔面板计划任务执行(自动百度收录网站)
ChrisXie Lv5

使用静态框架制作网站(Hexo,docusaurus)时候发现百度收录通过手动提交比较慢,主动推送支持框架的比较少,查询后使用phpphp自动推送网址到百度和利用宝塔面板计划任务来实现

一、前期准备

首先你的服务器环境安装了宝塔(没有也可以),或者说支持PHP环境
新建一个php文件,如:baidutoken.php粘贴diam

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
header('Content-Type:text/html;charset=utf-8');
// ini_set('max_execution_time',600);//脚本超时,秒为单位,自己根据需要定义
/** 多个站点只需在这里面新增数组 **/
$data = array(
array(
'url' => 'https://www.xxx.com/sitemap.xml',// 这里修改你站点的xml地图链接
'api' => 'http://data.zz.baidu.com/urls?site=https://www.xxx.com&token=111111111'// 这里修改为你在百度站长获取到的推送接口
),
array(
'url' => 'https://www.xxx.com/sitemap2.xml',// 这里修改你站点的xml地图链接
'api' => 'http://data.zz.baidu.com/urls?site=https://www.xxx.com&token=222222222'// 这里修改为你在百度站长获取到的推送接口
),
);
/** 多个站点只需在这里面新增数组 **/
foreach($data as $value){
echo '================================<br/>';
echo $value['url'].'<br/>';
post_Baidu($value['url'],$value['api']);
}
function post_Baidu($xml_url, $baidu_api) {
$xmldata =file_get_contents($xml_url);
$xmlstring = simplexml_load_string($xmldata,'SimpleXMLElement',LIBXML_NOCDATA);
$value_array = json_decode(json_encode($xmlstring),true);
$url = [];
for ($i =0;$i < count($value_array['url']);$i++){
// echo $value_array['url'][$i]['loc']."<br/>";
$url[]= $value_array['url'][$i]['loc'];
}
//百度推送接口一次只支持推送2000条数据,所以超过2000条的话需要分组推送
$url_group = array_chunk($url,2000);
$count=count($url_group);
for($i=0;$i<$count;$i++){
$ch = curl_init();
$options = array(
CURLOPT_URL => $baidu_api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n",$url_group[$i]),
CURLOPT_HTTPHEADER => array('Content-Type:text/plain'),
);
curl_setopt_array($ch, $options);
$result =curl_exec($ch);
curl_close($ch);
echo $result.'<br/>';
}
}
?>

二、执行

通过宝塔设置每个一段时间自动推送,选择访问URL,URL地址:www.xxx.com/baidutoken.php

如果没有宝塔的;可以手动执行,如浏览器打开:www.xxx.com/baidutoken.php

补充

百度站长的普通收录有一个问题;在站长添加的地址是https://www.xxx.com,那么你的sitemap.xml网站地图生成的地址也是https://www.xxx.com,如果是http,或者http://xxx.com模式就会有问题

 评论
相关文章
标签云 更多