在织梦CMS(DedeCMS)中,“相关文章”功能是一个非常核心且常用的SEO和用户体验优化功能,它指的是在文章内容页(article_article.htm)的末尾,自动列出与当前文章在栏目、关键词或标签等方面相关的其他文章列表。

这里的“编辑器”一词可能有两种理解:
- 后台编辑器:用于编写文章内容的编辑器(如百度编辑器、ckeditor等),这个编辑器本身不直接生成“相关文章”,但你在里面填写的文章关键词、栏目、标签等信息,是生成相关文章的数据基础。
- 相关文章的“编辑”与“配置”:这通常指的是在织梦后台,如何配置、修改和自定义“相关文章”这个模块的显示方式、数量、排序规则以及模板代码。
下面我将主要围绕第二种理解,也就是如何配置和自定义“相关文章”功能,这是你作为网站管理员最需要关心的。
“相关文章”功能的工作原理
织梦的“相关文章”功能不是凭空生成的,它依赖于你发布文章时填写的信息:
- 栏目ID:最基本的相关性,同栏目下的文章会被认为是相关的。
- 文章关键词:这是最常用的相关性依据,你在编辑文章时,在“关键词”输入框中填写用英文逗号 分隔的关键词(
织梦,dedecms,模板),系统会根据这些关键词去匹配其他文章的关键词字段。 - 文章TAG标签:这是一种更灵活、更现代的相关性方式,你可以为文章打上多个标签,系统会根据这些标签来聚合相关文章。
织梦的后台系统会根据你设定的规则(默认是关键词),在数据库中查询,然后将查询结果以列表的形式展示在文章页的模板中。

