Verifies URLs of links in your content are reachable when saving a post in WordPress.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Save Post. Check Links.

Verifies URLs of links in your content are reachable when saving a post in WordPress.


When a post is saved or published, this plugin will

  • scan the post’s content for any URLs,
  • ping all the URLs found,
  • detect any broken or unreachable URLs and list them for review and correction.

No more publishing of links or images broken by typos or incompletely copy-pasted URLs!



  • Active development of this plugin is handled on GitHub.
  • Pull requests for documented bugs are highly appreciated.
  • If you think you’ve found a bug (e.g. you’re experiencing unexpected behavior), please post at the support forums first.
  • If you want to help us translate this plugin you can do so on WordPress Translate.



  • If you don’t know how to install a plugin for WordPress, here’s how.


  • PHP 5.2.4 or greater
  • WordPress 3.7 or greater

Frequently Asked Questions

Will this plugin automatically correct link URLs on my website?

No, but it will automatically find any broken URLs in a post and list them for you, so you can review and correct them.

Will it find broken image URLs, too?

Yes, the plugin will ping every URL in your post’s content, no matter if it’s in a link, an image or even in a shortcode.

Will the plugin prevent a post with broken links in it from being published?

No, it will just list any broken URLs for you, but it will do so already when you save a draft. Most people save a draft multiple times before they publish it, so there’s a fair chance you’ll notice any broken links before actually publishing.

If you want to to avoid accidental publishing, try the free Publish Confirm plugin. It will add an extra confirmation dialogue for the publish button.

What about any relative URLs?

Relative URLs will not be checked.

Does it matter whether a URL is http or https?

By default the plugin will try to ping both, http and https URLs. If needed, you can change accepted protocols via hook. For example, in order to check only URLs with SSL:

add_filter( 'spcl_acceptable_protocols', 'set_spcl_acceptable_protocols' ); function set_spcl_acceptable_protocols( $schemes ) { return array( 'https' ); }

Will this plugin optimize my site for search engines (aka SEO)?

While the term “optimize” would surely be an overstatement, this plugin can surely add a fair share to the link sanity on your site. Link sanity is a pretty important SEO factor.

Where’s the settings page?

There is none, no configuration necessary.





  • Restructuring in order to reduce memory consumption


  • Supplementary test for extracted links


  • Added values to plug-in memory usage
  • get_current_user_id instead of wp_get_current_user()->ID


  • WordPress 3.9 support
  • Revision of the source code


  • Exchange esc_url against esc_url_raw


  • Xmas Edition


  • Hotfix for URLs with hash fragments


  • Live on


  • Output of the error or status codes
  • Source code revision


  • Conversion of action to admin_notices
  • Additional check of status code 405


  • Plugin Release


  1. Output of faulty links