WordPress 网站内容页自动给导出链接添加nofollow属性和新窗口打开

WordPress 的评论功能历来是站长们又爱又恨的功能,爱是因为它可以增加站长与用户之间有良好的互动,而缺点在于别人可以利用评论功能来给自己的网站做外链,比较头疼的是这些站外链接不仅会导致网站权重流失,更有可能导致用户流失。所以为了尽可能的避免这些问题,给这些导出链接添加nofollow属性就显得很有必要了。

Wordpress 网站内容页自动给导出链接添加nofollow属性和新窗口打开

考虑到一些主题没有自带这个功能,下面白天就来给大家分享一个既能让 WordPress 网站内容页的导出链接自动添加nofollow属性而且还以新窗口打开,以此尽可能减少自己网站的权重流失以及用户流失。

使用方法:将以下代码放到当前主题下的 function.php 文件 ?> 即可(白天亲测可用)。

/**
 * 自动给 WordPress 网站内容页导出链接添加nofollow属性和新窗口打开
 * https://www.seobti.com/2230.html
 */
add_filter( 'the_content', 'cn_nf_url_parse');
function cn_nf_url_parse( $content ) {
	$regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>";
	if(preg_match_all("/$regexp/siU", $content, $matches, PREG_SET_ORDER)) {
		if( !empty($matches) ) {
			$srcUrl = get_option('siteurl');
			for ($i=0; $i < count($matches); $i++)
			{
				$tag = $matches[$i][0];
				$tag2 = $matches[$i][0];
				$url = $matches[$i][0];
				$noFollow = '';
				$pattern = '/target\s*=\s*"\s*_blank\s*"/';
				preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);
				if( count($match) < 1 )
					$noFollow .= ' target="_blank" ';
				$pattern = '/rel\s*=\s*"\s*[n|d]ofollow\s*"/';
				preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE);
				if( count($match) < 1 ) $noFollow .= ' rel="nofollow" '; $pos = strpos($url,$srcUrl); if ($pos === false) { $tag = rtrim ($tag,'>');
					$tag .= $noFollow.'>';
					$content = str_replace($tag2,$tag,$content);
				}
			}
		}
	}
	$content = str_replace(']]>', ']]>', $content);
	return $content;
}

到这,基本就可以让 WordPress 网站内容页导出链接自动添加nofollow属性和新窗口打开了。

文章最后一次修改于

原创文章,作者:白天,如若转载请注明出处:WordPress 网站内容页自动给导出链接添加nofollow属性和新窗口打开

(5)
打赏 微信扫一扫 微信扫一扫
上一篇 2020年6月12日 21:58:04
下一篇 2020年7月1日 19:08:56

相关阅读推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

微信内浏白天博客