dede如何按关键字实现精准内容检索?

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 DEDE建站 正文
  1. 核心概念:什么是“关键字”?
  2. 如何为文章添加关键字?
  3. “按关键字”的主要应用场景
    • 相关文章推荐
    • 站内搜索
    • TAG标签(与关键字紧密相关)
  4. 高级应用:如何手动调用按关键字相关的文章?
  5. 常见问题与注意事项

核心概念:什么是“关键字”?

在 DedeCMS 中,关键字 是指你为一篇文章设定的、用于描述其核心内容的几个词语或短语,它们就像是文章的“标签”或“索引”,主要用于:

dede 中的按关键字
(图片来源网络,侵删)
  • 内部关联:帮助系统找到与当前文章主题相似的其他文章。
  • 用户检索:让用户可以通过搜索框快速找到他们感兴趣的内容。
  • SEO优化:为搜索引擎提供额外的页面主题信息。

如何为文章添加关键字?

为文章添加关键字非常简单,主要在发布或编辑文章的后台进行。

步骤:

  1. 登录 DedeCMS 后台

  2. 进入 [核心] -> 模型管理] -> [普通文章](或其他你使用的模型)-> [字段管理]

    dede 中的按关键字
    (图片来源网络,侵删)
  3. 确保 keywords 字段是 “是”(已启用)状态,默认情况下,这个字段是启用的。

  4. 发布或编辑一篇文章时,在编辑器下方找到 “关键字” 输入框。

  5. 输入关键字

    • 格式:多个关键字之间请用英文逗号 隔开。旅游攻略, 海岛度假, 马尔代夫
    • 数量:建议每个关键字由 2-5 个汉字组成,一篇文章的关键字数量最好在 3-10 个之间。
    • 相关性:输入的关键字必须与文章内容高度相关。
  6. 点击 “确定” 保存文章。

    dede 中的按关键字
    (图片来源网络,侵删)

“按关键字”的主要应用场景

添加了关键字后,DedeCMS 会自动或手动地在多个地方应用它。

相关文章推荐

这是“按关键字”功能最经典、最自动化的应用,你可以在文章内容页(article_article.htm 模板)中调用与当前文章相关的文章列表。

实现原理: 系统会获取当前文章的 keywords 字段,然后在整个网站的 dede_archives 表中搜索,找出 keywords 字段里包含了当前文章任意一个关键字的其它文章。

如何调用:页模板中,使用 DedeCMS 的内置标签 {dede:likearticle}

