WP External Links

plugin banner

Open external links in a new window or tab, add "nofollow", choose icon, SEO friendly options…

Author:WebFactory Ltd (profile at wordpress.org)
WordPress version required:4.2
WordPress version tested:6.5
Plugin version:2.60
Added to WordPress repository:27-02-2011
Last updated:26-03-2024
Rating, %:86
Rated by:242
Plugin URI:https://getwplinks.com/
Total downloads:1 341 274
Active installs:100 000+
plugin download
Click to start download

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 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 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)
  • 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 to support the development.

If you’re having problems with SSL or HTTPS try our free 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 for more info.


Screenshots
FAQ
ChangeLog