为了在站点根目录新建一个PHP文件并实现百度站点地图的自动推送功能,你可以按照以下步骤操作:
第一步:创建并编辑 baidu.php
文件
-
创建
baidu.php
文件: 在站点根目录新建一个名为baidu.php
的文件。 -
编辑
baidu.php
文件: 复制以下代码并粘贴到baidu.php
文件中,并根据提示修改相关链接。
<?php
header('Content-Type: text/html; charset=utf-8');
/** 只需修改这里面的两个链接 **/
$xml_url = "域名/Sitemap.xml"; // 这里修改你站点的xml地图链接
$baidu_api = 'http://data.zz.baidu.com/urls?site=https://域名&token=123456789'; // 这里修改为你在百度站长获取到的推送接口
// 读取XML数据
$xmldata = file_get_contents($xml_url);
$xmlstring = simplexml_load_string($xmldata, 'SimpleXMLElement', LIBXML_NOCDATA);
// 解析XML数据
$value_array = json_decode(json_encode($xmlstring), true);
// 提取URL列表
$url = [];
foreach ($value_array['url'] as $item) {
if (isset($item['loc'])) {
$url[] = $item['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>";
}
?>
修改说明
-
修改站点的XML地图链接:
- 将
$xml_url
修改为你的站点地图链接,例如:php$xml_url = "https://yourdomain.com/sitemap.xml";
- 将
-
修改百度推送接口:
- 将
$baidu_api
修改为你在百度站长平台获取到的推送接口,例如:php$baidu_api = 'http://data.zz.baidu.com/urls?site=https://yourdomain.com&token=your_token';
- 将
第二步:上传文件到服务器
-
登录宝塔面板:
- 登录你的宝塔面板。
-
上传文件:
- 导航到站点的根目录,通常为
/www/wwwroot/yourdomain.com
。 - 新建一个名为
baidu.php
的文件,并将上述代码粘贴进去。 - 保存文件。
- 导航到站点的根目录,通常为
宝塔面板操作步骤
-
登录宝塔面板:
- 打开浏览器,输入宝塔面板的IP地址和端口号(通常是
http://ip:8888
)。
- 打开浏览器,输入宝塔面板的IP地址和端口号(通常是
-
进入文件管理器:
- 登录后,在左侧菜单栏选择“文件”选项。
-
上传文件:
- 导航到站点的根目录,例如
/www/wwwroot/yourdomain.com
。 - 点击右键,选择“新建文件”,命名为
baidu.php
。 - 右键点击
baidu.php
文件,选择“编辑”,将上述代码粘贴进去。 - 保存文件。
- 导航到站点的根目录,例如
通过以上步骤,你可以在站点根目录创建并配置好 baidu.php
文件,实现站点地图的自动推送功能。