从上篇文章苹果cms生成超过30URL网站地图的方法介绍得知,各大站长平台的Sitemap文件要求并不一样。
然而,其实就算是5w地址,也是远远不够的。不过我们可以后台生成-生成选项中,选择生成多页的Sitemap文件。不过每次都要手动生成,非常的麻烦。遂尝试使用苹果cms的定时任务,每隔一段时间定时更新Sitemap文件。
直接右键复制生成选项的链接,然后在新建一个浏览器标签页中打开。再右键鼠标查看源代码。我们可以在下面看到这样一串代码:
<hr class="layui-bg-gray">
<div class="layui-form-item">
<label class="layui-form-label">SiteMap:</label>
<div class="layui-input-inline w800">
<div class="layui-btn-container">
<input type="button" value="RSS订阅文件" class="layui-btn layui-btn-primary" onclick="post('ac=rss&ac2=index');">
<input type="button" value="谷歌SiteMap" class="layui-btn layui-btn-primary" onclick="post('ac=rss&ac2=google');">
<input type="button" value="百度SiteMap" class="layui-btn layui-btn-primary" onclick="post('ac=rss&ac2=baidu');">
<input type="button" value="SO-SiteMap" class="layui-btn layui-btn-primary" onclick="post('ac=rss&ac2=so');">
<input type="button" value="搜狗SiteMap" class="layui-btn layui-btn-primary" onclick="post('ac=rss&ac2=sogou');">
<input type="button" value="Bing-SiteMap" class="layui-btn layui-btn-primary" onclick="post('ac=rss&ac2=bing');">
<input type="button" value="神马-SiteMap" class="layui-btn layui-btn-primary" onclick="post('ac=rss&ac2=sm');">
</div>
</div>
<label class="layui-form-label">生成页数:</label>
<div class="layui-input-inline w200">
<input type="text" name="ps" class="layui-input" placeholder="请输入生成页数默认1页" value="1" />
很明显,ac=rss&ac2=xxxx就是定时任务所需要的附加参数了。
RSS订阅文件 ac=rss&ac2=index
谷歌SiteMap ac=rss&ac2=google
百度SiteMap ac=rss&ac2=baidu
SO-SiteMap ac=rss&ac2=so
搜狗SiteMap ac=rss&ac2=sogou
Bing-SiteMap ac=rss&ac2=bing
神马-SiteMap ac=rss&ac2=sm
后面只需要在定时任务中添加就可以了,如果你只需要生成一页。那么到这里就已经结束了。
在网站根目录/application/admin/controller/中打开Make.php文件,找到以下代码。
public function rss()
{
mac_echo('<style type="text/css">body{font-size:12px;color: #333333;line-height:21px;}span{font-weight:bold;color:#FF0000}</style>');
if(!in_array($this->_param['ac2'], ['index','baidu','google','so','sogou','bing','sm'])){
return $this->error('参数错误');
}
if(empty(intval($this->_param['ps']))){
$this->_param['ps'] = 1;
}
$GLOBALS['aid'] = mac_get_aid('rss');
$this->label_maccms();
for($i=1;$i<=$this->_param['ps'];$i++){
$par =[];
if($i>1){
$par['page'] = $i;
$_REQUEST['page'] = $i;
}
$link = mac_url('rss/'.$this->_param['ac2'],$par);
$this->buildHtml($link,'./','rss/'.$this->_param['ac2']);
$this->echoLink($link,$link);
}
if(ENTRANCE=='admin') {
mac_jump(url('make/opt'), 3);
}
exit;
}
将$this->_param['ps'] = 1;的值改为你想生成的地图数量,这个值是全局的,改了后所有的Sitemap文件都会生成该值的数量。如我是生成5页,就改为$this->_param['ps'] = 5;
后面再去测试定时任务,就会看到生成5页的Sitemap文件了。

Comments NOTHING