Link Manager: WordPress plugin for efficiently managing, fixing, updating, and removing links

I’ve always wanted a lean, performant link manager for WordPress, but everything out there is bloated and missing the features and workflow I want most. So, with Claude’s help, I decided to create my own.
I call it the Coywolf Link Manager plugin for WordPress, which has the following features:
- Analyzes and checks the status of all links across posts and pages.
- Provides inline options to edit, remove, replace, or ignore links.
- Has fine-grain editing of links on all posts and pages in a single interface.
- Can update and apply
relattributes (e.g.,sponsored,noopener, andme) to links. - Supports adding custom inline JavaScript, like
onclickevents to links. - Can specify which user roles have access to the tool.
- Includes link check scan speed options to ensure the server doesn’t get overloaded.
- Can change the user agent of the scanner.
- Open source and hosted on GitHub.
- Supports update notifications and automatic updates directly from GitHub.
Settings
Before you use the Link Manager, review the Settings page. Here are all of the options available to the plugin.
Allowed user roles
The default setting allows only Admin users to view and use the Link Manager. However, you can provide access to other user roles if you want.

Scan speed
The default setting is to check up to 5 pages/posts and 8 links at a time. However, you can lower that threshold for slower servers or increase it for servers that can handle checking more pages and links at a time.

Request headers
Many hosts return 403/429 to non-browser agents, so the default setting is to use the Chrome browser user agent. While that won’t get past servers with more sophisticated protections, it will reduce the number of hosts that reject the scanner. Additionally, you can override the user agent with a custom one.

Using the Link Manager
When you first run the Link Manager, it will show a progress bar. It may take several minutes before you start to see results. Once it’s complete, you can use the table to sort, filter, and manage all links.
There are 6 main options for each link, which are shown when you hover over the row:
- Edit – Manually change the link details.
- Remove – Remove the link but keep the plain text.
- Replace – Only appears for redirected links, and it replaces the current link with the destination from the redirect.
- Ignore domain – Stops checking and excludes links from the domain in the results.
- Ignore URL – Stops checking the URL, but continues to check other links from the same domain.
- Wildcard ignore – Stops checking links that match the pattern. To apply to all domains, exclude the domain from the pattern.

Clicking Ignore domain or Ignore URL will add the domain or URL to the Ignore URLs table, and it will no longer be checked.
Clicking Edit will take you to the Edit Link page. On this page, you can update the URL, add or remove relationship attributes (e.g., nofollow, ugc, me, etc.), add, edit, or remove custom JavaScript, and view and edit each link occurrence across all posts and pages.

However, clicking Remove, Replace, or Wildcard ignore will display a confirmation modal, and when you save the change, it will update the article and publish the change. It works the same as if you did it manually in the post editor, except it does it automatically in the background.
Here’s what the Edit, Remove, Replace, and Wildcard ignore modals looks like:



Ignore rules
Navigate to the Ignore rules page to add or remove domains, URLs, and wildcard patterns.

The plugin is free for anyone to use. And since it’s open source, anyone can fork it and make it do whatever they want. Since it’s only been tested on my sites, make sure you have a recent backup of your site and can easily restore it, just as I can with my WordPress hosting provider, Rocket.net.
To install it, go to github.com/coywolf-llc/coywolf-link-manager, download the Zip file, and upload, install, and activate it on WordPress.
