在网站运营中,外部链接的管理是内容策略和搜索引擎优化(SEO)不可或缺的一部分。尤其像 rel="nofollow" 这样的属性,它告诉搜索引擎不要将链接权重传递给被链接的页面,这对于管理网站的链接健康度和避免潜在的SEO风险至关重要。安企CMS(AnQiCMS)提供了多种方式来处理和显示内容中的外部链接,包括自动添加 rel="nofollow" 属性,让网站管理者能够灵活地控制这些链接的行为。

后台内容设置:全局控制外部链接属性

安企CMS在后台的内容设置中,为我们提供了一个全局性的选项来管理内容中的外部链接。这个设置位于 后台设置 -> 内容设置 区域,其中有一个关键选项是“是否自动过滤外链”。

这个选项对内容中包含的外部链接有着直接的影响:

  • 选择“自动过滤外链”:如果我们勾选并启用此选项,系统会在发布内容时,自动检测并移除内容中所有的外部链接。这意味着,任何指向站外域名的链接都将不会被保留在最终发布的内容中。这通常适用于那些希望严格控制内容纯净度,或避免任何链接权重流失的网站。
  • 选择“不过滤外链”:如果我们不勾选或禁用此选项,系统将保留内容中所有的外部链接。但更重要的是,安企CMS会智能地为这些保留下来的外部链接自动添加 rel="nofollow" 属性。这个机制非常实用,它允许我们向用户展示外部资源,同时又向搜索引擎表明,我们不为这些外部链接的质量背书,从而避免将自身的链接权重传递出去。

通过这个全局设置,我们可以根据网站的整体运营策略,统一地处理内容中的外部链接,无论是选择完全去除,还是保留并加上 nofollow 属性。

模板过滤器:动态处理内容中的链接

除了后台的全局设置,安企CMS在模板层面也提供了精细化的控制,特别是通过 urlizeurlizetrunc 过滤器来处理文本中未格式化的URL。

有时,我们的文章内容可能包含纯文本形式的URL或邮箱地址,例如 www.example.com[email protected],而这些内容我们希望它们能自动转换为可点击的超链接。这时,就可以在模板中使用 urlizeurlizetrunc 过滤器。

  • urlize 过滤器:这个过滤器能够识别文本中的URL和邮箱地址,并自动将它们转换成带有 <a> 标签的可点击链接。值得注意的是,安企CMS会自动为这些由 urlize 生成的链接加上 rel="nofollow" 属性。这对于那些需要展示大量第三方信息源,但不希望为这些信息源传递SEO权重的网站来说,是一个非常便捷的功能。
  • urlizetrunc 过滤器:功能与 urlize 类似,但它允许我们指定链接文本的显示长度。当原始URL过长时,urlizetrunc 会将其截断并以 ... 结尾,同时保留完整的链接功能。同样地,这些通过 urlizetrunc 生成的链接也会自动带有 rel="nofollow" 属性

这些过滤器在处理用户提交的内容、评论或任何其他可能包含未格式化URL的动态文本时,显得尤为重要,它们在保证链接可用性的同时,兼顾了SEO的**实践。

代码示例 (内容中自动识别并添加 nofollow): 假设您的内容变量 articleContent 包含纯文本URL,您可以在模板中这样使用:

