在内容运营中,了解文章关键词的出现频率是进行SEO优化和内容策略分析的重要一环。通过统计关键词次数,我们可以更好地评估内容的密度、相关性,甚至发现潜在的优化空间。AnQiCMS 提供了强大且灵活的模板系统,配合其内置的内容过滤器,我们可以轻松地在文章内容中统计特定关键词的出现次数。

理解需求:为何需要统计关键词?

统计关键词在文章中出现的次数,主要有以下几个实际应用场景:

  1. SEO 优化评估:搜索引擎在判断文章相关性时,会考虑关键词的出现频率。虽然“关键词密度”不再是唯一的排名因素,但了解其分布仍然有助于内容策略。
  2. 内容质量分析:过高或过低的关键词频率都可能影响阅读体验。适度的统计可以帮助我们保持内容的自然流畅性,避免堆砌关键词。
  3. 内部链接策略:在一些自动化内部链接工具中,统计关键词有助于识别哪些词可以被转化为链接,指向其他相关页面。
  4. 竞品分析:分析竞争对手文章中的关键词频率,可以为自己的内容创作提供参考。

AnQiCMS 模板中的核心工具:内容过滤器

AnQiCMS 的模板语法灵活且强大,它借鉴了类似 Django 或 Blade 这样的模板引擎的优点,支持变量、条件判断、循环等基础操作。更重要的是,它提供了丰富的内容过滤器(Filters),这些过滤器能够对输出的数据进行各种处理,例如格式化时间、截取字符串、甚至统计字符或单词数量。要统计关键词次数,我们主要会用到两个关键点:获取文章内容,以及应用统计过滤器。

获取文章内容:archiveDetail 标签

首先,我们需要在模板中获取到文章的完整内容。在 AnQiCMS 的文章详情页模板中,当前文章的各种数据通常可以直接通过 archive.字段名 的形式访问。其中,文章的主要内容字段通常是 archive.Content

如果需要在非文章详情页(例如首页或列表页)获取指定文章的内容,可以使用 archiveDetail 标签。不过,对于我们当前的需求——在“文章内容中”统计关键词,通常意味着我们身处文章详情页,直接使用 archive.Content 是最便捷的方式。

例如,在 archive/detail.html 这样的文章详情模板中,我们可以直接访问:

{{ archive.Content|safe }}

这里的 |safe 过滤器是为了确保文章内容中的 HTML 标签能够被正确解析显示,而不是作为纯文本输出。

统计关键词次数:count 过滤器

有了文章内容,接下来就是统计关键词出现的次数。AnQiCMS 提供了一个非常实用的 count 过滤器来完成这个任务。这个过滤器能够计算某个关键词在字符串中出现的频率。

count 过滤器的基本使用方式如下:

{{ obj|count:关键词 }}

其中:

  • obj 是我们要进行统计的字符串对象,例如 archive.Content
  • 关键词 是我们要统计的目标字符串。

举个例子,如果我们想统计 “CMS” 这个词在一段文本中出现了多少次:

{% set text = "欢迎使用安企CMS(AnQiCMS),这是一个基于Go语言的CMS。" %}
{% set cms_count = text|count:"CMS" %}
<p>关键词 "CMS" 在文本中出现了:{{ cms_count }} 次。</p>

这段代码的输出将是:关键词 "CMS" 在文本中出现了:2 次。

将它们结合起来:完整实现步骤

现在,我们把获取文章内容和使用 count 过滤器这两个步骤结合起来。假设我们正在编辑一个文章详情页的模板(例如 /template/default/archive/detail.html 或自定义文章模板),并且想要统计某个关键词在当前文章内容中出现的次数。

您可以按照以下步骤操作:

  1. 定义要统计的关键词:为了方便管理和修改,我们可以先使用 set 标签定义一个变量来存储我们要统计的关键词。
  2. 获取文章内容:利用 archive.Content 获取当前文章的全部内容。
  3. 应用 count 过滤器:将文章内容作为过滤器输入,关键词作为参数,得到统计结果。
  4. 展示结果:将统计结果显示在页面上。

下面是一个完整的代码示例,展示了如何在 AnQiCMS 模板中统计关键词 “AnQiCMS” 在当前文章内容中的出现次数:

{# 1. 定义要统计的关键词 #}
{% set keyword_to_count = "AnQiCMS" %}

{# 2. 检查文章内容是否存在,以避免不必要的错误 #}
{% if archive.Content %}
    {# 3. 对文章内容应用 'count' 过滤器进行关键词统计 #}
    {% set count_result = archive.Content|count:keyword_to_count %}

    {# 4. 在页面上展示统计结果 #}
    <div class="keyword-stats">
        <p>关键词 "{{ keyword_to_count }}" 在本文中出现了:<strong>{{ count_result }}</strong> 次。</p>
    </div>
{% else %}
    <div class="keyword-stats">
        <p>文章内容为空,无法统计关键词出现次数。</p>
    </div>
{% endif %}

将这段代码片段插入到您的文章详情模板中合适的位置,例如文章标题下方、正文结尾处或侧边栏,页面加载时就会自动计算并显示关键词的出现次数。

实战演练:一个具体示例

假设我们有一篇关于 “AnQiCMS 使用教程” 的文章,内容中多次提到了 “AnQiCMS” 和 “Go语言”。我们希望在文章底部显示这两个关键词的统计数据。

”`twig {# 假设这是文章详情页模板的某个部分 #}

<h1>{{ archive.Title }}</h1>
<div class="article-meta">
    发布日期: {{ stampToDate(archive.CreatedTime, "2006-01-02") }} | 浏览量: {{ archive.Views }}
</div>

<div class="article-content">
    {{ archive.Content|safe }}
</div>

<div class="keyword-analysis">
    <h3>关键词统计分析:</h3>
    {% set keywords_to_analyze = ["AnQiCMS", "Go语言", "模板"]|list %} {# 定义一个关键词列表 #}
    {% set