我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

我之前主动推送网站地图(sitemap.xml)都是利用的推送软件来推送的。网站一多了之后,操作起来很麻烦,要复制每一个网站的 api 链接进行提交,而且有时候会忘记。所以在网上找到了一个方法来进行自动提交。非常好用。

之前写到过,宝塔计划任务执行 PHP 文件的文章。原文:《宝塔 Nginx 面板 PHP 文件计划任务 配置教程》。接下来我们就利用这个方法来做一个定时自动推送。


首先在网站根目录建设一个 PHP 文件(可以放在任何目录,只要在计划任务时候填写正确的路径即可)。我这里将这个 PHP 文件命名为,Baidu_Push.php

代码:

  1. $token='http://data.zz.baidu.com/urls?site=www.xxx&token=xxxxx';//去百度获取
  2. $xml_string=file_get_contents("http://www.xxx.cn/sitemap.xml");//网站xml地图
  3. $xml_string=trim($xml_string);
  4. $xml_object=simplexml_load_string($xml_string);
  5. $array=[];
  6. $i=0;
  7. foreach($xml_object->urlas$key=>$value){
  8. //默认一次提交100,适合用于泛目录的xml地图(因为刷新一次就随机变),普通的网站的会出现重复提交,慎用,非要用就把$i数值改成2000百度不允许超过2000
  9. if($i===100){
  10. break;
  11. }
  12. $array['aa']=get_object_vars($value);
  13. $url.=$array['aa']['loc']."\n";
  14. $i++;
  15. }
  16. $urls=explode("\n",$url);
  17. $ch=curl_init();
  18. $options=array(
  19. CURLOPT_URL=>$token,
  20. CURLOPT_POST=>true,
  21. CURLOPT_RETURNTRANSFER=>true,
  22. CURLOPT_POSTFIELDS=>implode("\n",$urls),
  23. CURLOPT_HTTPHEADER=>array('Content-Type:text/plain'),
  24. );
  25. curl_setopt_array($ch,$options);
  26. $result=curl_exec($ch);
  27. echo$result;
  28. ?>

建立好这个文件后,就可以在计划任务中添加任务了。
这样,每天就可以自信推送了。推送返回:


TAG:sitemap

免责声明:本站内容(文字信息+图片素材)来源于互联网公开数据整理或转载,仅用于学习参考,如有侵权问题,请及时联系本站删除,我们将在5个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)

我们已经准备好了,你呢?

我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

132-7207-3477

上班时间

周一到周五

二维码
线