在使用安企CMS进行内容创作时,urlize过滤器无疑是一个非常便捷的功能。它能智能地识别文章内容中的网址或邮箱地址,并自动将其转换为可点击的超链接,省去了手动添加链接的繁琐。然而,细心的朋友可能会发现,这些由urlize自动生成的链接,默认都会带上rel="nofollow"属性。这引发了一个常见疑问:如果我想完全禁用urlize过滤器自动添加rel="nofollow",有办法实现吗?
urlize过滤器与rel="nofollow"的默认行为
首先,我们来深入了解一下urlize过滤器的默认工作方式。根据安企CMS的模板过滤器文档说明,urlize的作用是“会自动给 url、邮箱添加上 a 标签,并自动增加 nofollow 的 rel”。这意味着,无论何时通过urlize过滤器处理一段包含URL的文本,生成的超链接都会自动附带rel="nofollow"属性。
从文档描述中可以看出,这个rel="nofollow"是urlize过滤器的一个内置且自动的行为,它并没有提供直接的参数(例如urlize:false之类的)来选择性地开启或禁用nofollow。过滤器设计之初就将其作为处理外部链接的一种默认策略。
内容设置中的rel="nofollow"考量
除了urlize过滤器本身,安企CMS在后台的“内容设置”中也提到了rel="nofollow"。在“内容设置”页面,有一个选项是“是否自动过滤外链”。当这个选项设置为“不过滤外链”时,文档中保留的外部链接依然会被加上rel="nofollow"标签。
这进一步印证了安企CMS在处理外部链接时,默认倾向于加上rel="nofollow"。这通常是出于SEO**实践和网站安全性的考虑。nofollow属性能够告诉搜索引擎,该链接不应传递“权重”,这有助于网站管理员控制页面SEO权重流向,避免链接垃圾邮件,尤其是在处理用户生成内容(UGC)或指向不完全信任的外部资源时,能有效保护网站自身的声誉和排名。
目前禁用rel="nofollow"的局限性
综合来看,根据安企CMS当前提供的功能和文档,并没有一个直接的后台开关或者urlize过滤器的参数可以“完全禁用”所有自动生成的外部链接上的rel="nofollow"属性。它似乎是系统在处理任何被识别为外部链接时的一种默认安全策略。
这意味着,如果您希望网站上的某些特定外部链接能够传递权重(即不带nofollow),并且这些链接是通过urlize过滤器自动生成的,那么在现有的框架下,可能需要采取一些间接的方法。例如,对于少数特别重要的链接,您可能需要考虑避免使用urlize过滤器来处理包含这些链接的文本,而是手动在内容编辑器中插入超链接。不过,这会增加内容编辑的工作量,并且可能与urlize的便捷性初衷相悖。
对于更深层次的需求,比如希望系统全局修改这一默认行为,这可能涉及到对安企CMS核心代码的二次开发。但对于大多数网站运营者来说,这并非一个推荐的常规操作,且可能影响系统升级和维护。
总结
urlize过滤器在安企CMS中自动为外部链接添加rel="nofollow",是系统出于SEO和安全考量的一种内置设计。目前,在后台设置或过滤器参数中,没有提供直接的选项来完全禁用此行为。对于需要特定外部链接不带nofollow属性的场景,网站运营者需要根据实际情况,权衡urlize带来的便利性与手动编辑的需求。
常见问题 (FAQ)
1. 如果我手动在文章内容编辑器中添加一个外部链接,它会自带rel="nofollow"吗?
通常情况下,通过内容编辑器手动插入的超链接,只要您不在HTML模式下手动添加rel="nofollow",它就不会自动带有这个属性。rel="nofollow"的自动添加主要针对的是urlize过滤器自动识别并转换的文本链接,以及在“内容设置”中选择了不过滤外链但系统仍需规范处理的场景。
2. 为什么安企CMS要默认给外部链接加上rel="nofollow"属性?
安企CMS这样做主要是为了遵循SEO**实践和提升网站安全性。nofollow属性可以防止您的网站将SEO权重传递给外部网站,这在链接到广告、用户提交的内容或您不完全信任的网站时非常有用。它能帮助您更好地控制网站的链接结构和搜索引擎排名,避免因链接到低质量或垃圾网站而受到负面影响。
3. 有没有办法让urlize过滤器自动添加的链接变成rel="dofollow"(即不带nofollow)?
根据现有文档,urlize过滤器没有提供参数来改变其默认添加rel="nofollow"的行为,也没有选项让其自动添加rel="dofollow"。如果您的业务场景确实需要大量通过urlize生成的链接不带nofollow,并且手动编辑不可行,可能需要考虑联系安企CMS官方寻求定制化解决方案,或者寻找熟悉Go语言和安企CMS架构的开发者进行二次开发。但请注意,修改核心行为可能会带来兼容性和维护成本。