Easy “410 – gone” status code plugin for WordPress: CSV bulk upload, manual & regex entry, 410 option when deleting pages, posts, categories & tags.
In accordance with the HTTP Specification, the 410 status code in the response header indicates that the requested resource is gone (permanently removed).
Features:
- When deleting pages, posts, categories or tags from WordPress, the ultimate 410 status code will ask if a 410 response code should be set for the deleted URL.
- Add 410 URLs manually
- Add 410 URL schemes via regex (regular expressions)
- Bulk upload 410 URLs via csv-file.
- works even if the csv-file contains a BOM
If you come across any bugs or have suggestions, please use the plugin support forum.
Screenshots
CSV Upload and table of already added 410 URLs.
Manually add URL.
Admin notice after page trashed.
Admin notice page URL added as 410.
FAQ
Can I customize the 410 response message?
The default message is a simple plain text message that reads “410 – gone”. This is because many people want to minimize the bandwidth that is used by error responses.
If you want to customize the message, just place a template file with the name 410.php
in your theme folder, and the plugin will automatically use that instead. Take a look at your themes’ 404.php
file to see how the template needs to be structured.
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
- Cache Enabler
- WP Rocket
We 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.
How do you handle trailing slashes?
The “Add URL” and the “Upload” functions consider the exact URL /page-to-be-deleted/
to be different from /page-to-be-deleted
Specify the exact URL that your site uses (with or without the trailing slash). If you want both URLs (with and without the / at the end) to return 410 gone status code, you can use regex like this page-to-be-deleted/?
or add both URLs as simple strings.
ChangeLog
1.1.5
- URL sanitization in PHP scripts has been enhanced to mitigate potential security risks associated with authenticated stored Cross-site Scripting (XSS).
1.1.4
- exit after custom 410-template got included
1.1.3
- fix issue with adding URLs after post got deleted
1.1.2
1.1.1
- remove undefined variable
1.1.0
- add bulk delete options
- account for ASCII characters in URLs
- fix PHP notices for passing variables by reference needlessly
1.0.5
- fix pagination issue affecting other WP_List_Tables
- fix issue with deletion of regex that included backslashes
1.0.4
- fix WordPress database error: [Specified key was too long; max key length is 767 bytes]