使用织梦后台自带的“内容关键词”管理功能(最安全,推荐首选)
这是最直接、最安全的方法,适合删除少量或特定范围的关键词。

(图片来源网络,侵删)
操作步骤:
-
登录织梦后台:使用您的管理员账号登录网站后台。
-
进入关键词管理:在左侧菜单栏中,找到并点击 【核心】 -> 关键词】。
-
查找并删除关键词:
(图片来源网络,侵删)- 按关键词名查找:在顶部的搜索框中输入您想要删除的关键词名称或部分名称,然后点击 【搜索】,这样可以精确定位到需要删除的关键词。
- 查看所有关键词:直接点击 【搜索】(不输入任何内容),可以列出系统中所有的关键词。
- 批量删除:
- 在搜索结果列表中,勾选您想要删除的关键词前面的复选框。
- 勾选完成后,点击列表下方的 【批量删除】 按钮。
- 系统会弹出确认窗口,再次点击 【确定】 即可完成删除。
优点:
- 绝对安全:完全在后台操作,不会误伤数据库表结构。
- 操作简单:图形化界面,无需代码。
- 精准控制:可以按名称精确查找,避免误删。
缺点:
- 效率较低:如果需要删除成千上万个关键词,手动勾选和分页操作会非常耗时。
使用织梦后台的SQL命令工具(高效,需谨慎)
当需要删除大量关键词时,使用SQL命令是最高效的方法。请务必在操作前备份您的数据库!
操作步骤:

(图片来源网络,侵删)
-
备份数据库:这是最重要的一步!登录您的网站空间/主机控制面板,使用phpMyAdmin等工具对
dede_keywords(织梦默认的关键词表名)表进行备份。 -
登录织梦后台:进入后台管理系统。
-
进入SQL命令工具:
- 在左侧菜单栏中,找到并点击 【系统】 -> 【SQL命令行工具】。
-
执行删除命令:
- 在文本框中输入SQL删除语句。
- 点击 【确定】 执行。
常用SQL删除语句示例:
-
场景1:删除包含特定字符的所有关键词
- 要删除所有包含“广告”二字的关键词。
- SQL语句:
DELETE FROM `dede_keywords` WHERE `keyword` LIKE '%广告%';
- 说明: 是通配符,代表任意数量的任意字符。
'%广告%'表示关键词中任何位置包含“广告”都会被删除。
-
场景2:删除完全匹配某个关键词的所有记录
- 要删除所有关键词为“织梦CMS”的记录。
- SQL语句:
DELETE FROM `dede_keywords` WHERE `keyword` = '织梦CMS';
-
场景3:清空整个关键词表(最彻底的方法)
- 警告:此操作将删除所有关键词,且无法恢复(除非您有备份)!
- SQL语句:
TRUNCATE TABLE `dede_keywords`;
- 说明:
TRUNCATE比DELETE *速度更快,并且会重置自增ID。
优点:
- 效率极高:可以一次性删除成千上万条记录,几秒钟即可完成。
- 功能强大:支持复杂的查询条件,可以灵活地批量处理。
缺点:
- 风险较高:SQL语句写错可能会导致数据误删。
DELETE FROM dede_keywords WHERE keyword = '%广告'如果漏了一个 ,就会删除所有以“广告”结尾的关键词,而不是包含“广告”的。 - 需要基础知识:需要用户对基本的SQL语法有一定了解。
使用DedePHP执行自定义脚本(最灵活,适合开发者)
如果您熟悉PHP和织梦的系统架构,可以编写一个自定义脚本,通过浏览器访问来执行删除操作,这种方法比直接在后台执行SQL更灵活,可以加入更多逻辑判断。
操作步骤:
-
创建PHP脚本:在网站根目录下创建一个新文件,
del_keywords.php。 -
编写脚本代码:将以下代码复制到
del_keywords.php文件中。<?php /** * 织梦文档关键词批量删除脚本 * 使用方法:将此文件上传到网站根目录,然后通过浏览器访问 http://您的域名/del_keywords.php */ // 引入织梦系统核心文件 require_once (dirname(__FILE__) . "/include/common.inc.php"); require_once DEDEINC.'/arc.partview.class.php'; // --- 安全检查,防止被外部恶意调用 --- if (!defined('DEDEADMIN')) { die('Access Denied'); } // --- 配置要删除的关键词规则 --- // 示例1:删除所有包含 "推广" 的关键词 $keywords_to_delete_like = '%推广%'; // 示例2:删除一个精确的关键词 $keywords_to_delete_exact = '织梦模板'; // --- 执行删除操作 --- // 连接数据库 $dsql = new DedeSql(false); // 1. 执行模糊删除 if (!empty($keywords_to_delete_like)) { $dsql->ExecuteNoneQuery("DELETE FROM `#@__keywords` WHERE `keyword` LIKE '{$keywords_to_delete_like}'"); $affected_rows_like = $dsql->GetAffectedRows(); echo "已删除包含 '{$keywords_to_delete_like}' 的关键词,共影响 {$affected_rows_like} 条记录。<br>"; } // 2. 执行精确删除 if (!empty($keywords_to_delete_exact)) { $dsql->ExecuteNoneQuery("DELETE FROM `#@__keywords` WHERE `keyword` = '{$keywords_to_delete_exact}'"); $affected_rows_exact = $dsql->GetAffectedRows(); echo "已删除精确匹配 '{$keywords_to_delete_exact}' 的关键词,共影响 {$affected_rows_exact} 条记录。<br>"; } // 3. 清空整个表(请谨慎使用) // $dsql->ExecuteNoneQuery("TRUNCATE TABLE `#@__keywords`"); // echo "已清空所有关键词!<br>"; echo "操作完成!"; // 关闭数据库连接 $dsql->Close(); ?> -
执行脚本:
- 将
del_keywords.php文件上传到您的网站服务器根目录。 - 在浏览器中访问
http://您的域名/del_keywords.php。 - 脚本会自动执行并显示删除结果。
- 将
优点:
- 灵活性最高:可以加入复杂的PHP逻辑,比如从文件中读取关键词列表、分批删除以避免服务器负载过高等。
- 可重复使用:脚本可以保存下来,以后需要时再次使用。
缺点:
- 技术门槛最高:需要用户具备PHP开发和织梦系统知识。
- 同样有风险:如果代码有逻辑错误,也可能导致数据问题。
总结与建议
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 后台管理 | 安全、简单、精准 | 效率低,不适合大量数据 | 删除少量、特定的关键词,日常维护。 |
| SQL命令 | 效率极高,功能强大 | 风险高,需懂SQL | 需要批量删除成百上千个关键词,且已做好备份。 |
| 自定义脚本 | 最灵活,可扩展 | 技术门槛高,同样有风险 | 需要复杂逻辑或进行定制化批量处理的开发者。 |
给您的最终建议:
- 如果只是删除几十个或上百个关键词,请首选方法一,安全又方便。
- 如果需要删除大量关键词(例如数千条以上),请严格遵循方法二的步骤,先备份数据库,然后使用SQL命令进行高效删除。
- 如果您是开发者,且有更复杂的批量处理需求,可以尝试方法三。
无论选择哪种方法,操作前备份数据库都是必须的,这是保护您数据安全的最后一道防线。