<h3>相关文章推荐</h3>
<ul class="related-article">
    {dede:likearticle row='8' titlelen='50'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
    {/dede:likearticle}
</ul>

标签参数说明:

  • row='8':显示相关文章的数量,这里是 8 篇,len='50'`:文章标题的显示长度,这里是 50 个字符。
  • typeid='':可以指定只调用某个栏目下的相关文章。
  • innertext='':可以使用此参数来定义每条记录的显示样式。

站内搜索

用户在网站的搜索框中输入关键字时,系统会去遍历所有文章的标题、内容、关键字等字段,找出包含该关键字的文章列表并展示出来。

实现原理: DedeCMS 的搜索模块会查询数据库,将用户输入的关键字与文章的多个字段(默认是标题和关键字)进行模糊匹配。

如何使用:

  1. 在网站前台模板的适当位置(如头部)放置一个搜索表单。
    <form name="formsearch" action="{dede:global.cfg_cmspath/}/plus/search.php">
        <div>
            <input type="hidden" name="kwtype" value="0" />
            <input type="text" name="q" class="search-keyword" />
            <button type="submit" class="search-submit">搜索</button>
        </div>
    </form>
  2. 用户输入关键字(如“旅游攻略”)并点击搜索后,会跳转到搜索结果页 /plus/search.php?q=旅游攻略

TAG标签(与关键字紧密相关)

TAG(标签)系统是另一个强大的“按关键字”功能,它与文章关键字有区别,但可以联动。

  • 文章关键字:是 作者 在发布文章时为 单篇文章 设定的。
  • TAG标签:可以是 管理员或作者 在发布文章时设定的,也可以是系统自动从文章关键字中提取的,它是一个 全局的、可聚合的 关键词集合。

联动设置:

  1. 进入 [核心] -> 模型管理] -> [普通文章] -> [字段管理]
  2. 找到 tag 字段,确保其为“是”。
  3. 在发布文章时,你会看到“TAG标签”输入框。
  4. 关键一步:勾选 “同步关键字到TAG” 选项,这样,你在“关键字”框里输入的内容,会自动同步到“TAG标签”框里。

调用TAG相关文章: 在文章页或列表页,可以通过 {dede:tag} 标签来调用当前文章的TAG,并链接到该TAG的聚合页面。

<!-- 调用当前文章的TAG -->
{dede:tag sort='hot' getall='0'}
    <a href="[field:link/]">[field:tagname/]</a>
{/dede:tag}

高级应用:如何手动调用按关键字相关的文章?

除了 {dede:likearticle},你还可以使用更灵活的 {dede:arclist} 标签来实现。

方法:使用 keyword 属性

{dede:arclist} 标签有一个 keyword 属性,可以指定一个或多个关键字来获取文章。

示例1:获取包含“旅游”关键字的文章

<h3>旅游”的文章</h3>
<ul>
    {dede:arclist keyword='旅游' row='5' titlelen='30'}
    <li><a href="[field:arcurl/]">[field:title/]</a></li>
    {/dede:arclist}
</ul>

示例2:获取包含“旅游”或“攻略”关键字的文章 使用英文逗号隔开多个关键字,表示“或”的关系。

<h3>旅游”或“攻略”的文章</h3>
<ul>
    {dede:arclist keyword='旅游,攻略' row='5' titlelen='30'}
    <li><a href="[field:arcurl/]">[field:title/]</a></li>
    {/dede:arclist}
</ul>

示例3:排除包含“广告”关键字的文章 使用 notkeyword 属性来排除特定关键字。

<h3>旅游”但不包含“广告”的文章</h3>
<ul>
    {dede:arclist keyword='旅游' notkeyword='广告' row='5' titlelen='30'}
    <li><a href="[field:arcurl/]">[field:title/]</a></li>
    {/dede:arclist}
</ul>

常见问题与注意事项

  1. 为什么相关文章没有显示?

    • 原因1:当前文章没有填写关键字。
    • 原因2:网站里没有其他文章包含相同的关键字。
    • 原因3:模板中调用相关文章的标签 {dede:likearticle} 可能被删除或语法错误。
    • 原因4:网站数据量太小,找不到匹配项。
  2. 关键字和TAG标签有什么区别?我应该用哪个?

    • 关键字:偏向于文章的内部索引,主要用于“相关文章”的自动推荐,是文章的一个属性。
    • TAG标签:偏向于内容聚合和导航,用户可以通过点击一个标签,看到所有带有该标签的文章,形成专题聚合页面。
    • 建议:两者都使用,并勾选“同步关键字到TAG”,这样既能实现自动相关文章推荐,又能构建丰富的TAG聚合页面,对SEO和用户体验都大有裨益。
  3. 关键字对SEO有帮助吗?

    有帮助,虽然搜索引擎主要看重标题和内容,但一个结构良好、相关的关键字列表可以为搜索引擎提供额外的上下文信息,有助于搜索引擎更好地理解文章主题,更重要的是,通过关键字实现的“相关文章”可以有效增加网站的内链,这是SEO中非常重要的一环。

希望这份详细的解析能帮助你完全理解 DedeCMS 中的“按关键字”功能!

-- 展开阅读全文 --
头像
C语言如何集成SQLcipher实现数据库加密?
« 上一篇 今天
dede数据库密码怎么改?
下一篇 » 今天

相关文章

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

目录[+]