dede如何批量添加tag标签?

99ANYc3cd6
预计阅读时长 15 分钟
位置: 首页 DEDE建站 正文

使用织梦官方的“文档关键词维护”功能(最推荐、最安全)

这是 DedeCMS 自带的一个功能,专门用来处理批量添加关键词(即 Tag)的问题,它通过分析文章内容,自动提取高频词汇作为 Tag,非常智能且安全,不会破坏数据库。

dede批量添加tag标签
(图片来源网络,侵删)

适用场景:

  • 网站已经有很多文章,但没有 Tag。
  • 希望根据文章内容自动生成相关标签。

操作步骤:

  1. 登录后台:使用管理员账号登录您的 DedeCMS 后台。

  2. 进入功能模块:在左侧菜单栏中,找到并点击 【核心】 -> 采集】 -> 【文档关键词维护】

    dede批量添加tag标签
    (图片来源网络,侵删)
  3. 设置批量添加参数

    • 选择栏目:勾选您需要批量添加 Tag 的文章所在的栏目,可以全选,也可以只选特定栏目。
    • 起始ID结束ID:如果您知道文章 ID 的范围,可以在这里设置,这样可以更精确地操作,避免全站扫描,如果不知道,可以留空或设置一个很大的结束ID。
    • 自动提取关键字:这是核心功能。
      • 关键字长度:设置 Tag 的字数,2 表示提取2个字的词(如“织梦”、“CMS”),3 表示3个字的词(如“标签管理”),建议设置为 2-4
      • 关键字频率:设置词在文章中出现的最低次数,2 表示这个词至少要在文章中出现2次才会被提取,可以设为 23,避免提取到无关的词。
      • 关健字库:系统会自带一个基础词库,您也可以手动添加您希望强制作为 Tag 的词。
    • 是否更新已有关键字强烈建议勾选此项,这样系统会为那些已经有 Tag 的文章补充新的 Tag,而不是完全覆盖。
    • 每次处理数量:为了避免服务器超时,可以设置每次处理的文章数量,50100,处理完一批后,再继续下一批。
  4. 开始执行

    • 点击页面底部的 【开始执行】 按钮。
    • 系统会开始处理,您可以看到处理进度,处理完成后,会提示成功处理了多少篇文章。
  5. 验证结果

    • 前往任意一篇被处理过的文章页面,查看文章内容下方或侧边栏,是否已经自动生成了相关的 Tag 标签。
    • 进入后台的 -> 【TAG标签管理】,可以看到新生成的 Tag。

使用第三方插件(功能强大,适合高级用户)

如果官方功能不能满足您的需求(比如需要更复杂的规则、从文件导入等),可以考虑使用第三方开发的批量添加 Tag 插件。

dede批量添加tag标签
(图片来源网络,侵删)

优点

  • 功能更丰富,可能支持从 Excel/CSV 文件导入 Tag。
  • 可以设置更复杂的匹配规则。
  • 通常有图形化界面,操作更直观。

缺点

  • 需要从第三方网站下载,存在安全风险(请务必选择可靠的来源)。
  • 可能与您的 DedeCMS 版本不兼容。
  • 需要手动上传和安装插件。

通用操作步骤(以某个虚构的插件为例):

  1. 下载插件:从可信的 DedeCMS 资源网站下载插件包(通常是 .zip 格式)。
  2. 上传安装
    • 解压插件包。
    • dede 文件夹内的文件和文件夹,通过 FTP 上传到您网站根目录下的 dede 文件夹中,根据提示覆盖或合并文件。
    • include 文件夹内的文件,上传到网站根目录的 include 文件夹中。
  3. 后台安装
    • 登录 DedeCMS 后台,找到 【系统】 -> 【插件管理】【系统基本参数】 -> 【插件安装】
    • 上传插件包或填写插件信息,完成安装。
  4. 使用插件
    • 在后台菜单中会出现插件对应的新菜单项。
    • 进入插件页面,按照提示选择栏目、设置 Tag 规则,然后执行批量添加。

注意:使用插件前,务必备份您的数据库


直接修改数据库(终极方法,风险最高,适合开发者)

如果您熟悉 SQL 语句,并且对数据库操作非常有信心,这是最快的方法。此方法风险极高,操作失误可能导致数据丢失,请务必在操作前完整备份数据库!

