- 显示当前文章的所有关键词列表:在文章内容页,把这篇文章自身绑定的关键词以标签云的形式展示出来。
- 显示全站的热门关键词列表:在网站首页或侧边栏,显示一个全站范围内使用频率最高的关键词列表,通常作为热门搜索推荐。
下面我将分别介绍这两种情况的实现方法,并提供详细的代码和说明。

(图片来源网络,侵删)
页显示当前文章的关键词列表
这种方法非常实用,可以增强文章的内链建设,提升SEO效果。
实现步骤:
第1步:修改文章内容页模板
你需要找到并修改你当前使用的文章内容页模板文件,它通常位于 /templets/default/article_article.htm(如果你的模板是default)或者你自定义的模板目录下。
第2步:在模板中添加代码

(图片来源网络,侵删)
在你希望显示关键词列表的位置(比如文章内容下方、作者信息旁边等),插入以下代码:
{dede:field name='keywords' runphp='yes'}
if(@me != ''){
$kw = '';
$kws = explode(',',@me);
foreach($kws as $k){
$kw .= '<a href="/plus/search.php?keyword='.urlencode($k).'" target="_blank">'.$k.'</a> ';
}
@me = $kw;
}else{
@me = '暂无相关标签';
}
{/dede:field}
代码解释:
{dede:field name='keywords' runphp='yes'}: 这是织梦的底层字段调用。name='keywords'表示获取当前文章的keywords字段内容。runphp='yes'表示开启PHP代码执行模式。if(@me != ''): 判断keywords字段是否为空。@me在这里代表keywords字段的值。$kw = '';: 初始化一个空变量$kw,用于存放最终生成的HTML代码。$kws = explode(',',@me);: 使用explode()函数,将关键词字符串(用逗号分隔)分割成一个数组$kws。foreach($kws as $k): 遍历这个数组,获取每一个关键词$k。$kw .= '<a href="/plus/search.php?keyword='.urlencode($k).'" target="_blank">'.$k.'</a> ';: 为每个关键词生成一个超链接。href="/plus/search.php?keyword=...": 这是织梦内置的搜索链接,点击后会跳转到搜索结果页。urlencode($k): 对关键词进行URL编码,确保中文等特殊字符能正确传递。target="_blank": 让链接在新窗口打开,用户体验更好。.$k.: 将关键词文本插入到<a>标签中。
@me = $kw;: 将最终生成的HTML字符串重新赋值给@me,模板引擎会输出它。else{...}: 如果关键词为空,则显示“暂无相关标签”。
第3步:更新文章
保存模板文件后,登录织梦后台,找到对应文章,点击“更新”或“生成HTML”,让修改生效,刷新文章页面,你就能看到关键词标签列表了。

(图片来源网络,侵删)
在全站显示热门关键词列表
这种方法通常用于网站首页、侧边栏或页脚,作为热门搜索推荐,引导用户。
实现步骤:
第1步:创建一个自定义宏标签
织梦默认没有直接调用热门关键词的标签,所以我们需要创建一个。
- 登录织梦后台。
- 进入“核心” -> “频道模型” -> “自定义宏标签”。
- 点击“增加新宏标签”。
- 标签名称:
hotkeywords(可以自定义,方便记忆) - 说明:
获取热门关键词列表 - 标签模板: 这里填写生成列表的HTML代码,这是最关键的一步。
第2步:编写标签模板代码
在“标签模板”文本框中,输入以下代码:
{dede:sql sql="SELECT keyword,count FROM dede_search_keywords ORDER BY count DESC LIMIT 0,20"}
<li><a href="/plus/search.php?keyword=[field:keyword function='urlencode(@me)'/]" target="_blank">[field:keyword/]</a> ([field:count/])</li>
{/dede:sql}
代码解释:
{dede:sql sql="..."}: 这是织梦的SQL查询标签,可以直接执行SQL语句。SELECT keyword,count FROM dede_search_keywords:dede_search_keywords是织梦存储搜索关键词的表。keyword是关键词,count是搜索次数。ORDER BY count DESC: 按照搜索次数count降序排列,这样就是热门关键词。LIMIT 0,20: 限制只返回前20条记录,你可以根据需要修改这个数字。<li>...</li>: 每个关键词用<li>标签包裹,方便CSS样式控制。<a href="...">...</a>: 同样是生成指向搜索页面的链接。[field:keyword function='urlencode(@me)'/]: 调用keyword字段,并用urlencode函数进行编码。([field:count/]): 显示每个关键词被搜索的次数。
第3步:在模板中调用宏标签
你可以在任何模板文件(如 index.htm, head.htm 等)中,使用你刚刚创建的宏标签来显示热门关键词列表。
<div class="hot-keywords">
<h3>热门搜索</h3>
<ul>
{dede:hotwords}
</ul>
</div>
注意:这里的标签名 {dede:hotwords} 必须和你第1步中设置的“标签名称”完全一致。
第4步:更新缓存
在后台“自定义宏标签”页面,点击右上角的“更新缓存”按钮。
第5步:更新首页
到“生成” -> “主页HTML生成”中,更新你的首页HTML,刷新网站首页,就能看到热门关键词列表了。
总结与注意事项
| 功能 | 优点 | 适用场景 | 核心代码 |
|---|---|---|---|
| 文章内关键词 | 增强内链,SEO效果好,与当前文章高度相关 | 文章详情页 | {dede:field name='keywords' runphp='yes'}... |
| 全站热门关键词 | 引导用户,提供热门搜索,提升网站流量 | 首页、侧边栏、页脚 | {dede:sql sql="SELECT..."}... |
重要提示:
- 数据库表前缀:如果你的织梦安装时没有使用默认的
dede_表前缀,请将代码中的dede_search_keywords修改为你自己的表前缀。 - SEO优化:对于热门关键词列表,建议使用
rel="nofollow"属性,以避免权重分散,特别是当这个列表不是网站主要内容时。<a href="/plus/search.php?keyword=[field:keyword function='urlencode(@me)'/]" target="_blank" rel="nofollow">[field:keyword/]</a>
- 样式美化:生成的HTML结构很清晰,你可以通过CSS轻松地为关键词列表添加样式,比如改变颜色、大小、间距等,使其更美观。
