Using the Regular Expression to Replace External Links in WordPr

  • 时间:2020-09-19 10:45:07
  • 分类:网络文摘
  • 阅读:148 次
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) —

推荐阅读:
Finding the Predecessor and Successor Node of a Binary Search Tr  Algorithms to Detect Pattern of Length M Repeated K or More Time  Using the stdout to debug print the solution in the leetcode con  Tutorial: How to Set Up a API Load Balancer by Using CloudFlare   Introducing the Pancake Sorting Algorithm  What Should You Blog About During the Pandemic and Beyond?  6 Tips For Starting a Business During a Pandemic  Will Your Blog be affected by the Current Facebook Ad Boycott?  Unobvious Life Hacks for Ads Optimization in Google  Essential Traits That Will Help Bloggers Work From Home Successf 
评论列表
添加评论