我们知道主动推送有助于搜索引擎对网站内容进行抓取收录,wordpress或主流的CMS其实都集成了推送功能。但是如果我们想定时退送,而不是只是在发布的时候推送一次。可以结合PHP和宝塔面板的计划任务实现这一功能
PHP代码
PHP 代码:<?php
header('Content-Type:text/html;charset=utf-8');
$xmldata = file_get_contents("https://自己网站/sitemap.xml");
$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'];
}
$api = '百度站长的推送接口';
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => implode("n", $url),
CURLOPT_HTTPHEADER => array('Content-Type:text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;
?>
使用说明
在网站根目录下新建php文件,文件名随意,例baidu.php,填写网站sitemap.xml地址和百度站长的推送接口,把自定义的文件地址添加在宝塔计划任务,选择访问URL,自定义执行时间后,保存即可。