bulk no-follow for a specific domain?

Joined
Feb 16, 2019
Messages
57
Likes
29
Degree
0
I want to no-follow all links to affiliate program sites, like Amazon for example.

My VA isn't super savvy with html so don't want him to have to edit html for every affiliate link to make it no-follow every time a new affiliate link is added.

Does anybody have a process or plugin that can nofollow specific domains when externally linked?
 
Joined
May 17, 2015
Messages
261
Likes
355
Degree
1
I've set my affiliate links using Thirsty Affiliates. The plugin will automatically add a nofollow tag. If you want to automatically add other tags, then it allows for that too.

Here's their walkthrough on adding other tags: https://thirstyaffiliates.com/knowl...-links-from-getting-indexed-in-search-engines

Edit: Just realized it might not be a good short term solution if you have a ton of existing affiliate links. However, if are just starting out or you don't have many links. It's a good start.
 
Last edited:

BCN

$$$$ ¯\_(ツ)_/¯ $$$$
Joined
Dec 26, 2015
Messages
180
Likes
190
Degree
1
Wouldn't need a plugin for it. Use this, and make the regex match your affiliate link path

PHP:
function add_rel_nofollow( $text ) {
    // This is a pre save filter, so text is already escaped.
    $text = stripslashes($text);
    $text = preg_replace_callback('|<a (.+?)>|i', 'add_rel_nofollow_callback', $text);
    //$text = wp_slash($text); //I had to remove this because it was adding undesired backslashes to the output
    return $text;
}

function add_rel_nofollow_callback( $matches ) {
    $text = $matches[1];
    $site_link = get_bloginfo('url');

    if (strpos($text, 'rel') === false) {
        $text = preg_replace("%(href=S(?!$site_link))%i", 'rel="nofollow" $1', $text);
    } elseif (preg_match("%href=S(?!$site_link)%i", $link)) {
        $text = str_replace(array(' rel="nofollow"', " rel='nofollow'"), '', $text);
    }       

    return "<a $text rel=\"nofollow\">";
}
add_filter( 'the_content', 'add_rel_nofollow' );
 
Joined
Feb 16, 2019
Messages
57
Likes
29
Degree
0
If you're using Wordpress, then https://wordpress.org/plugins/wp-external-links/ works. I use it on all of my sites.
i took a look at this - i see a way to nofollow all external and whitelist some /but no way to do the reverse, where you follow all links, but only nofollow all links from a specific domain (like all links that start with amazon.com). do you have the set up you can share?
 

Jared

Breaking the Shackles of a Lifetime of Bummery
Joined
Apr 27, 2015
Messages
356
Likes
338
Degree
2
RankMath has both whitelists and blacklists for this.
 
Joined
Apr 12, 2019
Messages
138
Likes
219
Degree
1
i took a look at this - i see a way to nofollow all external and whitelist some /but no way to do the reverse, where you follow all links, but only nofollow all links from a specific domain (like all links that start with amazon.com). do you have the set up you can share?
There is an 'Exceptions' tab where you can list all domains/URLs you want to treat as dofollow.


[moderator note: please embed images, don't link to them]