DedeCMS 提供了两种主要的地图生成方式:

- 后台手动生成:最常用、最直接的方法,适合所有用户。
- 自动生成:通过修改模板文件,实现地图文件随内容更新而自动更新,适合有一定技术能力的用户。
在 DedeCMS 后台手动生成(推荐)
这是最简单、最安全的方法,你只需要在网站后台点击几下鼠标即可。
步骤 1:进入地图生成页面
- 登录你的 DedeCMS 网站后台。
- 在左侧菜单栏中,找到并点击 “系统” -> “SQL命令行工具”。
- 在打开的页面中,你会看到两个主要功能:“SQL命令行工具”和 “一键生成网站地图”,我们直接使用第二个功能。
步骤 2:配置并生成地图
点击 “一键生成网站地图” 后,你会看到一个配置表单,以下是各项参数的详细说明:
- 主页链接:通常自动填写,是你的网站首页地址,一般无需修改。
- 栏目设置:
- 选择顶级栏目:选择你希望包含在地图中的顶级栏目,默认是全选。
- 是否包含栏目下所有子栏目:强烈建议勾选此项,这样生成的地图会包含所有层级的栏目,非常全面。
- URL设置:
- 是否包含外部链接:如果你的栏目中添加了外部链接,勾选此项会将其包含在地图中,通常不勾选。
- 是否包含图片模型:如果你的网站有大量图片内容(如图片站),勾选此项可以生成图片专用的地图文件
sitemap.xml.images.xml,普通网站无需勾选。
- 文件保存路径:
- 存放目录:设置地图文件存放的目录,默认是
/sitemap/,系统会自动创建这个目录。 - 文件名:设置地图文件的名称,默认是
sitemap.xml,这是搜索引擎主要识别的文件。 - 其他格式文件名:可以同时生成其他格式的地图文件,如
sitemap.txt(纯文本,方便手动提交)等。
- 存放目录:设置地图文件存放的目录,默认是
步骤 3:开始生成
配置好所有选项后,点击底部的 “开始生成网站地图” 按钮。
系统会开始处理,并显示生成进度,生成成功后,你会看到提示信息,告诉你地图文件已经成功创建在指定路径下。

步骤 4:验证和提交地图
- 验证地图:在浏览器中访问你设置的地图地址,
http://你的域名.com/sitemap/sitemap.xml,如果能看到一个包含你网站所有链接的 XML 文件,说明生成成功。 - 提交到搜索引擎:
- Google 搜索控制台:登录你的 Google Search Console,在 “站点地图” (Sitemaps) 部分,添加你刚刚生成的地图 URL,
http://你的域名.com/sitemap/sitemap.xml,然后点击“提交”。 - 百度搜索资源平台:登录你的百度搜索资源平台,在 “站点地图” 部分,同样添加地图 URL 并提交。
- Google 搜索控制台:登录你的 Google Search Console,在 “站点地图” (Sitemaps) 部分,添加你刚刚生成的地图 URL,
修改模板实现自动生成
手动生成虽然方便,但每次更新内容后都需要手动操作一次,通过修改模板,可以让系统在你发布新文章、新栏目时自动更新地图文件。
核心原理
DedeCMS 在发布文章(article_add.php)和添加栏目(catalog_add.php)时,会执行一些操作,我们可以在这些操作的最后,加入调用地图生成函数的代码。
操作步骤
⚠️ 重要提示:在修改任何核心文件之前,请务必备份原文件!以防操作失误导致网站无法正常运行。
修改文章发布文件 (/dede/article_add.php)

-
使用 FTP 或文件管理器,打开
/dede/article_add.php文件。 -
找到文件末尾的
ShowMsg("成功发布一篇新的文章!", "$backurl");这一行。 -
在这一行之前,添加以下代码:
// 自动生成网站地图 $dopost = 'site'; require_once(DEDEINC."/sitemap.class.php"); $sm = new SiteMap(); $sm->GetSiteMap();
-
保存文件。
修改栏目添加文件 (/dede/catalog_add.php)
-
打开
/dede/catalog_add.php文件。 -
找到文件末尾的
ShowMsg("成功增加一个栏目!", "$backurl");这一行。 -
在这一行之前,添加与上面完全相同的代码:
// 自动生成网站地图 $dopost = 'site'; require_once(DEDEINC."/sitemap.class.php"); $sm = new SiteMap(); $sm->GetSiteMap();
-
保存文件。
修改栏目编辑文件 (可选,但推荐)
如果你希望在编辑栏目后也更新地图,可以修改 /dede/catalog_edit.php 文件。
- 打开
/dede/catalog_edit.php文件。 - 找到文件末尾的
ShowMsg("成功修改一个栏目!", "$backurl");这一行。 - 在这一行之前,添加相同的代码。
- 保存文件。
效果
完成以上修改后,每当你在后台发布一篇新文章、添加一个新栏目或编辑一个栏目时,系统会自动调用地图生成功能,更新 /sitemap/ 目录下的 sitemap.xml 文件。
常见问题与注意事项
-
地图文件路径不正确或404
- 检查后台生成的路径是否正确,并确认服务器上
/sitemap/目录及其中的文件是否存在。 - 如果使用了伪静态(如 Rewrite),确保服务器配置允许访问
.xml文件。
- 检查后台生成的路径是否正确,并确认服务器上
-
地图文件内容为空或只有首页
- 检查后台生成地图时的“栏目设置”,确保你已经选择了正确的栏目并勾选了“包含子栏目”。
- 确保你的网站栏目和文章都处于“正常”发布状态。
-
手动生成后地图没有更新
- 检查
/data目录是否有写入权限,地图生成过程需要写入文件,权限不足会导致失败。 - 清理浏览器缓存后重新访问地图地址。
- 检查
-
Google 和百度都接收不到地图
- 确保地图文件本身格式正确,可以去 XML-Sitem.com 等在线工具验证你的
sitemap.xml文件。 - 确保在搜索引擎控制台中提交的是正确的、完整的地图 URL。
- 网站本身可能存在 robots.txt 文件禁止了搜索引擎抓取
/sitemap/目录,请检查你的robots.txt文件,确保没有类似Disallow: /sitemap/的规则。
- 确保地图文件本身格式正确,可以去 XML-Sitem.com 等在线工具验证你的
| 方法 | 优点 | 缺点 | 适用人群 |
|---|---|---|---|
| 后台手动生成 | 操作简单、安全,无需修改代码 | 需要手动操作,容易遗忘 | 所有 DedeCMS 用户,特别是新手 |
| 模板自动生成 | 一次设置,永久自动更新,省心省力 | 需要修改核心文件,有一定风险,技术门槛稍高 | 有一定 PHP 基础,追求效率和自动化的站长 |
对于绝大多数用户来说,强烈推荐使用方法一,即定期在后台手动生成并提交地图,这样既安全又能保证地图的及时性,如果你是技术型站长,并且希望完全自动化,那么方法二会是很好的选择。
