410 for WordPress


This plugin will issue a HTTP 410 response to requests for articles that no longer exist on your blog. When you delete a post or page, it records the URL for that page and issues a 410 response when that URL is requested. You can also manually manage the list of obsolete URLs.

The HTTP Specification defines the 410 response header for use when a resource has been permanently removed. It informs robots visiting your site that the requested content has gone, and that they should stop trying to access it.

If you come across any bugs or have suggestions, please use the plugin support forum. I can’t fix it if I don’t know it’s broken! Please check the FAQ for common issues.


  1. Upload the plugin folder to the /wp-content/plugins/ directory
  2. Activez-la via le menu Extensions dans l’admin WordPress
  3. The plugin settings can be accessed via the ‘Plugins’ menu in the administration area


Can I customise the 410 response message?

The default message is a simple plain text message that reads « Sorry, the page you requested has been permanently removed. » This is because many people want to minimise the bandwidth that is used by error responses.

If you want to customise the message, just place a template file called 410.php in your theme folder, and the plugin will automatically use that instead. Take a look at your theme’s 404.php file to see how the template needs to be structured. You can also hook into the wp_410_response action to trigger any specific events for queries resulting in a 410 response.

Will this plugin work if a caching/performance plugin is active ?

The plugin has been tested with the following caching plugins, and should work even if they are active:

  • W3 Total Cache
  • WP Super Cache

I have not tested it with other caching plugins, and there is a high chance that it will not work with many of them. Most of them will cache the response as if it is a 404 (page not found) response, and issue a 404 response header instead of a 410 response header.


Excellent! 🙂

Install, activate and it works! simple and effective solution! … BTW: I’m using Comet Cache PRO and have no problems

Getting 404 instead (UPDATE: Working now!)

Hi, I set an old post to draft and manually added the URL but when I tested it, I’m getting a 404 instead of a 410. I’m using W3 Total Cache, a CDN, and a custom 404 page. Could any of these be related to the problem? Thanks.


I needed a plugin like this, downloaded it and installed. Followed the simple instructions on the plugin page on how to use it and it actually works! Thanks!

Works great, but wish there were more options

This plugin is a life-saver. We recently had an « accident » which left us with over 1000 404 errors for links which never existed. Once we used this plugin, those links dropped off of Google’s Webmaster tools in just 1 day.

However, I wish this plugin supported other caching plugins like WP Rocket, as well as had an easier way to copy/export the current list of 410 URL’s from within the plugin itself. Overall though, it’s a great plugin. It just needs a bit more love from the developer.

Lire les 17 avis

Contributeurs & développeurs

« 410 for WordPress » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.


Traduisez « 410 for WordPress » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.



  • Don’t rely on WordPress to correctly report whether the site is using SSL.


  • Fix admin form CSRF checking.


  • Add CSRF validation to settings page.


  • Fix magic quotes handling on settings page.


  • Overhaul settings page UI.
  • Add option to specify how many 404 errors to keep.


  • Add select all helpers to 410/404 lists.


  • Don’t automatically add links to the list when posts are deleted (most deletions are drafts).


  • Add support for popular caching plugins (W3 Total Cache and WP Super Cache).


  • Database tweaks (change ID to unsigned MEDIUMINT)


  • Added logging of 404 errors so they can be easily added to the list of obsolete URLs.


  • Bugfix: don’t accept URLs that don’t resolve to WordPress
  • Warn about invalid URLs when permalink settings change


  • Moved storage of old URLs from the Options API to the database, to avoid issues with long lists.


  • Added the option to use your own template to display the 410 response. Just add a file called 410.php to your theme folder.


  • Bugfix: With batch deletes, only the first item being deleted was noted by the plugin


  • Bugfix: URLs containing non-ascii characters were not always recognised
  • Bugfix: URLs were displayed in encoded form on the settings page
  • Added a wp_410_response action to allow users to customise the response message when a deleted article is requested


  • Added wildcard support to URLs
  • Bugfix: don’t check URLs of deleted revisions and new draft posts