如何在后台配置“相关文章”
织梦CMS提供了非常灵活的配置选项,你可以在后台的“系统” -> “系统基本参数”中找到。
- 登录织梦后台。
- 进入 “系统” -> “系统基本参数”。
- 在左侧菜单中,点击 “核心设置”。
你会看到几个与“相关文章”直接相关的参数:
-
(是/否) 关联文章使用关键词:这是最重要的开关。
- “是”:系统会根据文章的来查找关联文章。
- “否”:系统会根据文章的栏目ID来查找关联文章(即只显示同栏目的文章)。
- 建议:为了实现更精准的相关推荐,通常设置为 “是”。
-
(是/否) 关联文章启用TAG标签:这个选项决定了是否使用TAG标签来查找关联文章。
(图片来源网络,侵删)- “是”:如果同时启用了“关键词”和“TAG标签”,织梦会优先或同时使用两者来查找,具体逻辑可能因版本而异,但通常会结合使用。
- “否”:不使用TAG标签。
- 建议:如果你的网站启用了TAG功能,建议设置为 “是”,这样可以大大丰富相关文章的来源。
-
关联文章数量:这个参数控制了在文章页末尾最多显示多少篇相关文章,你可以根据网站布局和SEO需求进行调整,例如设置为
10或15。
配置小结: 为了获得最佳效果,推荐设置如下:
- 关联文章使用关键词:是
- 关联文章启用TAG标签:是
- 关联文章数量:10 (可根据需要调整)
如何在前台模板中修改和自定义“相关文章”
配置好后台参数后,你还需要在文章内容页模板 article_article.htm 中找到相关的代码,并对其进行修改,以控制其显示样式。
-
找到模板文件:
- 进入 “模板” -> “默认模板管理”。
- 找到你当前使用的模板,点击 “文件列表”。
- 找到并编辑
article_article.htm文件。
-
定位相关文章代码: 在模板文件中,搜索类似
{dede:likearticle}或{dede:arclist}的标签,织梦早期版本常用{dede:likearticle},而新版更多推荐使用功能更强大的{dede:arclist}。
使用 {dede:likearticle} 标签(较旧)
这个标签是专门为“相关文章”设计的,使用简单。
<h3>相关文章</h3>
<ul class="related-list">
{dede:likearticle titlelen='42' row='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:likearticle}
</ul>
常用属性说明:len='42'`:标题显示长度,单位是汉字(一个汉字算2个字节,一个字母算1个字节),这里表示标题最多显示21个汉字。
row='10':显示的文章数量,会覆盖后台的“关联文章数量”设置。orderby='click':排序方式,可以是click(按点击量),pubdate(按发布时间),rand(随机) 等。idlist='':指定文章ID,留空则按规则自动获取。
使用 {dede:arclist} 标签(推荐,更灵活)
{dede:arclist} 是织梦最强大的列表标签,通过指定条件,完全可以实现“相关文章”的功能,并且自定义能力更强。
<h3>相关文章</h3>
<ul class="related-list">
{dede:arclist typeid='' keyword='' tag='' row='10' orderby='click'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title function='cn_substr(@me, 42)'/]</a>
<span class="date">([field:pubdate function='MyDate('m-d', @me)'/])</span>
</li>
{/dede:arclist}
</ul>
关键属性说明:
typeid='':指定栏目ID,留空则不限制,如果只想显示同栏目,就填入当前文章的栏目ID(通过GetTopid(@me)获取,但这里通常留空,配合keyword或tag使用)。keyword='':核心属性,这里会自动填入当前文章的关键词,用来匹配其他文章,这是实现“相关”的关键。tag='':核心属性,这里会自动填入当前文章的TAG标签,用来匹配其他文章。row='10':显示数量。orderby='click':排序方式。[field:title function='cn_substr(@me, 42)'/]:这是对标题进行截断处理,比titlelen更灵活,可以指定是按字节还是按字符截断。
常见问题与高级技巧
问题1:相关文章显示不相关,或者为空?
- 检查后台设置:确认“关联文章使用关键词”是否为“是”。
- 检查文章内容:确保你发布的文章填写了关键词,并且关键词之间用英文逗号隔开,关键词为空是导致相关文章为空的最常见原因。
- 检查模板代码:确认模板中相关文章的标签没有写错。
问题2:我想同时用关键词和TAG标签来查找相关文章怎么办?
- 你可以在
{dede:arclist}标签中同时使用keyword和tag属性,织梦会自动将这两个条件进行“与”或“或”的逻辑组合(通常是“或”关系,即满足其一即可),从而扩大查找范围。
问题3:如何让相关文章的样式更美观?
- 这完全是CSS的活,在你自定义的HTML结构上(如上面的
<ul>和<li>),添加CSS类名,然后在你的模板CSS文件(如style.css)中定义样式。
/* 在 style.css 中添加 */
.related-list {
list-style: none;
padding: 0;
margin: 20px 0;
border-top: 1px solid #eee;
padding-top: 15px;
}
.related-list li {
margin-bottom: 10px;
font-size: 14px;
line-height: 1.6;
}
.related-list li a {
color: #333;
text-decoration: none;
transition: color 0.3s;
}
.related-list li a:hover {
color: #0066cc;
text-decoration: underline;
}
.related-list .date {
color: #999;
font-size: 12px;
margin-left: 8px;
}
| 功能层面 | 操作位置 | 关键点 |
|---|---|---|
| 数据准备 | 后台文章编辑器 | 务必填写“关键词”和“TAG标签”,这是相关文章的“燃料”。 |
| 后台配置 | 系统 -> 系统基本参数 -> 核心设置 |
设置是否使用关键词/TAG,以及显示数量,推荐都开启。 |
| 前台展示 | 模板文件 article_article.htm |
使用 {dede:likearticle} 或更灵活的 {dede:arclist} 标签来调用和展示相关文章列表。 |
| 样式美化 | CSS文件 | 通过自定义HTML结构和CSS样式,让相关文章列表与你的网站整体风格保持一致。 |
掌握了以上这些步骤,你就可以完全掌控织梦CMS的“相关文章”功能,让它为你的网站带来更好的SEO效果和用户体验。
