如何批量删除织梦文档中的关键词?

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 织梦建站 正文

使用织梦后台自带的“内容关键词”管理功能(最安全,推荐首选)

这是最直接、最安全的方法,适合删除少量或特定范围的关键词。

织梦文档关键词批量删除
(图片来源网络,侵删)

操作步骤:

  1. 登录织梦后台:使用您的管理员账号登录网站后台。

  2. 进入关键词管理:在左侧菜单栏中,找到并点击 【核心】 -> 关键词】

  3. 查找并删除关键词

    织梦文档关键词批量删除
    (图片来源网络,侵删)
    • 按关键词名查找:在顶部的搜索框中输入您想要删除的关键词名称或部分名称,然后点击 【搜索】,这样可以精确定位到需要删除的关键词。
    • 查看所有关键词:直接点击 【搜索】(不输入任何内容),可以列出系统中所有的关键词。
    • 批量删除
      • 在搜索结果列表中,勾选您想要删除的关键词前面的复选框。
      • 勾选完成后,点击列表下方的 【批量删除】 按钮。
      • 系统会弹出确认窗口,再次点击 【确定】 即可完成删除。

优点:

  • 绝对安全:完全在后台操作,不会误伤数据库表结构。
  • 操作简单:图形化界面,无需代码。
  • 精准控制:可以按名称精确查找,避免误删。

缺点:

  • 效率较低:如果需要删除成千上万个关键词,手动勾选和分页操作会非常耗时。

使用织梦后台的SQL命令工具(高效,需谨慎)

当需要删除大量关键词时,使用SQL命令是最高效的方法。请务必在操作前备份您的数据库!

操作步骤:

织梦文档关键词批量删除
(图片来源网络,侵删)
  1. 备份数据库:这是最重要的一步!登录您的网站空间/主机控制面板,使用phpMyAdmin等工具对 dede_keywords(织梦默认的关键词表名)表进行备份。

  2. 登录织梦后台:进入后台管理系统。

  3. 进入SQL命令工具

    • 在左侧菜单栏中,找到并点击 【系统】 -> 【SQL命令行工具】
  4. 执行删除命令

    • 在文本框中输入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`;
    • 说明TRUNCATEDELETE * 速度更快,并且会重置自增ID。

优点:

  • 效率极高:可以一次性删除成千上万条记录,几秒钟即可完成。
  • 功能强大:支持复杂的查询条件,可以灵活地批量处理。

缺点:

  • 风险较高:SQL语句写错可能会导致数据误删。DELETE FROM dede_keywords WHERE keyword = '%广告' 如果漏了一个 ,就会删除所有以“广告”结尾的关键词,而不是包含“广告”的。
  • 需要基础知识:需要用户对基本的SQL语法有一定了解。

使用DedePHP执行自定义脚本(最灵活,适合开发者)

如果您熟悉PHP和织梦的系统架构,可以编写一个自定义脚本,通过浏览器访问来执行删除操作,这种方法比直接在后台执行SQL更灵活,可以加入更多逻辑判断。

操作步骤:

  1. 创建PHP脚本:在网站根目录下创建一个新文件,del_keywords.php

  2. 编写脚本代码:将以下代码复制到 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();
    ?>
  3. 执行脚本

    • del_keywords.php 文件上传到您的网站服务器根目录。
    • 在浏览器中访问 http://您的域名/del_keywords.php
    • 脚本会自动执行并显示删除结果。

优点:

  • 灵活性最高:可以加入复杂的PHP逻辑,比如从文件中读取关键词列表、分批删除以避免服务器负载过高等。
  • 可重复使用:脚本可以保存下来,以后需要时再次使用。

缺点:

  • 技术门槛最高:需要用户具备PHP开发和织梦系统知识。
  • 同样有风险:如果代码有逻辑错误,也可能导致数据问题。

总结与建议

方法 优点 缺点 适用场景
后台管理 安全、简单、精准 效率低,不适合大量数据 删除少量、特定的关键词,日常维护。
SQL命令 效率极高,功能强大 风险高,需懂SQL 需要批量删除成百上千个关键词,且已做好备份。
自定义脚本 最灵活,可扩展 技术门槛高,同样有风险 需要复杂逻辑或进行定制化批量处理的开发者。

给您的最终建议:

  1. 如果只是删除几十个或上百个关键词,请首选方法一,安全又方便。
  2. 如果需要删除大量关键词(例如数千条以上),请严格遵循方法二的步骤先备份数据库,然后使用SQL命令进行高效删除。
  3. 如果您是开发者,且有更复杂的批量处理需求,可以尝试方法三

无论选择哪种方法,操作前备份数据库都是必须的,这是保护您数据安全的最后一道防线。

-- 展开阅读全文 --
头像
dede自适应图片如何避免拉伸变形?
« 上一篇 02-14
dede 隶属栏目必须选择?如何取消或修改?
下一篇 » 02-14

相关文章

取消
微信二维码
支付宝二维码

目录[+]