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

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) —
推荐阅读:5 Best Online Interviews About Blogging You Haven’t Read Yet 5 Ways To Transform Your Blogger Outreach Don’t Feed The Trolls: How to Stop Haters from Infiltrating Your 50 Blogging Tips From the Experts Algorithm to Compute the Length of the Longest Palindrome String How to Find Common Characters in an array of Strings? How to Turn a Binary Search Tree into a Increasing Order Search How to Free TCP/UDP Port on Windows Using netstat and taskkill? The Review of cozmo robot from Anki Scaling Digital Marketing Agencies Through White Label Solutions
- 评论列表
-
- 添加评论