后台“文档关键词维护”功能(最简单,适合少量替换)
这是系统自带的最直接的方法,适合替换关键词数量不多,且不需要复杂条件的情况。

(图片来源网络,侵删)
操作步骤:
-
登录后台:使用管理员账号登录您的 DedeCMS 后台。
-
进入关键词管理:在左侧菜单栏中,找到 “核心” -> “批量维护” -> “文档关键词维护”。
-
设置替换规则:
(图片来源网络,侵删)- 原关键词:输入您想要被替换的旧关键词。
- 新关键词:输入您希望替换成的新关键词。
- 替换范围:这是最关键的一步,您可以选择:
- :只在文章标题中进行替换。
- :只在文章正文内容中进行替换。
- :同时在标题和正文中进行替换。
- 是否替换全词:建议勾选,这样可以避免将“百度”替换成“百度一下”时,把“百度一下”也错误地替换成“百度一下一下”,勾选后,只会精确匹配完整的关键词。
-
执行替换:
- 点击 “开始执行替换” 按钮。
- 系统会提示您即将处理的文档数量,确认无误后,再次点击确认。
- 等待系统处理完成即可。
优点:
- 操作简单,无需代码。
- 安全,在后台直接操作。
缺点:
- 每次只能替换一对关键词,如果关键词很多,操作会非常繁琐。
- 无法按栏目、时间等条件进行筛选。
SQL批量替换(最强大,推荐使用)
这是最常用、最高效的方法,可以一次性处理成百上千篇文章,并且可以精确控制替换范围。
⚠️ 重要提醒:在执行任何 SQL 操作前,请务必备份数据库!以防万一,可以导出 dede_archives (文章表) 和 dede_addonarticle (文章附加表,如果使用的是独立模型)。
操作步骤:
-
登录后台:进入 DedeCMS 后台。
-
进入SQL命令工具:在左侧菜单栏中,找到 “系统” -> “SQL命令行工具” -> “运行SQL命令行”。
-
编写并执行SQL语句:
根据您的需求,选择以下对应的 SQL 语句,并填入下方的文本框中,然后点击“查询”或“执行”。
场景1:替换文章标题中的关键词
UPDATE dede_archives SET title = REPLACE(title, '旧关键词', '新关键词');
dede_archives是 DedeCMS 存储文章基本信息的表,title字段存储文章标题。REPLACE(title, '旧关键词', '新关键词')是一个函数,作用是在title字段中查找所有“旧关键词”并替换为“新关键词”。
场景2:替换文章正文中的关键词
这取决于您使用的是哪种文章模型:
-
对于普通文章(使用附加表
dede_addonarticle):UPDATE dede_addonarticle SET body = REPLACE(body, '旧关键词', '新关键词');
dede_addonarticle是普通文章的附加表,body字段存储文章正文内容。
-
对于自由列表/其他模型(需确认附加表名和字段名):
- 您需要先在后台的“内容模型管理”中,找到您使用的模型,查看其附加表的名称和存储正文的字段名(通常是
body或content),然后替换 SQL 语句中的表名和字段名。
- 您需要先在后台的“内容模型管理”中,找到您使用的模型,查看其附加表的名称和存储正文的字段名(通常是
场景3:同时替换标题和正文(最常用)
-- 先替换标题 UPDATE dede_archives SET title = REPLACE(title, '旧关键词', '新关键词'); -- 再替换正文(假设是普通文章) UPDATE dede_addonarticle SET body = REPLACE(body, '旧关键词', '新关键词');
您可以在一个 SQL 命令行中连续执行这两句,用分号 隔开。
场景4:按指定栏目ID进行替换(更精确)
如果您只想在某个或某几个栏目内进行替换,可以在 UPDATE 语句后面加上 WHERE 条件。
-- 仅在栏目ID为 5 和 10 的文章中替换标题 UPDATE dede_archives SET title = REPLACE(title, '旧关键词', '新关键词') WHERE typeid IN (5, 10); -- 仅在栏目ID为 1 到 10 的文章中替换正文 UPDATE dede_addonarticle SET body = REPLACE(body, '旧关键词', '新关键词') WHERE typeid BETWEEN 1 AND 10;
typeid是文章表中存储栏目ID的字段。IN (5, 10)表示ID为5或10。BETWEEN 1 AND 10表示ID在1到10之间。
- 确认执行:检查 SQL 语句无误后,点击“查询”或“执行”按钮,系统会提示您影响的行数,表示替换成功。
优点:
- 速度极快,效率高。
- 功能强大,可以精确控制替换范围(如按栏目)。
- 可以处理大量关键词(通过多次执行不同的 REPLACE 语句)。
缺点:
- 需要谨慎操作,有误删数据的风险(所以备份很重要!)。
- 需要了解基本的 SQL 语法。
使用dede_tag_replace.php插件(半自动化)
如果您的替换需求非常复杂,或者希望有一个更可视化的界面,可以考虑使用第三方插件。
- 寻找插件:在网上搜索 “DedeCMS 批量替换关键词插件” 或 “dede_tag_replace”,找到可靠的下载源。
- 上传安装:将插件文件上传到网站根目录的
/dede/文件夹下,然后根据插件说明进行安装(通常是直接访问一个安装文件)。 - 使用插件:安装成功后,在后台的“批量维护”菜单下会出现一个新的选项,点击进入即可使用,通常这类插件会提供更友好的界面,比如支持批量导入关键词列表等。
优点:
- 界面友好,操作直观。
- 可能支持更复杂的替换规则。
缺点:
- 需要额外寻找和安装插件,可能存在安全风险。
- 插件可能不兼容您的 DedeCMS 版本。
总结与建议
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 后台功能 | 简单、安全、无需技术 | 效率低、功能单一 | 仅需替换一两个关键词,且不关心效率时。 |
| SQL命令 | 高效、强大、精确 | 有风险、需备份数据、需懂基础SQL | 强烈推荐,几乎所有批量替换场景,特别是关键词多、数据量大时。 |
| 第三方插件 | 界面友好、功能可能更丰富 | 需安装、有兼容性和安全风险 | 需要非常复杂的替换逻辑,或对SQL不熟悉时。 |
给您的最终建议:
对于绝大多数用户,方法二(SQL批量替换)是最佳选择,它在效率、可控性和易用性(对于懂基础SQL的人来说)之间取得了最好的平衡,请一定记得操作前备份数据库!
