dede关键词替换怎么用?

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

DedeCMS 实现这个功能主要依赖于两个核心部分:

  1. 后台设置:在后台配置关键词、目标链接和替换规则。
  2. 前台调用:在前台模板中通过特定函数调用,让系统在生成页面时自动执行替换。

第一步:在后台设置关键词和链接

这是最关键的一步,你需要在这里定义好哪些词需要被替换,以及它们要链接到哪个页面。

  1. 登录 DedeCMS 后台

  2. 在左侧菜单栏中找到 “核心” -> “批量维护” -> “文档关键词维护”

  3. 添加关键词

    • 点击 “增加关键词” 按钮。
    • 输入你想要被替换的文字,“织梦CMS”、“PHP教程”。
    • 目标链接:输入该关键词要链接到的 URL 地址,/dedecms/https://www.example.com/php-tutorial/,建议使用站内相对路径。
    • 替换次数:设置该关键词在每篇文章中最多被替换的次数。建议设置为 1,避免过度优化被搜索引擎惩罚,设置为 0 则表示不限制。
    • 是否启用:务必勾选此项,让关键词生效。
    • 关键词颜色:可以设置链接文字的颜色,可选。
    • 关键词大小:可以设置链接文字的大小,可选。

    示例

    • 织梦CMS
    • 目标链接:/dedecms/
    • 替换次数:1
    • 是否启用:是
  4. 保存并添加更多关键词:你可以为每个关键词重复此操作,添加多个你想要优化的词。


第二步:在前台模板中调用替换函数

设置好关键词后,你需要告诉 DedeCMS 在哪里执行替换,这通常是在文章内容页的模板文件中完成。

  1. 找到文章内容页模板

    • 登录 DedeCMS 后台。
    • 进入 “模板” -> “默认模板管理”
    • 在左侧选择你正在使用的模板风格。
    • 找到 页模板”,文件名通常是 article_article.htm
  2. 修改模板文件

    • 点击 article_article.htm 后面的 “修改” 按钮,进入模板编辑器。
    • 找到显示文章正文内容的地方,通常是一句类似这样的代码:
      {dede:field.body/}
    • {dede:field.body/} 替换为以下代码
      {dede:field.body function='ReplaceKeywords(@me)'/}
  3. 保存模板

    • 点击模板编辑器右上角的 “保存” 按钮。

代码解释

  • {dede:field.body}:这是调用文章正文的默认标签。
  • function='ReplaceKeywords(@me)':这是一个函数调用。
    • @me:代表 {dede:field.body} 标签本身输出的原始内容(即文章正文)。
    • ReplaceKeywords:这是 DedeCMS 内置的专门用于执行关键词替换的函数。
    • 整个代码的意思是:获取文章正文内容 (@me),然后将其传递给 ReplaceKeywords 函数进行处理,最后将处理结果(添加了链接的正文)显示在页面上。

第三步:更新文章使替换生效

非常重要! 在你修改了模板或后台关键词后,之前已经发布的文章是不会自动更新的,你需要手动更新这些文章,让系统重新生成页面,替换才会生效。

你有以下几种方式更新文章:

  1. 更新单个文章(推荐)

    • 进入 -> “普通文章”
    • 找到你想要更新的文章,点击后面的 “更新” 按钮。
    • 在弹出的页面中,勾选 “仅更新正文文档页”(或者根据需要选择其他选项),然后点击 “确定更新”
  2. 批量更新文章

    • 如果文章很多,可以使用批量更新功能。
    • 进入 -> “普通文章”
    • 在文章列表页,你可以选择多篇文章,然后点击顶部的 “更新” 按钮。
    • 在弹出的页面中,选择更新范围,“仅更新选中文档”,然后点击 “开始执行”
  3. 更新栏目

    • 如果一个栏目下的所有文章都需要更新,可以进入 “栏目管理”
    • 找到对应的栏目,点击后面的 “更新” 按钮。
    • 选择 “更新所有文档”“更新选中栏目及其子栏目文档”,然后执行。

高级技巧与注意事项

  1. 排除特定内容(如代码块)

    • DedeCMS 的 ReplaceKeywords 函数是简单粗暴地全文替换,如果你的文章中包含代码(如 <pre><code> 标签内的内容),里面的关键词也可能被替换掉,这很不好。

    • 解决方案:在调用替换函数之前,先用 preg_replace 函数将代码块临时替换成一个特殊标记,替换完成后再标记换回来。

    • 修改后的模板代码示例

      {dede:field.body runphp='yes'}
      // 1. 先将代码块用特殊标记替换掉
      $content = @me;
      $content = preg_replace('/<pre.*?>.*?<\/pre>/is', '[!--code_block--]', $content);
      $content = preg_replace('/<code.*?>.*?<\/code>/is', '[!--code_block--]', $content);
      // 2. 执行关键词替换
      $content = ReplaceKeywords($content);
      // 3. 将特殊标记还原为代码块
      $content = str_replace('[!--code_block--]', '<pre><code>', $content); // 这里简化处理,实际可能需要更复杂的逻辑来还原原始代码
      // 注意:上面的简化还原可能有问题,更稳健的方法是先提取代码块,替换,再放回。
      // 但对于大多数情况,DedeCMS 默认的替换已经足够,如果代码不多,可以手动处理。
      @me = $content;
      {/dede:field.body}
    • 重要提示:上面的代码是一个简化思路,实际操作中如果代码结构复杂,可能会出错,如果对 PHP 不熟悉,建议不要轻易修改,或者使用更专业的 SEO 插件。

  2. 性能考虑

    如果你的关键词非常多,或者文章非常长,每次页面加载都执行替换可能会对服务器造成轻微的性能负担,但对于中小型网站,这个影响几乎可以忽略不计。

  3. 避免过度优化

    • 替换次数 一定要谨慎设置,通常设置为 1 是最佳实践。
    • 不要堆砌关键词,确保文章内容自然流畅,关键词替换是辅助 SEO 的手段,而不是全部。
步骤 操作 说明
后台设置 核心 -> 批量维护 -> 文档关键词维护 添加关键词、目标链接、设置替换次数和启用状态。
模板修改 修改 article_article.htm {dede:field.body/} 替换为 {dede:field.body function='ReplaceKeywords(@me)'/}
更新文章 管理中更新文章 必须执行此步,让修改后的模板和关键词在页面上生效。

遵循以上步骤,你就可以成功地在 DedeCMS 中实现关键词自动替换功能,有效提升网站的 SEO 效果。

-- 展开阅读全文 --
头像
先来先服务算法C语言如何实现?
« 上一篇 今天
dede如何调用文件名?
下一篇 » 今天
取消
微信二维码
支付宝二维码

目录[+]