Using the Regular Expression to Replace External Links in WordPr

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

推荐阅读:
台湾公视直播「高清」  tvb翡翠卫星台直播「高清」  韩国mbc电视台直播「高清」  MAC怎么把访达的边栏项目进行排序_MAC访达边栏项目排序教程  KBS1在线直播「高清」  windows10提示“我们无法在此设备上激活windows”_windows10激活失败提示解决方法  韩国kbs2直播-韩国kbs2电视台直播「高清」  如何在墙内向Blogger独立博客上发布文章  利用Cloudflare Worker反代Blogger博客实现国内正常访问  国外免费空间1G免费php空间大流量,大家可以玩玩 
评论列表
添加评论