核心思路

  1. dede_archives (文章表) 中提取文章 ID 和标题,按特定规则(如空格、逗号)分割,生成 Tag 列表。
  2. 将这些 Tag 和文章 ID 关联,插入到 dede_taglist (Tag列表关联表) 中。
  3. Tag 不存在,则先将其插入到 dede_tagindex (Tag索引表) 中。

示例场景:假设您的文章标题格式是 “文章内容A,文章内容B,文章内容C”,我们想用逗号 来分割标题并生成 Tag。

操作步骤(以 phpMyAdmin 为例):

  1. 备份数据库:这是最重要的一步!

  2. 登录 phpMyAdmin:选择您的 DedeCMS 数据库。

  3. 执行 SQL 语句

    步骤 3.1:为已有 Tag 的文章补充新 Tag(推荐先执行这个,避免重复) 这个查询会找出所有没有 Tag 的文章,并用它们的标题(按逗号分割)作为 Tag。

    -- 这个查询是生成需要插入的记录,请先在“SQL”窗口中执行并查看结果,确认无误后再去掉前面的注释符 '/*' 和 '*/' 来执行插入操作
    /*
    INSERT INTO `dede_taglist` (aid, tag, typeid)
    SELECT a.id, 
           TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(a.title, ',', n.n), ',', -1)) AS tag,
           a.typeid
    FROM dede_archives a
    JOIN (
        SELECT 1 AS n UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5
        -- 如果标题中可能超过5个tag,就继续 UNION SELECT 6 ...
    ) n ON CHAR_LENGTH(a.title) - CHAR_LENGTH(REPLACE(a.title, ',', '')) >= n.n - 1
    WHERE a.id NOT IN (SELECT DISTINCT aid FROM dede_taglist)
    AND a.title LIKE '%,%' -- 只处理标题中包含逗号的文章
    ON DUPLICATE KEY UPDATE aid = aid; -- 防止重复插入
    */

    步骤 3.2:为所有文章强制添加/覆盖 Tag 这个查询会覆盖掉文章原有的所有 Tag,用标题中的逗号分割词作为新 Tag。请谨慎使用!

    -- 同样,先执行查询查看结果,确认无误后再执行插入
    /*
    -- 首先删除所有现有的Tag关联
    DELETE FROM `dede_taglist`;
    -- 然后插入新的Tag关联
    INSERT INTO `dede_taglist` (aid, tag, typeid)
    SELECT a.id, 
           TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(a.title, ',', n.n), ',', -1)) AS tag,
           a.typeid
    FROM dede_archives a
    JOIN (
        SELECT 1 AS n UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5
    ) n ON CHAR_LENGTH(a.title) - CHAR_LENGTH(REPLACE(a.title, ',', '')) >= n.n - 1
    WHERE a.title LIKE '%,%';
    */
  4. 处理 Tag 索引:上面的 INSERT INTO ... SELECT 语句如果插入了新的 tag 值,dede_taglist 表会记录,但 dede_tagindex 表可能不会自动创建,您可能需要一个更复杂的脚本来同步两个表,或者运行官方的“文档关键词维护”功能让它来帮你补全索引表。


总结与建议

方法 优点 缺点 推荐度
官方功能 安全、稳定、智能,符合 DedeCMS 内部逻辑 规则相对固定,不够灵活 ★★★★★ (最推荐)
第三方插件 功能强大,可能支持文件导入 有安全风险,可能不兼容 ★★★☆☆ (次推荐,需谨慎)
SQL语句 速度最快,控制力最强 风险极高,需要技术基础,容易出错 ★☆☆☆☆ (仅限高级开发者)

给您的最终建议:

  1. 首选方法一:对于绝大多数用户,直接使用 【文档关键词维护】 功能是最佳选择,它安全、有效,且能很好地理解文章内容。
  2. 分批操作:无论使用哪种方法,如果文章数量非常多(比如上万篇),都建议分批处理(例如每次处理 200-500 篇),以避免服务器负载过高导致超时或崩溃。
  3. 永远先备份:在使用方法二和方法三之前,请务必备份您的整个网站,特别是数据库,这是防止灾难性后果的最后防线。
-- 展开阅读全文 --
头像
dede首页为何无法找到该页?
« 上一篇 02-17
织梦上一篇下一篇标签如何正确调用与显示?
下一篇 » 02-17

相关文章

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

目录[+]