=== Vipezer No External Link ===
Contributors: wpvipezer
Tags: external links, nofollow, noopener, no referrer, seo
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Remove external links automatically on publish, or add SEO attributes such as nofollow and noopener. Made by WP Vipezer.

== Description ==

Vipezer No External Link gives you full control over the external links in your content.

When you select **Automatically process on publish**, every post you publish or update is scanned for links that point to other websites. You choose what happens to them:

* **Keep the links and add attributes** – adds `rel="nofollow"`, `noopener` and `noreferrer` (you can also add `sponsored`, `ugc` and `target="_blank"`).
* **Remove the link, keep the text** – the link is removed but the visible text stays in your post.
* **Remove the link and its text entirely** – the whole link including its text is removed from the content.

Links that point to your own site are never touched by default. You can also keep links to specific domains with a simple allow-list.

Every post has its own override setting on the edit screen, so you can always force processing on, or keep one post untouched.

**Built for safety**

* Compatible with PHP 7.4 through the latest PHP 8.x releases.
* All processing happens with a built-in fallback and error handling so publishing never fails.
* No tracking, no external services, no data sent anywhere.
* Cleanly deletes all its settings when you remove the plugin.

= How it works =

The plugin inspects your content the moment a post is published (or updated) and modifies external links based on your settings. Content is changed once, stored safely, and displayed normally.

== Installation ==

= From your WordPress dashboard =

1. Go to **Plugins → Add New**.
2. Search for **Vipezer No External Link**.
3. Click **Install Now** and then **Activate**.

= Manual installation =

1. Download the plugin ZIP file.
2. Go to **Plugins → Add New → Upload Plugin**.
3. Upload the ZIP file, click **Install Now** and then **Activate**.

After activating, open **Settings → Vipezer No External Link** and choose your processing mode.

== Frequently Asked Questions ==

= Will my post fail to publish if something goes wrong? =

No. Processing is wrapped in error handling. If anything unexpected happens, the post is published unchanged. The plugin is designed to never crash.

= How are internal links detected? =

Any link whose domain is your own site (including subdomains) is treated as internal. You can also add domains to the exclusion list to protect them.

= Does this plugin change draft content? =

No. Content is only modified when a post is published or updated, or on the next save of an already-published post.

= Will my existing rel attributes be preserved? =

In attribute mode, the existing `rel` value is replaced with the value you configured, so the result is always predictable and easy to understand.

= Does this work with the block editor (Gutenberg)? =

Yes. The plugin works on the stored post content, so it works with both the block editor and the classic editor.

= Can I keep links to specific sites? =

Yes. Add any number of domains in the **Exclusions** section and links to them will never be modified.

= Does this plugin collect any data? =

No. The plugin never collects, stores or sends any data. It runs entirely on your server.

= Does this work on multisite? =

Yes, it works on individual sites. It is not network-activated by default, so activate it per site.

== Screenshots ==

1. Global settings page: choose a processing mode, the rel attributes and your exclusions.

== Changelog ==

= 1.0.0 =
* Initial release.
* Three processing modes: add attributes, remove link keep text, remove link and text entirely.
* Automatic processing on publish and update.
* Per-post override setting.
* Exclusion list for domains.
* Compatible with WordPress up to 7.1 and PHP up to the latest 8.x.

== Upgrade Notice ==

= 1.0.0 =
Initial release.