DiscuzX 3.x制作生成网站地图sitemap - 网络技能论坛 - 经验分享 - 小轻秀场

DiscuzX 3.x制作生成网站地图sitemap

discuz是一套稳定成熟的论坛系统,但是为了SEO方便,很多时候需要生成sitemap网站地图,可惜discuz没有原生提供这一功能,很多插件也不是很自由,关键有的还收费!

其实sitemap很简单,直接罗列文章内容页和帖子内容页的页面地址就可以了,TXT格式一行一个不拖泥带水,XML格式的反而不美。所以,直接生成一行一个的网站地图最简单高效。话不多说,代码如下:

<?php 
        define('APPTYPEID', 1);
        define('CURSCRIPT', 'sitemap');
        require './source/class/class_core.php';  
        $discuz = & discuz_core::instance();
        $discuz->cachelist = $cachelist;
        $discuz->init();
        $querys = DB::query("SELECT aid FROM ".DB::table('portal_article_title').' ORDER BY aid DESC');
        $data = '';
        while($articleaid = DB::fetch($querys))
        {
                $aurl = "{$_G[siteurl]}article-{$articleaid['aid']}-1.html";
                echo $aurl;
                $data = $data.$aurl."\n";
                echo "<br/>";
        } 
        echo "<br/>";
        $querys = DB::query("SELECT tid FROM ".DB::table('forum_thread').' WHERE displayorder=0 ORDER BY tid DESC');
        while($threadfid = DB::fetch($querys))
        {
                $furl = "{$_G[siteurl]}thread-{$threadfid['tid']}-1-1.html";
                echo $furl;
                $data = $data.$furl."\n";
                echo "<br/>";
        } 
        $fp = fopen('sitemap.txt',"w+");
    fwrite($fp,$data);
    fclose($fp);
?>

说明一下,上面生成的页面是伪静态的地址,没有使用伪静态的朋友可以把格式改成动态的就OK了。

请登录后发表评论

    没有回复内容