Title: External Links &#8211; nofollow, noopener &amp; new window
Author: WebFactory
Published: <strong>ഫെബ്രുവരി 27, 2011</strong>
Last modified: മാർച്ച്‌ 25, 2026

---

Search plugins

![](https://ps.w.org/wp-external-links/assets/banner-772x250.png?rev=2103983)

![](https://ps.w.org/wp-external-links/assets/icon-256x256.png?rev=2103983)

# External Links – nofollow, noopener & new window

 By [WebFactory](https://profiles.wordpress.org/webfactory/)

[Download](https://downloads.wordpress.org/plugin/wp-external-links.2.64.zip)

 * [Details](https://ml.wordpress.org/plugins/wp-external-links/#description)
 * [Reviews](https://ml.wordpress.org/plugins/wp-external-links/#reviews)
 *  [Installation](https://ml.wordpress.org/plugins/wp-external-links/#installation)
 * [Development](https://ml.wordpress.org/plugins/wp-external-links/#developers)

 [Support](https://wordpress.org/support/plugin/wp-external-links/)

## Description

**Manage all external & internal links on your site**. Control icons, nofollow, 
noopener, ugc (User Generated Content), sponsored and if links open in new window
or new tab.

[WP Links](https://getwplinks.com/) plugin was completely rebuilt in v2 and has 
lots of new features, like noopener, ugc and sponsored values for rel; font icons,
internal links options and full WPMU support.

#### Link Scanner – PRO feature

Check every single link on your site! See if it’s broken or not, if it’s redirected,
what’s the target and rel attribute and what page exactly it’s linking to. This 
feature is a part of the [WP Links PRO](https://getwplinks.com/) plugin.

#### Features

 * Manage external and internal links
 * Open links in new window or tab
 * Add follow or nofollow (for SEO)
 * Add noopener and noreferrer (for security)
 * Add ugc (User Generated Content) and sponsored values to rel ([Google announcement](https://webmasters.googleblog.com/2019/09/evolving-nofollow-new-ways-to-identify.html))
 * Add link icons (FontAwesome and Dashicons)
 * Set other attributes like title and CSS classes
 * Scan complete page (or just posts, comments, widgets)
 * SEO friendly
 * Link Scanner – check all links on your site – PRO feature
 * Exit Confirmation – protect visitors and traffic when external links are clicked–
   PRO feature
 * Link Rules – create advanced link rules for chosen link groups – PRO feature

#### And more…

 * Network Settings (WPMU support)
 * Use template tag to apply plugin settings on specific contents
 * Set data-attribute to change how individual links will be treated
 * Use built-in actions and filters to implement your specific needs

#### Easy to use

After activating you can set all options for external and internal links on the 
plugins admin page.

#### On the fly

The plugin filters the output and changes the links on the fly. The real contents(
posts, pages, widget etcetera) will not be changed in the database.
 When deactivating
the plugin, all contents will be the same as it was before.

#### GDPR compatibility

We are not lawyers. Please do not take any of the following as legal advice.
 WP
External Links does not track, collect or process any user data. Nothing is logged
or pushed to any 3rd parties. We also don’t use any 3rd party services or CDNs. 
Based on that, we feel it’s GDPR compatible, but again, please, don’t take this 
as legal advice.

**Like the plugin?** [Rate it](https://wordpress.org/support/view/plugin-reviews/wp-external-links)
to support the development.

If you’re having **problems with SSL or HTTPS** try our free [WP Force SSL](https://wordpress.org/plugins/wp-force-ssl/)
plugin. It’s a great way to enable SSL and fix SSL problems.

### Documentation

After activating you can set all options for external and internal links.

#### Data attribute “data-wpel-link”

Links being processed by this plugin will also contain the data-attribute `data-
wpel-link`.
 The plugin could set the value to `external`, `internal` or `exclude`,
meaning how the link was processed.

You can also set the data-attribute yourself. This way you can force how the plugin
will process
 certain links.

When you add the value `ignore`, the link will be completely ignored by the plugin:

    ```
    <a href="http://somedomain.com" data-wpel-link="ignore">Go to somedomain</a>
    ```

#### Action “wpel_link”

Use this action to change the link object after all plugin settings have been applied.

    ```
    add_action( 'wpel_link', ( $link_object ) {
        if ( $link_object->is_external() ) {
            // get current url
            $url = $link_object->getAttribute( 'href' );

            // set redirect url
            $redirect_url = '//somedom.com?url='. urlencode( $url );
            $link_object->setAttribute( 'href', $redirect_url );
        }
    }, 10, 1 );
    ```

The link object is an instance of `WPEL_Link` class.

#### Action hook “wpel_before_apply_link”

Use this action to change the link object before the plugin settings will be applied
on the link.
 You can use this filter f.e. to ignore individual links from being
processed. Or change dynamically how they will be treated by this plugin.

    ```
    add_action( 'wpel_before_apply_link', function ( $link ) {
        // ignore links with class "some-cls"
        if ( $link->has_attr_value( 'class', 'some-cls' ) ) {
            $link->set_ignore();
        }

        // mark and treat links with class "ext-cls" as external link
        if ( $link->has_attr_value( 'class', 'ext-cls' ) ) {
            $link->set_external();
        }
    }, 10 );
    ```

#### Filter hook “wpel_apply_settings”

When filter returns false the plugin settings will not be applied. Can be used when
f.e. certain posts or pages should be ignored by this plugin.

    ```
    add_filter( 'wpel_apply_settings', '__return_false' );
    ```

See [FAQ](https://wordpress.org/plugins/wp-external-links/faq/) for more info.

## Screenshots

 * [[
 * Admin Settings Page
 * [[
 * Link Checker / Link Tester
 * [[
 * Link Icons

## Installation

 1. Go to **Plugins** in the Admin menu
 2. Click on the button **Add new**
 3. Search for **WP External Links** and click **Install Now**
 4. Click on the **Activate plugin** link

## FAQ

### I want certain posts or pages to be ignored by the plugin. How?

Just use the option “Skip pages or posts” under the tab “Exceptions”.

For a more custom approach use the action `wpel_apply_settings`:
 add_action( ‘wpel_apply_settings’,
function () { global $post; $ignored_post_ids = array( 1, 2, 4 );

    ```
        if ( in_array( $post->ID, $ignored_post_ids ) ) {
            return false;
        }

        return true;
    }, 10 );
    ```

Using this filter you can ignore any request, like certain category, archive etcetera.

### I want specific links to be ignored by the plugin. How?

There’s an option for ignoring links containing a certain class (under tab “Exceptions”).

For a more flexible check on ignoring links you could use the filter `wpel_before_apply_link`:

add_action( ‘wpel_before_apply_link’, function ( $link ) { // ignore links with 
class “some-cls” if ( $link->has_attr_value( ‘class’, ‘some-cls’ ) ) { $link->set_ignore();}},
10 );

### How to create a redirect for external links? (f.e. affiliate links)

Create redirect by using the `wpel_link` action. Add some code to functions.php 
of your theme, like:

    ```
    add_action( 'wpel_link', function ( $link ) {
        // check if link is an external links
        if ( $link->is_external() ) {
            // get current url
            $url = $link->get_attr( 'href' );

            // set redirect url
            $redirect_url = '//somedom.com?url='. urlencode( $url );
            $link->set_attr( 'href', $redirect_url );
        }
    }, 10, 1 );
    ```

### How to open external links in a new popup window?

By adding this JavaScript code to your site:

    ```
    jQuery(function ($) {
        $('a[data-wpel-link="external"]').click(function (e) {
            // open link in popup window
            window.open($(this).attr('href'), '_blank', 'width=800, height=600');

            // stop default and other behaviour
            e.preventDefault();
            e.stopImmediatePropagation();
        });
    });
    ```

See more information on the [window.open() method](http://www.w3schools.com/jsref/met_win_open.asp).

### How to add an confirm (or alert) when opening external links?

Add this JavaScript code to your site:

    ```
    jQuery(function ($) {
        $('a[data-wpel-link="external"]').click(function (e) {
            if (!confirm('Are you sure you want to open this link?')) {
                // cancelled
                e.preventDefault();
                e.stopImmediatePropagation();
            }
        });
    });
    ```

### How to open PDF files in a new window?

Use some JavaScript code for opening PDF files in a new window:

    ```
    jQuery(function ($) {
        $('a[href$=".pdf"]').prop('target', '_blank');
    });
    ```

### How to set another icon for secure sites (using https)?

Use some CSS style to change the icon for secure sites using https:

    ```
    a[href^="https"] .wpel-icon:before {
      content: "\f023" !important;
    }
    ```

The code `\f023` refers to a dashicon or font awesome icon.

### I am a plugin developer and my plugin conflicts with WPEL. How can I solve the problem?

If your plugin contains links it might be filtered by the WPEL plugin as well, causing
a conflict.
 Here are some suggestions on solving the problem:

 1. Add `data-wpel-link="ignore"` to links that need to be ignored by WPEL plugin
 2. Use `wpel_before_apply_link`-action to ignore your links (f.e. containing certain
    class or data-attribute)
 3. Use `wpel_apply_settings`-filter to ignore complete post, pages, categories etc

### How can I report security bugs?

You can report security bugs through the Patchstack Vulnerability Disclosure Program.
The Patchstack team help validate, triage and handle any security vulnerabilities.
[Report a security vulnerability.](https://patchstack.com/database/vdp/wp-external-links)

## Reviews

![](https://secure.gravatar.com/avatar/48ec36911882d2f0ee0d31baf8c0194a7a701d9c9c4f12bff1f604ceb74c2b7e?
s=60&d=retro&r=g)

### 󠀁[Almost nothing at free version](https://wordpress.org/support/topic/almost-nothing-at-free-version/)󠁿

 [izreview](https://profiles.wordpress.org/izreview/) ഒക്ടോബർ 29, 2025

Almost nothing at free version.

![](https://secure.gravatar.com/avatar/16b81015900d45e92183312a9f5f2b9339e6ce356f199a0b86075123f1681050?
s=60&d=retro&r=g)

### 󠀁[Essential Plugin for SEO Control Over External Links](https://wordpress.org/support/topic/essential-plugin-for-seo-control-over-external-links/)󠁿

 [bondimedical3](https://profiles.wordpress.org/bondimedical3/) ജൂലൈ 4, 2025 1 reply

This plugin is exactly what I needed to manage external link behavior on my site.
The ability to customize nofollow and dofollow rules by domain is a huge win for
SEO, especially for trusted citations while preventing link equity leakage. I really
appreciate how intuitive the interface is — you can set default behaviors, override
for specific links, and apply rules consistently across the site. Also love that
it handles noopener and noreferrer attributes out of the box. Support has been rock
solid and the plugin is clearly well-maintained. If you care about SEO hygiene and
link control, this is a must-have. 5 stars!

![](https://secure.gravatar.com/avatar/5a8df1c02743cfff75522877bbd689f7822dfa605a689323a5d98cad785fb511?
s=60&d=retro&r=g)

### 󠀁[Garbage](https://wordpress.org/support/topic/garbage-176/)󠁿

 [Mayhymn](https://profiles.wordpress.org/mayhymn2023/) മെയ്‌ 8, 2025

Messed my whole site up.

![](https://secure.gravatar.com/avatar/38fb0a48dbaf039ae5e7865ff1d79ff871ef51c2d9ddaa479102d45139358238?
s=60&d=retro&r=g)

### 󠀁[It does what I expected it to do](https://wordpress.org/support/topic/it-does-what-i-expected-it-to-do/)󠁿

 [Vladimir Unguru](https://profiles.wordpress.org/vladunguru/) സെപ്റ്റംബർ 2, 2024

It works well for my blog. Just an idea: I needed to hide the icon in the CTA buttons
and I solved this easily by adding code in the CSS of my theme. It would be nice
though if there was a simple exception option based on selector, just for the icon.

![](https://secure.gravatar.com/avatar/3e1e75463e7f821c57e0d3acc749e165865d007045d7fd41eb01009d91cde1fd?
s=60&d=retro&r=g)

### 󠀁[No Support](https://wordpress.org/support/topic/no-support-603/)󠁿

 [drunkfox](https://profiles.wordpress.org/drunkfox/) ജൂലൈ 14, 2024

I wrote 3 emails to the support, but the support doesn’t answer.

![](https://secure.gravatar.com/avatar/d066c19cf0251c3d8fcaaa3847f041d71f27b1c2d6a3833ca34d88ef26997964?
s=60&d=retro&r=g)

### 󠀁[It doesn’t work and the editors don’t respond](https://wordpress.org/support/topic/nao-funciona-e-os-editores-nao-respondem/)󠁿

 [dobem](https://profiles.wordpress.org/dobem/) ജൂൺ 11, 2024

The plugin only works for new posts added after installing the plugin, or if you
edit your posts one by one. Note that the developers do not respond to any comments
with 1 star or 5 stars. For them, the opinion of those who use it is worthless. 
Do you understand that? If you uninstall noreferrer it becomes active again. In 
other words, the guy makes the plugin and if you decide to uninstall everything,
everything goes back to the way it was before. It’s a basic thing, there should 
be a plugin that removes all rel=”noreferrer” from the database, because if you 
don’t want noreferrer you will never want it to stay in the database.

 [ Read all 247 reviews ](https://wordpress.org/support/plugin/wp-external-links/reviews/)

## Contributors & Developers

“External Links – nofollow, noopener & new window” is open source software. The 
following people have contributed to this plugin.

Contributors

 *   [ WebFactory ](https://profiles.wordpress.org/webfactory/)

“External Links – nofollow, noopener & new window” has been translated into 15 locales.
Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/wp-external-links/contributors)
for their contributions.

[Translate “External Links – nofollow, noopener & new window” into your language.](https://translate.wordpress.org/projects/wp-plugins/wp-external-links)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wp-external-links/),
check out the [SVN repository](https://plugins.svn.wordpress.org/wp-external-links/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wp-external-links/)
by [RSS](https://plugins.trac.wordpress.org/log/wp-external-links/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.64

 * 2026-03-21
 * PHP 8.5 compatibility
 * bug fixes

#### 2.63

 * 2025-07-12
 * _load_textdomain fix

#### 2.62

 * 2024-10-13
 * minor security fixes and code tweaks

#### 2.61

 * 2024-07-08
 * minor security fixes

#### 2.60

 * 2024-02-20
 * fixed WordPress Network activation bug

#### 2.59

 * 2023-10-25
 * fixed “icon_type” cannot be found bug

#### 2.58

 * 2023-03-08
 * security fix

#### 2.57

 * 2022-12-27
 * added double-check on all template include paths

#### 2.56

 * 2022-11-20
 * security fixes
 * removed all external CDNs
 * fixed translation issues

#### 2.55

 * 2022-07-09
 * fixed current_screen() bug
 * fixed “icon_type” cannot be found bug
 * introduction of the PRO version
 * removed link scanner beta

#### 2.51

 * 2022-01-28
 * fixed icons for excluded external links
 * fixed FontAwesome conflict

#### 2.50

 * 2021-07-09
 * completely new GUI
 * link scanner / link analyzer SaaS beta

#### 2.48

 * 2021-01-30
 * added flyout menu
 * removed promo for WP 301 Redirects PRO

#### 2.47

 * 2020-10-05
 * added settings link to plugins table
 * added promo for WP 301 Redirects PRO

#### 2.46

 * 2020-05-09
 * fixed “unable to save post” when using Gutenberg
 * sorry for two updated in two days 🙁

#### 2.45

 * 2020-05-08
 * fixed compatibility issue with Site Kit by Google

#### 2.43

 * 2019-12-27
 * improved link detection regex

#### 2.42

 * 2019-12-18
 * fixed various undefined variable notices
 * fixed an issue when there’s no href attribute set in an A element

#### 2.40

 * 2019-11-20
 * no longer loads CSS and FontAwesome globally on admin pages
 * added support for “ugc” (User Generated Content) and “sponsored” values in rel

#### 2.35

 * 2019-09-12
 * FontAwesome updated to 4.7 with 41 new icons
 * bug fix: ship anchor URLs (#anchor)
 * bug fix: don’t match domain if the name is contained in the URL

#### 2.32

 * 2019-07-09
 * security fixes

#### 2.3

 * 2019-06-14
 * bug fixes
 * 40,000 installations hit on 2018-03-13
 * for older changelog entries please visit https://getwplinks.com/old-changelog.
   txt

## Meta

 *  Version **2.64**
 *  Last updated **3 ആഴ്ചകൾ ago**
 *  Active installations **90,000+**
 *  WordPress version ** 4.2 അല്ലെങ്കില്‍ അതിലും ഉയര്‍ന്നത് **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.2 അല്ലെങ്കില്‍ അതിലും ഉയര്‍ന്നത് **
 *  Languages
 * [Chinese (Taiwan)](https://tw.wordpress.org/plugins/wp-external-links/), [Croatian](https://hr.wordpress.org/plugins/wp-external-links/),
   [Dutch](https://nl.wordpress.org/plugins/wp-external-links/), [Dutch (Belgium)](https://nl-be.wordpress.org/plugins/wp-external-links/),
   [English (US)](https://wordpress.org/plugins/wp-external-links/), [German](https://de.wordpress.org/plugins/wp-external-links/),
   [Japanese](https://ja.wordpress.org/plugins/wp-external-links/), [Persian](https://fa.wordpress.org/plugins/wp-external-links/),
   [Russian](https://ru.wordpress.org/plugins/wp-external-links/), [Spanish (Chile)](https://cl.wordpress.org/plugins/wp-external-links/),
   [Spanish (Colombia)](https://es-co.wordpress.org/plugins/wp-external-links/),
   [Spanish (Ecuador)](https://es-ec.wordpress.org/plugins/wp-external-links/), 
   [Spanish (Mexico)](https://es-mx.wordpress.org/plugins/wp-external-links/), [Spanish (Spain)](https://es.wordpress.org/plugins/wp-external-links/),
   [Spanish (Venezuela)](https://ve.wordpress.org/plugins/wp-external-links/), ഉം
   [Swedish](https://sv.wordpress.org/plugins/wp-external-links/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/wp-external-links)
 * Tags
 * [external links](https://ml.wordpress.org/plugins/tags/external-links/)[new tab](https://ml.wordpress.org/plugins/tags/new-tab/)
   [new window](https://ml.wordpress.org/plugins/tags/new-window/)[nofollow](https://ml.wordpress.org/plugins/tags/nofollow/)
   [noopener](https://ml.wordpress.org/plugins/tags/noopener/)
 *  [Advanced View](https://ml.wordpress.org/plugins/wp-external-links/advanced/)

## Ratings

 5ൽ 4.3 നക്ഷത്രങ്ങൾ.

 *  [  194 5-star reviews     ](https://wordpress.org/support/plugin/wp-external-links/reviews/?filter=5)
 *  [  7 4-star reviews     ](https://wordpress.org/support/plugin/wp-external-links/reviews/?filter=4)
 *  [  8 3-star reviews     ](https://wordpress.org/support/plugin/wp-external-links/reviews/?filter=3)
 *  [  6 2-star reviews     ](https://wordpress.org/support/plugin/wp-external-links/reviews/?filter=2)
 *  [  32 1-star reviews     ](https://wordpress.org/support/plugin/wp-external-links/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/wp-external-links/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wp-external-links/reviews/)

## Contributors

 *   [ WebFactory ](https://profiles.wordpress.org/webfactory/)

## Support

Issues resolved in last two months:

     3 out of 3

 [View support forum](https://wordpress.org/support/plugin/wp-external-links/)