这里为您提供几种在DedeCMS中实现友情链接 nofollow 的方法,从最推荐到最不推荐排序。

修改数据库(最推荐、最彻底的方法)
这是最一劳永逸的方法,修改一次后,所有新添加的友情链接都会自动带上 nofollow 属性,无需手动干预。
适用场景: 所有版本的DedeCMS,特别是需要长期维护的网站。
操作步骤:
-
登录数据库管理工具
(图片来源网络,侵删)- 通过您的虚拟主机控制面板(如cPanel、宝塔面板等)进入数据库管理工具,通常是 phpMyAdmin。
-
选择正确的数据库
在左侧列表中选择您的DedeCMS网站所使用的数据库。
-
找到
dede_friendlink表- 在数据库中找到名为
dede_friendlink的表(dede是DedeCMS默认的表前缀,如果您修改过,请使用您自己的表前缀)。
- 在数据库中找到名为
-
修改
add字段
(图片来源网络,侵删)- 点击
dede_friendlink表,然后点击“结构”(Structure)选项卡。 - 在字段列表中找到名为
add的字段。 - 点击“更改”(Change)或“编辑”(Edit)链接。
- 在“默认值”(Default)的输入框中,输入
nofollow。 - 点击“执行”(Go)或“保存”(Save)按钮。
- 点击
完成效果:
当您在网站后台添加新的友情链接时,即使您在“附加属性”里没有填写任何东西,数据库也会自动为这个链接的 rel 属性填充 nofollow 值。
修改PHP源码文件(适用于新添加的链接)
这个方法通过修改处理友情链接添加的PHP文件,实现与方法一相同的效果,但修改的是代码逻辑而不是数据库,对于不熟悉数据库操作的用户来说,这也是一个很好的选择。
适用场景: 可以直接修改网站代码的用户。
操作步骤:
-
找到核心文件
- 通过FTP或文件管理器,登录您的网站服务器。
- 找到并打开以下文件:
/dede/addlink.php(dede是您的后台目录,如果修改过,请使用您的实际后台目录名)
-
定位并修改代码
- 在
addlink.php文件中,找到处理表单数据的代码段,通常在文件中下部,类似这样的代码:// ... 其他代码 ... $typeid = isset($typeid) && is_numeric($typeid) ? $typeid : 0; $ischeck = isset($ischeck) && $ischeck > 0 ? 1 : 0; $email = isset($email) ? trim($email) : ''; $dtime = time(); $msg = '';
// ... 插入数据库的代码 ... $inquery = $dsql->ExecuteNoneQuery("INSERT INTO
#@__friendlink(siteurl,site,name,logo,linktype,typeid,ischeck,sortrank,uptime,adminid,email,add) VALUES ('$siteurl','$site','$name','$logo','$linktype','$typeid','$ischeck','$sortrank','$dtime','$cuserLogin.UserID','$email','$add')"); // ... 其他代码 ...* 您需要找到处理 `$add` 变量的地方,如果代码中 `$add` 变量是直接从表单接收的,并且可能为空,您可以在这里为其设置一个默认值。 * 修改代码,确保 `$add` 变量在插入数据库前被赋值为 `nofollow`,在插入数据库之前加上一行: ```php // 确保add属性不为空,默认为nofollow if (empty($add)) { $add = 'nofollow'; } // ... 原有的插入数据库代码 ... $inquery = $dsql->ExecuteNoneQuery("INSERT INTO `#@__friendlink`(siteurl,site,name,logo,linktype,typeid,ischeck,sortrank,uptime,adminid,email,add) VALUES ('$siteurl','$site','$name','$logo','$linktype','$typeid','$ischeck','$sortrank','$dtime','$cuserLogin.UserID','$email','$add')"); - 在
-
保存文件
- 保存
addlink.php文件并上传回服务器,覆盖原文件。
- 保存
完成效果:
与方法一相同,所有新添加的友情链接都会自动获得 nofollow 属性。
修改前台模板文件(仅影响显示,不修改数据库)
这个方法只修改了在前台显示友情链接的模板代码,它不会改变数据库中的数据,这意味着您需要手动为每一个已经存在或将要添加的链接,在后台“附加属性”里填写 nofollow。
适用场景: 只想快速修改前台显示,或者对现有链接进行一次性修改。
操作步骤:
-
找到模板文件
- 通过FTP或文件管理器,找到您的DedeCMS模板目录。
- 打开您当前模板目录下的友情链接模板文件,这个文件通常叫做
flink.htm,但具体名称取决于您在后台“模块管理”中是如何设置的。
-
修改链接标签
- 在
flink.htm文件中,找到友情链接的输出标签,通常是{dede:field name='url'/}或类似的。 - 将其修改为
rel="nofollow"属性,如果原来是:<a href='{dede:field.name/}' target="_blank">{dede:field.name/}</a> - 修改为:
<a href='{dede:field.name/}' rel="nofollow" target="_blank">{dede:field.name/}</a>
- 在
-
保存文件
保存模板文件。
注意事项:
- 此方法只对模板有效,如果您之前添加的友情链接在后台的“附加属性”里没有填写
nofollow,那么即使模板修改了,这些链接在数据库里依然没有rel="nofollow"属性。 - 此方法不影响新链接,您仍然需要在后台添加新链接时,手动在“附加属性”一栏填入
nofollow,或者结合使用方法一/二来实现自动化。
总结与建议
| 方法 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|
| 修改数据库 | 一劳永逸,自动化程度高,无需后续手动操作。 | 需要操作数据库,对新手有一定门槛。 | ★★★★★ (最推荐) |
| 修改PHP文件 | 同样一劳永逸,通过代码实现,逻辑清晰。 | 需要修改核心文件,升级DedeCMS时可能需要重新修改。 | ★★★★☆ (非常推荐) |
| 修改模板文件 | 操作简单,只涉及模板文件,安全。 | 不彻底,需手动为每个链接设置,无法自动化。 | ★★☆☆☆ (不推荐作为主要方法) |
最终建议:
为了网站的长期健康和SEO优化,强烈推荐您使用 方法一(修改数据库) 或 方法二(修改PHP文件),这两种方法都能从根本上解决问题,确保所有新添加的友情链接都自动带上 nofollow 属性,从而避免权重流失。
