Using the Regular Expression to Replace External Links in WordPr
- 时间:2020-09-19 10:45:07
- 分类:网络文摘
- 阅读:104 次

wordpress-pad
Let’s say we want to put a REL=NOFOLLOW on all external links in your wordpress posts/pages, we can add a filter to parse the content using the regular expression replace function e.g. preg_replace_callback.
1 2 3 4 5 6 7 8 9 10 11 | add_filter('the_content','add_utm_string',999); function add_utm_string($content){ $content = preg_replace_callback('~href\s*\=\s*[\'"](.*)[\'"]~i', function ($matches) { $home_url = parse_url(home_url())['host']; if (stripos($matches[1], $home_url) === false) { return 'href="'.$matches[1] . '?utm_source='. $home_url . '" rel=nofollow'; } return 'href="'.$matches[1].'"'; }, $content); return $content; } |
add_filter('the_content','add_utm_string',999);
function add_utm_string($content){
$content = preg_replace_callback('~href\s*\=\s*[\'"](.*)[\'"]~i', function ($matches) {
$home_url = parse_url(home_url())['host'];
if (stripos($matches[1], $home_url) === false) {
return 'href="https://helloacm.com/using-the-regular-expression-to-replace-external-links-in-wordpress-for-seo-purposes/'.$matches[1] . '?utm_source='. $home_url . '" rel=nofollow';
}
return 'href="https://helloacm.com/using-the-regular-expression-to-replace-external-links-in-wordpress-for-seo-purposes/'.$matches[1].'"';
}, $content);
return $content;
}We add the filter function add_utm_string to the filter the_content. Then we use the PHP preg_replace_callback function that parses the HTML string of the current wordpress post/page, and replaces the hyperlink if it is external.
We use the following to extract the current domain name e.g. helloacm.com of your wordpress site.
1 | $home_url = parse_url(home_url())['host']; |
$home_url = parse_url(home_url())['host'];
Then, we can exclude our own links. Otherwise, all external links will be added “NOFOLLOW” tag and the ?utm_source query parameter. You of course can customize the links building easily.
The PHP preg_replace_callback function takes the first parameter: Regular Expression Pattern, the second parameter is a call back function when pattern is matched, and the third paramter the original string.
This is a useful tweak for your wordpress template (you can add above PHP function to your theme template functions.php) that enhances your wordpress SEO.
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:摘桃子的数学题 如图平行四边形ABCD的周长为72厘米 每个人都和其他人握了一次手 客车和货车同时从甲、乙两地的中点反向行驶 数学题:把一个圆锥沿着高切开,得到了个如下图所示的物体 数学题:49个桶,32个扁担,问有几个人挑水,几个人抬水? 学校合唱队有205名学生如果女同学减少25人 两瓶香水甲瓶用去九分之五 把含糖5%和含糖8%的两种糖水混合成含糖6%的糖水 长方形折成梯形求梯形AFDC的面积
- 评论列表
-
- 添加评论