在内容运营中,我们都希望用户能在网站上停留更长时间,浏览更多内容。一篇精心撰写的文章固然重要,但如何将它与其他相关内容连接起来,形成一个内容矩阵,才是提升用户体验、降低跳出率的关键。想象一下,用户阅读完一篇关于“安企CMS核心功能”的文章后,如果页面下方能自动推荐“如何使用安企CMS搭建电商站”或“安企CMS模板制作教程”,是不是更能吸引他们继续探索?
这正是我们今天要探讨的主题:如何在安企CMS的前台页面巧妙地展示相关文档列表,不仅能增加内容的关联性,还能有效延长用户在网站上的停留时间。
为什么展示相关文档如此重要?
在我们构建网站内容时,仅仅发布内容是远远不够的。为了让每一份内容的价值最大化,我们需要思考如何引导用户发现更多。展示相关文档能带来多重益处:
- 提升用户体验: 用户看完一篇内容,如果能立即看到他们可能感兴趣的下一步阅读,这种无缝的引导会让他们感到方便和贴心。
- 降低跳出率: 当用户找到感兴趣的关联内容时,他们就不会轻易离开网站,而是继续点击浏览,从而有效降低网站的跳出率。
- 延长停留时间与增加页面浏览量: 更多的点击意味着更长的停留时间和更多的页面浏览量,这对于网站的整体数据表现至关重要。
- 优化SEO(搜索引擎优化): 内部链接是SEO的重要组成部分。通过在文章中合理地推荐相关内容,我们能够构建强大的内部链接结构,帮助搜索引擎更好地理解网站主题,提升页面的权重和排名。
安企CMS的秘密武器:archiveList 标签
安企CMS提供了强大且灵活的模板标签体系,其中,archiveList 标签就是实现内容关联展示的利器。它能帮助我们根据各种条件,如分类、标签、推荐属性、甚至自定义字段,动态地拉取和展示文档列表。
要运用好 archiveList 标签,我们通常需要先获取当前页面的上下文信息,比如用户正在浏览的文档ID、所属分类ID、关键词等。archiveDetail 标签就能很好地帮助我们完成这个任务。
1. 获取当前文档的上下文信息
假设我们正在一个文档详情页(比如 detail.html 或 product/detail.html),首先需要获取当前文档的具体信息,以便后续根据这些信息来查找“相关”内容。
{# 假设我们正在文档详情页,archive变量已包含当前文档的所有信息 #}
{# 如果没有,可以使用 archiveDetail 标签来获取,例如:#}
{# {% archiveDetail currentArchive with name="Id" %} #}
{# {% set currentArchiveId = currentArchive %} #}
{# {% archiveDetail currentArchive with name="CategoryId" %} #}
{# {% set currentCategoryId = currentArchive %} #}
{# 实际开发中,通常在详情页,archive 变量是默认可用的,我们直接使用它 #}
{% set currentArchiveId = archive.Id %}
{% set currentCategoryId = archive.CategoryId %}
{% set currentArchiveKeywords = archive.Keywords %}
这样,我们就有了当前文档的ID、分类ID和关键词,这些都是构建相关文档列表的重要依据。
2. 根据不同策略展示相关文档
现在,我们可以利用 archiveList 标签,结合不同的参数,来实现多种相关文档的展示策略:
策略一:同分类下的其他文档
这是最常见、最直接的关联方式。用户既然对这个分类的内容感兴趣,很可能也会想看看同分类下的其他文章。
<section class="related-docs-by-category">
<h3>同分类下其他文章</h3>
<ul>
{% archiveList relatedByCategory with type="list" categoryId=currentCategoryId limit="5" %}
{% for item in relatedByCategory %}
{# 避免显示当前文章本身,虽然安企CMS通常会智能处理,但手动判断更保险 #}
{% if item.Id != currentArchiveId %}
<li>
<a href="{{ item.Link }}">
{% if item.Thumb %}<img src="{{ item.Thumb }}" alt="{{ item.Title }}" loading="lazy">{% endif %}
<h4>{{ item.Title }}</h4>
<p>{{ item.Description|truncatechars:80 }}</p>
</a>
</li>
{% endif %}
{% empty %}
<li>暂无同分类下其他文章。</li>
{% endfor %}
{% endarchiveList %}
</ul>
</section>
策略二:根据关键词或人工关联的文档
安企CMS的 archiveList 标签有一个非常实用的 type="related" 参数,它能智能地根据当前文档的关键词,甚至后台人工设置的“相关文档”来进行推荐。
<section class="related-docs-by-keywords">
<h3>您可能还喜欢(根据内容相关性)</h3>
<ul>
{# type="related" 会根据当前文档的分类和关键词智能匹配,
如果后台人工设置了相关文档,like="relation" 会优先展示人工关联的 #}
{% archiveList relatedBySmart with type="related" like="keywords" limit="5" %}
{% for item in relatedBySmart %}
{% if item.Id != currentArchiveId %}
<li>
<a href="{{ item.Link }}">
{% if item.Thumb %}<img src="{{ item.Thumb }}" alt="{{ item.Title }}" loading="lazy">{% endif %}
<h4>{{ item.Title }}</h4>
<p>{{ item.Description|truncatechars:80 }}</p>
</a>
</li>
{% endif %}
{% empty %}
<li>暂无相关推荐。</li>
{% endfor %}
{% endarchiveList %}
</ul>
</section>
策略三:最新发布或浏览量最高的文档
有时,我们可能希望推荐网站上最新鲜的内容,或者最受大家欢迎的热门内容,这也能有效引导用户浏览。
”`twig
<h3>最新发布</h3>
<ul>
{% archiveList latestDocs with type="list" order="id desc" limit="5" %}
{% for item in latestDocs %}
{% if item.Id != currentArchiveId %}
<li>
<a href="{{ item.Link }}">
<h4>{{ item.Title }}</h4>
<span>发布日期: {{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
</a>
</li>
{% endif %}
{% endfor %}
{% endarchiveList %}
</ul>
<h3>热门文章</h3>
<ul>
{% archiveList popularDocs with type="list" order="views desc" limit="5" %}
{% for item in popularDocs %}
{% if item.Id != currentArchiveId %}
<li>
<a href="{{ item.Link }}">
<h4>{{ item.Title }}</h4>
<span>浏览量: {{ item.Views }}</span>
</a>