{# 假设 articleContent 包含纯文本 URL,如 "访问我们的网站 www.anqicms.com 获取更多信息。" #}
<p>{{ articleContent|urlize|safe }}</p>

经过处理后,输出到页面的HTML可能会是这样:

<p>访问我们的网站 <a href="http://www.anqicms.com" rel="nofollow">www.anqicms.com</a> 获取更多信息。</p>

(请注意 |safe 过滤器是为了确保 HTML 标签能够正确解析而不是被转义。)

友情链接的额外控制

对于“友情链接”这种特定类型的外部链接,安企CMS也提供了更加直观的控制方式。在友情链接管理功能中,每一个友情链接都可以单独设置是否添加 rel="nofollow" 属性。

当我们使用 linkList 标签在模板中调用友情链接时,可以根据每个链接的 Nofollow 属性来决定是否渲染 rel="nofollow"。这意味着我们可以为那些彼此信任、希望传递权重的友情链接不加 nofollow,而为那些不需要传递权重或尚未完全信任的链接加上 nofollow,实现了更灵活的策略。

代码示例 (友情链接按需添加 nofollow)

{% linkList friendLinks %}
{% if friendLinks %}
<div>
    <span>友情链接:</span>
    {% for item in friendLinks %}
    <a href="{{item.Link}}" {% if item.Nofollow == 1 %} rel="nofollow"{% endif %} target="_blank">{{item.Title}}</a>
    {% endfor %}
</div>
{% endif %}
{% endlinkList %}

在这个例子中,只有当后台为某个友情链接明确勾选了 Nofollow 选项(即 item.Nofollow1)时,该链接才会显示 rel="nofollow"

为什么 rel="nofollow" 如此重要?

rel="nofollow" 属性在网站运营中扮演着关键角色,它主要解决了以下几个问题:

  1. 管理链接权重:告诉搜索引擎不要将当前页面的“链接权重”(或称为“链接资产”)传递给目标页面。这有助于我们更精确地控制网站的SEO效果,避免将宝贵的权重传递给不相关或质量较低的外部站点。
  2. 遵守搜索引擎指南:对于不受信任的内容、付费链接、用户生成内容(UGC)或赞助内容,搜索引擎通常建议使用 nofollow (或更具体的 ugc/sponsored) 属性。这有助于避免因链接不当而受到搜索引擎的惩罚。
  3. 防止垃圾评论和内容:在博客评论或论坛等用户生成内容的区域,使用 nofollow 可以有效减少垃圾信息发布者为了获取链接而发布低质量内容的动机。
  4. 提升内容可信度:在引用外部资料时,如果不能完全保证其内容长期有效或可信,使用 nofollow 是一种负责任的做法,既提供了信息参考,又避免了潜在的责任。

总而言之,安企CMS通过后台的全局内容设置、模板中的智能过滤器以及针对友情链接的独立控制,为我们提供了全面而灵活的外部链接管理方案,确保网站在提供丰富内容的同时,也能维持良好的SEO健康度和内容控制力。


常见问题 (FAQ)

1. 后台设置的“是否自动过滤外链”和模板中的 urlize 过滤器,哪个优先级更高?

后台的“是否自动过滤外链”设置是全局性的,优先级最高。如果这个选项被设置为“自动过滤外链”,那么所有内容中的外部链接(包括由 urlize 过滤器尝试生成的链接)都将被移除,urlize 过滤器也将无法创建可点击的外部链接。只有当您选择“不过滤外链”时,urlize 过滤器才会生效,并为它识别和转换的外部链接自动加上 rel="nofollow" 属性。

2. 我可以为外部链接添加除了 rel="nofollow" 之外的其他 rel 属性吗?例如 ugcsponsored

安企CMS的核心功能默认会自动为外部链接添加 rel="nofollow"。目前,系统未直接提供在后台或通过简单配置来自动添加 ugcsponsored 等更细致的 rel 属性。如果您需要使用这些属性,可能需要在模板层面进行定制修改,或者在内容编辑时,通过HTML源码模式手动添加这些属性。对于友情链接,由于其后台有独立的 nofollow 控制,如果您需要其他 rel 属性,同样需要模板层面的进一步处理。

3. 为什么我的外部链接没有自动添加 rel="nofollow"

这通常有几个原因:

  • 后台“内容设置”未启用“不过滤外链”:请检查 后台设置 -> 内容设置 中,“是否自动过滤外链”选项是否被勾选。如果勾选了“自动过滤外链”,链接会被直接移除而不是添加 nofollow。要添加 nofollow,您需要确保它没有被勾选(即选择“不过滤外链”)。
  • 链接并非纯文本URL,未经过 urlize 过滤器处理:如果链接是通过内容编辑器(富文本编辑器)手动添加的,且在后台设置中选择了“不过滤外链”,安企CMS会自动识别并添加 nofollow。但如果您的链接是其他形式(例如通过自定义字段或某些插件),可能需要确保它们被正确地识别或经过 urlize 等过滤器处理。
  • 友情链接单独设置:对于友情链接,每个链接都有独立的 Nofollow 勾选框。如果某个友情链接没有 nofollow,请检查该链接的编辑页面,确认 Nofollow 选项是否已勾选。