使用DedeCMS自带的“网站地图”生成功能(推荐)
这是最标准、最官方的方法,生成的XML格式地图是专门为搜索引擎优化的。
生成XML地图(搜索引擎用)
这个地图文件通常命名为 sitemap.xml,放在网站根目录,供搜索引擎抓取。
操作步骤:
-
登录后台:使用管理员账号登录您的DedeCMS后台。
-
进入生成页面:在左侧菜单栏中,找到并点击 “生成” -> “网站地图”。
-
设置参数:
- 主页信息:系统会自动获取您的网站主页地址和名称。
- 栏目设置:
- 包含栏目:默认是“所有栏目”,您可以选择只包含某些顶级栏目,或者使用“,”分隔指定多个栏目ID(1,3,5)。
- 不包含栏目:使用“,”分隔指定您不想包含的栏目ID。
- 包含外部链接:如果您的栏目设置了“外部链接”,勾选此项可以将其包含在地图中。
- 内容设置:
- 内容类型:选择“所有内容”或仅“仅动态”或“仅静态”。
- 起始ID和结束ID:通过ID范围来限制包含的内容文章。
- 包含头条:决定是否包含“头条”级别的文章。
- 包含图片:决定是否包含“图片集”内容。
- 文件保存路径:
- 文件名:默认是
sitemap.xml,您可以修改,但通常保持默认即可。 - 保存目录:默认是网站根目录 ,保持默认即可。
- 文件名:默认是
-
开始生成:检查所有设置无误后,点击页面底部的 “开始生成网站地图” 按钮。
-
完成:系统会处理并生成地图文件,生成成功后,您会看到提示,您可以通过您的域名访问
http://您的域名/sitemap.xml来查看结果。
示例 sitemap.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://您的域名/</loc>
<lastmod>2025-10-27T10:00:00+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>http://您的域名/a/1.html</loc>
<lastmod>2025-10-26T15:30:00+00:00</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<!-- 更多URL... -->
</urlset>
生成HTML地图(访客用)
这个地图是给网站访客看的,通常是一个包含所有栏目和链接的页面,方便用户导航。
操作步骤:
-
登录后台:同样进入 “生成” -> “网站地图”。
-
切换到HTML标签页:在“网站地图”页面,点击 “HTML地图” 标签页。
-
设置参数:
- 主页信息:设置您的网站主页名称和链接。
- 栏目设置:与XML地图类似,您可以设置要包含的栏目。
- 模板:您可以选择一个内置的模板,或者自定义一个模板文件路径,如果自定义,模板文件需要放在
/templets/default/目录下。 - 文件名:
sitemap.html。 - 保存目录: (网站根目录)。
-
开始生成:点击 “开始生成HTML网站地图”。
-
完成:生成后,您就可以通过
http://您的域名/sitemap.html访问这个面向用户的地图页面了。
通过调用标签在模板页面中生成HTML地图
如果您想在网站的某个页面(比如页脚)动态生成一个栏目导航式的HTML地图,而不是生成一个静态的HTML文件,可以使用Dede的标签。
这种方法的好处是地图会随着栏目的增减而自动更新,无需手动重新生成。
操作步骤:
-
创建模板文件:在您的模板目录(如
/templets/default/)下创建一个新的HTML文件,mymap.htm。 -
编写模板代码:在
mymap.htm中,使用Dede的循环标签来调用所有栏目。示例代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8">网站地图 - {dede:global.cfg_webname/}</title> </head> <body> <h1>网站地图 - {dede:global.cfg_webname/}</h1> <hr> {dede:channel type='top' row='100'} <div> <h2><a href="[field:typelink/]">[field:typename/]</a></h2> <ul> {dede:channel type='son' noself='yes'} <li><a href="[field:typelink/]">[field:typename/]</a></li> {/dede:channel} </ul> </div> {/dede:channel} <hr> <p><a href="{dede:global.cfg_cmspath/}/">返回首页</a></p> </body> </html>代码解释:
{dede:channel type='top' row='100'}:调用顶级栏目,最多显示100个。[field:typelink/]:栏目链接。[field:typename/]:栏目名称。{dede:channel type='son' noself='yes'}:在顶级栏目循环内部,调用其子栏目。noself='yes'表示不调用栏目本身。- 您可以根据需要调整HTML结构和CSS样式。
-
在页面中调用:
- 方法A (直接链接):您可以在网站的页脚或导航栏添加一个链接,指向这个动态页面,
<a href="{dede:global.cfg_cmspath/}/mymap.htm">网站地图</a>。 - 方法B (直接嵌入):如果您想把地图直接嵌入到某个现有页面(如footer.htm),可以直接引入这个模板文件,但更推荐的是使用方法A,保持代码的整洁性。
- 方法A (直接链接):您可以在网站的页脚或导航栏添加一个链接,指向这个动态页面,
使用第三方插件(高级功能)
对于非常复杂的网站结构,或者需要生成多种格式地图(如RSS, TXT, 图片地图等)的情况,可以考虑使用第三方插件。
- 如何寻找:在DedeCMS官方论坛、插件市场或一些技术博客上搜索“织梦地图插件”、“sitemap插件”等关键词。
- 优点:功能强大,通常支持自定义生成规则、多种地图格式、定时生成等。
- 缺点:可能存在兼容性问题,或者引入不必要的代码,增加网站安全风险,选择知名、评价好的插件。
总结与最佳实践
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 方法一 (官方生成) | 官方标准,SEO友好,操作简单,生成静态文件,对服务器压力小。 | 需要手动重新生成(或配合定时任务),内容更新后地图不会立即更新。 | 绝大多数网站的首选,用于生成提交给搜索引擎的 sitemap.xml 和面向用户的 sitemap.html。 |
| 方法二 (标签调用) | 动态更新,无需手动维护,灵活,可以嵌入到任何页面。 | 每次访问都会查询数据库,对服务器有一定压力;SEO价值相对较低。 | 在网站页脚等位置生成一个辅助性的、面向用户的栏目导航,而不是主要的地图文件。 |
| 方法三 (第三方插件) | 功能强大,支持多种格式和高级设置。 | 可能有兼容和安全风险,增加复杂度。 | 大型、复杂网站,有特殊地图生成需求(如图片地图)的用户。 |
推荐流程:
- 必须使用方法一,定期生成
sitemap.xml文件,并提交到百度站长平台、Google Search Console等。 - 使用方法一,生成一个
sitemap.html页面,并在网站页脚或“关于我们”页面添加链接,方便用户查找。 - (可选)如果您的网站栏目非常多,且希望在页脚动态展示一个精简的栏目列表,可以使用方法二来创建一个辅助的动态地图。
希望这份详细的指南能帮助您成功在DedeCMS中调用和生成网站地图!
