凌峰创科服务平台

dedecms网站地图模板怎么用?

下面我将为你详细讲解如何创建和配置 DedeCMS 的网站地图模板,包括普通地图Google Sitemap两种常见类型。


准备工作:开启地图生成功能

在开始制作模板之前,请确保你的网站已经开启了地图生成功能。

  1. 登录 DedeCMS 后台。
  2. 进入 “系统” -> “系统基本参数” -> “核心设置”
  3. 找到 “是否启用网站地图” 选项,将其设置为 “是”
  4. 保存设置。

第一步:创建地图模板文件

这是最核心的一步,你需要在 DedeCMS 的模板目录下创建一个或多个新的模板文件。

  1. 登录你的 FTP 或主机文件管理器
  2. 进入 DedeCMS 的安装目录,找到 templets 文件夹。
  3. templets 文件夹中,新建一个名为 map 的文件夹(如果还没有的话)。
  4. templets/map/ 文件夹下,创建一个新的 HTML 文件,例如命名为 sitemap.htm

这个 sitemap.htm 文件就是你的地图模板,你可以用任何文本编辑器(如 VS Code, Sublime Text, Notepad++)来编辑它。


第二步:编写地图模板代码 (sitemap.htm)

下面提供几个不同类型的地图模板代码,你可以根据自己的需求选择和修改。

dedecms网站地图模板怎么用?-图1

普通网站地图 (HTML格式)

这种地图主要给用户浏览,方便他们快速找到所有栏目和内容。

代码示例 (templets/map/sitemap.htm):

dedecms网站地图模板怎么用?-图2

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">{dede:global.cfg_webname/} - 网站地图</title>
    <meta name="keywords" content="{dede:global.cfg_keywords/}" />
    <meta name="description" content="{dede:global.cfg_description/}" />
    <style>
        body { font-family: Arial, sans-serif; line-height: 1.6; margin: 0; padding: 20px; background-color: #f4f4f4; }
        .container { max-width: 960px; margin: 0 auto; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
        h1 { color: #333; text-align: center; border-bottom: 2px solid #007bff; padding-bottom: 10px; }
        h2 { color: #0056b3; font-size: 1.2em; margin-top: 20px; }
        ul { list-style-type: none; padding-left: 20px; }
        li { margin-bottom: 8px; }
        a { color: #007bff; text-decoration: none; }
        a:hover { text-decoration: underline; }
        .footer { text-align: center; margin-top: 30px; color: #777; font-size: 0.9em; }
    </style>
</head>
<body>
    <div class="container">
        <h1>{dede:global.cfg_webname/} 网站地图</h1>
        <p>本站地图更新于:{dede:tagname runphp='yes'}@me = date('Y-m-d H:i:s');{/dede:tagname}</p>
        <!-- 一级栏目列表 -->
        <h2>主要栏目</h2>
        <ul>
            {dede:channel type='top' row='50'}
            <li><a href="[field:typelink/]">[field:typename/]</a></li>
            {/dede:channel}
        </ul>
        <!-- 二级栏目列表 -->
        <h2>子栏目</h2>
        {dede:channelartlist type='son' row='50'}
            <h3>[field:typename/]</h3>
            <ul>
                {dede:type}
                <li><a href="[field:typelink/]">[field:typename/]</a></li>
                {/dede:type}
            </ul>
        {/dede:channelartlist}
        <!-- 最新文章列表 -->
        <h2>最新文章</h2>
        <ul>
            {dede:arclist titlelen='48' row='30' orderby='pubdate'}
            <li><a href="[field:arcurl/]">[field:title/]</a></li>
            {/dede:arclist}
        </ul>
        <div class="footer">
            <p>Copyright &copy; {dede:global.cfg_webname/} All Rights Reserved.</p>
            <p><a href="/sitemap.html">返回网站地图</a></p>
        </div>
    </div>
</body>
</html>

代码解析:

  • {dede:global.cfg_webname/}: 调用网站名称。
  • {dede:tagname runphp='yes'}@me = date('Y-m-d H:i:s');{/dede:tagname}: 这段代码用于显示当前时间,表示地图的生成时间。
  • {dede:channel type='top' row='50'}: 核心标签,调用顶级栏目(一级栏目),row='50'表示最多调用50个。
  • {dede:channelartlist type='son' row='50'}: 核心标签,循环调用所有顶级栏目,并在每个栏目下显示其子栏目(二级栏目)。
  • {dede:type}: 在 channelartlist 循环内部,用于获取当前栏目的子栏目。
  • {dede:arclist titlelen='48' row='30' orderby='pubdate'}: 核心标签,调用最新发布的30篇文章,标题长度限制为48个字符,按发布时间排序。

Google Sitemap (XML格式)

这种地图是给搜索引擎(如 Google, Bing, 百度)爬虫使用的,告诉它们网站有哪些页面可以收录。

dedecms网站地图模板怎么用?-图3

代码示例 (templets/map/sitemap.xml):

注意:这个文件的后缀是 .xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <!-- 首页 -->
    <url>
        <loc>{dede:global.cfg_basehost/}</loc>
        <lastmod>{dede:tagname runphp='yes'}@me = date('Y-m-d');{/dede:tagname}</lastmod>
        <changefreq>daily</changefreq>
        <priority>1.0</priority>
    </url>
    <!-- 普通栏目页 -->
    {dede:channel type='top' row='100'}
    <url>
        <loc>[field:typelink/]</loc>
        <lastmod>{dede:tagname runphp='yes'}@me = date('Y-m-d');{/dede:tagname}</lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.8</priority>
    </url>
    {/dede:channel}
    <!-- 文章页 -->
    {dede:arclist row='5000' orderby='pubdate'}
    <url>
        <loc>[field:arcurl/]</loc>
        <lastmod>[field:pubdate function='MyDate('Y-m-d', @me)'/]</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.6</priority>
    </url>
    {/dede:arclist}
</urlset>

代码解析:

  • <?xml ... ?>: XML 声明,必须放在第一行。
  • <urlset xmlns="...">: 定义XML命名空间,这是Google Sitemap的标准格式。
  • <loc>: 必须,页面的绝对URL。
  • <lastmod>: 必须,页面的最后修改日期,格式为 YYYY-MM-DD
  • <changefreq>: 可选,页面更新频率(如 always, hourly, daily, weekly, monthly, yearly, never),这只是一个提示,搜索引擎不一定会遵循。
  • <priority>: 可选,页面的相对优先级(0.0 到 1.0),首页为1.0,其他页面递减。

第三步:在后台生成地图

模板文件创建好后,就可以在后台生成地图页面了。

  1. 登录 DedeCMS 后台。
  2. 进入 “栏目” -> “网站地图”
  3. 你会看到刚才创建的模板

分享:
扫描分享到社交APP
上一篇
下一篇