如何在前台页面展示AnqiCMS的相关文档列表,以增加内容的关联性和用户停留时间?

在内容运营中,我们都希望用户能在网站上停留更长时间,浏览更多内容。一篇精心撰写的文章固然重要,但如何将它与其他相关内容连接起来,形成一个内容矩阵,才是提升用户体验、降低跳出率的关键。想象一下,用户阅读完一篇关于“安企CMS核心功能”的文章后,如果页面下方能自动推荐“如何使用安企CMS搭建电商站”或“安企CMS模板制作教程”,是不是更能吸引他们继续探索?

这正是我们今天要探讨的主题:如何在安企CMS的前台页面巧妙地展示相关文档列表,不仅能增加内容的关联性,还能有效延长用户在网站上的停留时间。

为什么展示相关文档如此重要?

在我们构建网站内容时,仅仅发布内容是远远不够的。为了让每一份内容的价值最大化,我们需要思考如何引导用户发现更多。展示相关文档能带来多重益处:

  1. 提升用户体验: 用户看完一篇内容,如果能立即看到他们可能感兴趣的下一步阅读,这种无缝的引导会让他们感到方便和贴心。
  2. 降低跳出率: 当用户找到感兴趣的关联内容时,他们就不会轻易离开网站,而是继续点击浏览,从而有效降低网站的跳出率。
  3. 延长停留时间与增加页面浏览量: 更多的点击意味着更长的停留时间和更多的页面浏览量,这对于网站的整体数据表现至关重要。
  4. 优化SEO(搜索引擎优化): 内部链接是SEO的重要组成部分。通过在文章中合理地推荐相关内容,我们能够构建强大的内部链接结构,帮助搜索引擎更好地理解网站主题,提升页面的权重和排名。

安企CMS的秘密武器:archiveList 标签

安企CMS提供了强大且灵活的模板标签体系,其中,archiveList 标签就是实现内容关联展示的利器。它能帮助我们根据各种条件,如分类、标签、推荐属性、甚至自定义字段,动态地拉取和展示文档列表。

要运用好 archiveList 标签,我们通常需要先获取当前页面的上下文信息,比如用户正在浏览的文档ID、所属分类ID、关键词等。archiveDetail 标签就能很好地帮助我们完成这个任务。

1. 获取当前文档的上下文信息

假设我们正在一个文档详情页(比如 detail.htmlproduct/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