让Wordpress文章内的所有外链自动添加nofollow

3186
6
2016-01-04

Nofollow,一个HTML标签的属性值。大概了解SEO的人都知道,不懂看这里,不再阐述

每次写文章,如果带有外部链接,都得把编辑器切换到代码视图,然后手动给a标签添加rel="nofollow",实在是烦不胜烦

使用WP插件吧?试了一些要么不生效,要么效率低,要么太臃肿很多用不到的功能

网上找解决方案?试了一些要么不生效,要么效率低,要么完全不明所以

好吧那只能自己写了

我们需要确定好选择哪一个WP主题,因为以下操作都要在主题目录里的function.php中进行

登陆上VPS(或虚拟主机等),找到WP安装目录下的wp-content/themes/主题名/目录

编辑function.php文件,在第一行的<?php后面按一下回车,然后把下面的代码敲上去

什么你问我为什么不直接把代码贴出来而要截图?其实刚开始我是贴出来的,但我的博客已经使用了这段代码,所以上面的第5行被匹配为链接,被强行加上了rel="external nofollow",真是蛋疼。试了很多方法也无法实现既能自己用而且贴出来也不会被匹配到(或因性能低下而放弃),因此只好贴图了。

保存,完事。这段代码的大意就是挂接了一个函数到文章内容过滤器上,这个函数的作用是匹配所有href属性,并判断该属性值是否为本站链接,如果不是,则添加rel="external nofollow"

就是这么简单粗暴精简,秒杀网上一切乱七八糟的教程和插件
昵称
邮箱
网址
两载博客的头像 2016-03-08 09:55

17881126220160308095510063_640.jpg 你看看代码有没有问题,我添加到function.php之后,主页的文章就不显示。

mokeyjay的头像 2016-03-08 11:04
mokeyjay 博主

home_url()函数打错了

康伟意的头像 2016-01-27 23:46

LZ辛苦了,支持一下!

小冷博客的头像 2016-01-11 11:15
小冷博客

试了一下,没成功。

mokeyjay的头像 2016-01-11 13:32
mokeyjay 博主

是我弄错了,第3行应该是“preg_match_all('/href="(.*?)"/',$content,$matches);”才对,不知道为什么多出来了两句代码,奇怪

mokeyjay的头像 2016-01-11 13:29
mokeyjay 博主

目测是缓存问题