|
前段时间用DZ+三丰云的免费云服务器搭建了一个宠物网,服务器本身比较稳定,但是发现了一个关于DZ的问题;DZ也算是老牌并且稳定的建站系统了,但是它本身并不具备生成sitemap的功能,对于百度等搜索引擎的收录有狠大的影响,DZ的应用商城也有不少生成sitemap.xml网站地图的插件,但是售价几乎都是1、200元,这么简单的一个功能也成了割韭菜的渠道,今天给大家分享两种借助DZ后台计划任务就能轻松实现sitemap.xml网站地图的生成方法。
方法一(只针对论坛版块生成sitemap.xml):
●建立一个名为“cron_sitemap.php”的文件;
●复制以下代码区的内容到“cron_sitemap.php”中,并保存文件;
PS:注意编码,选择自己DZ对应的编码,我自己用的是UTF-8版本DZ
<?php
if(!defined(&#39;IN_DISCUZ&#39;)) {
exit(&#39;Access Denied&#39;);
}
$filename=&#39;sitemap.xml&#39;;
//以下五项根据具体情况修改即可
$cfg_updateperi=&#39;60&#39;;//协议文件更新周期的上限,单位为分钟
$web_root=$_G[&#39;siteurl&#39;];//根网址
$CHARSET=&#39;utf-8&#39;;// or gbk //选择编码方式
/***********************************************************************************************/
//网站地图sitemap.xml
$sitemap=&#34;<?xml version=\&#34;1.0\&#34; encoding=\&#34;UTF-8\&#34;?>\n&#34;;
$sitemap.=&#34;<urlset\n&#34;;
$sitemap.=&#34;xmlns=\&#34;http://www.sitemaps.org/schemas/sitemap/0.9\&#34;\n&#34;;
$sitemap.=&#34;xmlns:xsi=\&#34;http://www.w3.org/2001/XMLSchema-instance\&#34;\n&#34;;
$sitemap.=&#34;xsi:schemaLocation=\&#34;http://www.sitemaps.org/schemas/sitemap/0.9\n&#34;;
$sitemap.=&#34;http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\&#34;>\n&#34;;
$querys = DB::query(&#34;SELECT a.tid FROM &#34;.DB::table(&#39;forum_thread&#39;).&#34; a inner join &#34;.DB::table(&#39;forum_forum&#39;).&#34; b on a.fid=b.fid ORDER BY a.tid DESC LIMIT 0,10000&#34;);
while($threadfid = DB::fetch($querys))
{
$turl=$web_root.&#39;thread-&#39;.$threadfid[&#39;tid&#39;].&#39;-1-1.html&#39;;//注意静态规则
$link = $turl;
$t=time();
$riqi=date(&#34;Y-m-d&#34;,$t);
$priority=rand(1,10)/10;
//date(&#34;D F d Y&#34;,$t);
$sitemap.=&#34;<url>\n&#34;;
$sitemap.=&#34;<loc>$link</loc>\n&#34;;
$sitemap.=&#34;<priority>$priority</priority>\n&#34;;
$sitemap.=&#34;<lastmod>$riqi</lastmod>\n&#34;;
$sitemap.=&#34;<changefreq>weekly</changefreq>\n&#34;;
$sitemap.=&#34;</url>\n&#34;;
}
$sitemap .= &#34;</urlset>\n&#34;;
$fp = fopen(DISCUZ_ROOT.&#39;/&#39;.$filename,&#39;w&#39;);
fwrite($fp,$sitemap);
fclose($fp);
?>●上传“cron_sitemap.php”到source\include\cron目录;
●到discuz后台添加定时任务:后台→工具→计划任务→新增→提交;
●接下来编辑任务,任务脚本填“cron_sitemap.php”

dx3.4、discuz建站系统sitemap生成-新增计划任务

dx3.4、discuz建站系统sitemap生成-编辑计划任务
●首次先手动执行一次该计划任务,在站点根目录会生成名为&#34;sitemap.xml&#34;的文件,这样就完成了网站地图的生成,一劳永逸,就这么简单,不用花一分钱。
本篇只是针对论坛部分的sitemap.xml网站地图生成,下一篇为大家介绍如何生成全站(包括门户文章部分)的sitemap.xml网站地图生成。 |
|