External Link Manager for WordPress Plugin
The following describes specs for a plugin. When the plugin is available, I will update this post. Until then, there is nothing you can download. If you are a WordPress plugin developer, please review the below and submit your expected cost. Thanks!
To help monitor external links from a WordPress site with the aim of identifying links that point to pages that change after the initial link was established. This monitoring will help the site owner ensure that:
- All external links continue to point to non-error pages.
- All external links lead to content that is relevant and valuable to users.
- No external links point to sites that were once legitimate, but have since been taken over by new site owners less concerned with quality.
When a post, page, or other type of text-based content is first published or updated the following occurs:
- Check the body text for external links.
- For each external link found save to the database. These represent the original values.
- Current date and time
- The post ID
- The source URL (as determined by the slug)
- The destination URL (exactly as entered by the user in the post)
- The title of the destination URL (HTML title tag)
- The header status of the destination URL (200, 301, 302, 404, etc.)
The site owner will have access to an admin page with a table. The table will display the above fields plus the following (these are the current values):
- The date the destination URL was last checked
- Current title
- Current header status
- Does original title match current title (Y / N)
- Does the original header status match the original header status (Y / N)
In addition, each row will have a check box. There will also be a check box above the table to allow for selecting / deselecting all check boxes.
Upon selecting one or more checkboxes along with hitting the “Get Current” button, the plugin will update the above values with the most current data. The original values will not be changed. The comparison Y / N columns will be updated to reflect whether the original and current values match.
Another button, Update Original, will allow the user to update the original values to match the current values. When this happens, by definition the comparison columns should have the value Y for any rows so updated.
- Checking links does not occur automatically i.e. it must be triggered by the user.
- Checking links should run in the background so that the user doesn't need to remain on admin page.
- Checking links must use as few resources and err on the side of not disrupting web site behavior.