使用sitemapx,宝塔,PHP实现自动提交sitemap到百度资源收录

  1. ,,,其实这可能是个伪命题,因为sitemapx这个软件虽然有计划任务,也会执行。但是执行完毕之后不会自动生成sitemap文件。有可能是我不会使用,有精通的大佬请评论告知,在此现行拜谢!

  2. 首先安装sitemapx软件,我一路next安装路径全部默认。安装完毕之后,打开软件选择新建,完成新建工程之后下一步下一步(在此省略生成sitemap.txt/xml步骤)。此时sitemap保存路径应该是在C:\ProgramFiles (x86)\SitemapX\Product

  3. 新建php文件,并保存。

$a=glob('C:\Program Files (x86)\SitemapX\Product\*');//获取product目录下的所有目录
$b=glob($a[0].'\*');//获取product目录下下标为0的目录下的目录
$c=glob($b[0].'\*');
$length=count($c);//获得$c的长度
$d=glob($c[$length-2].'\*');
//var_dump($d[3]);die;//打印出sitemap.txt目录地址
$file = $d[3];
if(file_exists($file)) {
    $content = file_get_contents($file);    //文件内容读入字符串
    //var_dump($content);die;
    if (empty($content)) {
        echo "文件内容为空";
    } else {
        $content = mb_convert_encoding($content, 'UTF-8', 'ASCII,UTF-8,GB2312,GBK,BIG5'); //转换字符编码为utf-8
        $array = explode("\r\n", $content); //转换成数组
        $array = array_filter($array);  // 去空
        $array = array_unique($array);  // 去重
        $array=array_values($array);//必须加上这个,否则提交的时候会出现提交键值对的现象,虽然提示提交成功。
        $urls = $array;
        $api = 'xxx';//此处填写百度给你的接口调用地址
        $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;
    }
}else{
    echo "文件不存在";
}
  1. 宝塔中配置好apache或者Nginx,确保本地能访问到刚刚创建的php文件。然后点击宝塔中的计划任务选择访问URL,并将访问地址填入输入框。设置好时间,这样每天只需要手动生成一下sitemap就行了(这里说的手动是因为我不知道sitemapx计划任务如何自动生成sitemap文件。。。。)

如果对您有用,还请不吝点赞在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值