Using the Regular Expression to Replace External Links in WordPr

  • 时间:2020-09-19 10:45:07
  • 分类:网络文摘
  • 阅读:133 次
wordpress-pad Using the Regular Expression to Replace External Links in Wordpress for SEO purposes php regex wordpress

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) —

推荐阅读:
Influential Cybersecurity Blogger Gets Digitally Attacked  Building Relationships with Your Influencers  Authorities In Vietnam Arrest Top Blogger For One Criticizing Co  The Top Health Bloggers You Should Be Following  Mashable Blogger: Owning a Samsung Galaxy Note 7 is Safer Than G  5 Ways to Earn Money from Your Website  Singapore Blogger Sentenced To Jail For Social Media Posts  Comparing Left and Right Branch of a Complete Binary Tree  How to Find Words That Can Be Formed by Characters?  How to Compute the Maximum Difference Between Node and Ancestor? 
评论列表
添加评论