- 为新发布的文章添加标签:这是最简单、最直接的方式。
- 为已发布的旧文章批量添加或修改标签:这需要用到DedeCMS的SQL命令,适合处理大量数据。
下面我将详细讲解这两种方法。

(图片来源网络,侵删)
为新发布的文章添加标签(常规方法)
当你发布一篇新文章时,可以直接在发布页面上添加标签,这是最标准、最推荐的做法。
操作步骤:
-
登录后台:使用管理员账号登录你的DedeCMS后台。
-
进入文章发布页面:
(图片来源网络,侵删)- 在左侧菜单栏中,找到 “核心” -> “内容发布” -> “添加文档”。
- 或者,你也可以在 “所有文档” 列表页,点击右上角的 “新增文档” 按钮。
-
填写文章内容:
- 在文章编辑页面,填写文章的 、所属栏目、作者、来源 等基本信息。
- 在 编辑器中,编写你的文章正文。
-
添加Tag标签:
- 在页面下方,找到 “Tag标签” 这个输入框。
- 输入你的标签,多个标签之间请用 英文逗号 (,) 隔开。
- 示例:如果你想给一篇关于“织梦CMS教程”的文章添加标签,可以输入:
织梦CMS,网站建设,PHP教程,内容管理系统。
-
发布文章:
- 填写完所有信息后,点击 “发布文档” 按钮。
完成以上步骤后,这篇新文章就成功带上了你设置的标签,你可以在前台的文章页面上看到这些标签,并且点击标签可以跳转到包含该标签的所有文章列表页。

(图片来源网络,侵删)
为已发布的旧文章批量添加/修改标签
如果你有大量旧文章没有标签,或者想统一修改现有标签,手动一篇一篇地去修改效率太低,这时,我们可以利用DedeCMS强大的SQL命令执行功能来实现批量操作。
⚠️ 重要警告: 在执行任何SQL操作之前,务必备份数据库!一旦操作失误,可能会导致数据丢失,备份是唯一的保险。
操作步骤:
-
登录后台:进入DedeCMS后台。
-
进入SQL命令工具:
- 在左侧菜单栏中,找到 “系统” -> “SQL命令行工具” -> “运行SQL命令”。
-
准备SQL语句:
- 在下方的 ” 文本框中,输入你要执行的SQL语句。
- 下面提供几个常用的SQL模板,请根据你的需求选择并修改。
场景1:为所有旧文章批量添加一个固定的标签(精选”)
这个场景适用于你希望给所有文章都打上同一个通用标签。
UPDATE `dede_archives` SET `tag` = '精选';
说明:
dede_archives是DedeCMS中存储文章基本信息的表名,如果你的前缀不是dede_,请替换成你的实际表前缀。- 这条命令会把所有文章的
tag字段内容都直接覆盖成“精选”。
场景2:根据文章标题自动提取关键词作为标签
这个场景非常实用,可以自动将文章标题中的关键词提取出来作为标签,这里需要用到DedeCMS内置的 GetTags() 函数。
UPDATE `dede_archives` SET `tag` = GetTags(title);
说明:
GetTags(title)是DedeCMS的一个自定义函数,它会分析title字段(文章标题),并提取出关键词,用逗号隔开。- 这个方法可以快速为所有文章生成基于标题的标签,效果通常不错。
场景3:为指定栏目下的文章批量添加标签
如果你想只给某个或某几个栏目下的文章添加标签,可以在SQL语句中加入条件判断。
示例:给ID为 1 和 5 的栏目下的文章都打上“技术分享”的标签。
UPDATE `dede_archives` SET `tag` = '技术分享' WHERE typeid IN (1, 5);
说明:
typeid IN (1, 5)是一个条件,表示只更新typeid字段值为 1 或 5 的记录。typeid就是文章的栏目ID。- 你可以在后台的“栏目管理”中查看每个栏目对应的ID。
场景4:为旧文章追加标签(而不是覆盖)
如果你想在文章现有标签的基础上,再添加新的标签,而不是替换掉旧的,需要使用字符串拼接的SQL语法。
示例:给所有文章的标签后面追加一个“旧文章”标签。
UPDATE `dede_archives` SET `tag` = CONCAT(IF(tag='', '', CONCAT(tag, ',')), '旧文章');
说明:
CONCAT()函数用于拼接字符串。IF(tag='', '', CONCAT(tag, ','))这部分的作用是:如果文章原本没有标签 (tag=''),就不加逗号;如果有标签,就在末尾加一个逗号,然后再追加“旧文章”,确保格式正确。
如何验证标签是否生效?
- 前台查看:去网站前台,打开一篇你修改过的文章,查看页面底部或文章顶部是否有标签显示。
- 后台查看:回到后台的“所有文档”列表,找到那篇文章,点击“编辑”,你会发现“Tag标签”输入框里已经更新了内容。
- 数据库查看:在“SQL命令行工具”中执行以下命令,直接查看数据库中的数据:
SELECT id, title, tag FROM `dede_archives` WHERE id = [你的文章ID];
将
[你的文章ID]替换成你想查看的文章ID。
| 场景 | 方法 | 优点 | 缺点 |
|---|---|---|---|
| 新文章 | 后台发布页直接填写 | 简单、直观、无风险 | 仅适用于新增内容 |
| 旧文章(少量) | 后台一篇篇编辑 | 精确、可控 | 效率低下,不适合大量数据 |
| 旧文章(大量) | 执行SQL命令 | 效率极高,功能强大 | 有风险,操作前必须备份数据库 |
对于绝大多数情况,方法一是日常操作的首选,当需要处理大量历史数据时,方法二是不可或缺的利器,但请务必小心谨慎。
