Ultimate 410 Gone Status Code

Description

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.

Reviews

nuxwasun 21, 2024 1 reply
👍👍 Plugin works without issue. I have it set up to automatically add deleted user-generated content URLs to the 410 list to minimize crawlers attempting to repeatedly recrawl a page that no longer exists and will never come back. Plugin support have been top-tier. Prompt replies to an inquiry and updates to resolve compatibility.
Alunsun 15, 2024
Thanks. Simple and useful. One suggestion: What about auto 404 to 410 redirect? It will be super helpful!
woosun 11, 2022
Hey there, thanks for the great plugin. This is making the (seo) world better! Does exactly what it´s meant to do and should be standard in every wordpress site. More like that! Felix

A+

zosun 1, 2022
Excellent plugin, works perfectly right out of the box. When you delete a post, product, category, page, etc. the plugin prompts you with a message and a button labelled “Click here” to add the URLs that have been deleted to the 410 plugin, wonderful. Easy 5 star rating. Keep up the great work!
liyasun 15, 2021
Very good plugin, works even better than expected. And another very positive thing is the fact that this plugin is compatible with the official AMP plugin from the AMP project (main AMP contributor is Weston Ruter). My homepage speed in Google Insights is now mobile 99 and desktop 100!
Read all 7 reviews

Contributors & Developers

“Ultimate 410 Gone Status Code” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.1.8

    • Remove deprecated ini_set() calls with auto_detect_line_endings.

1.1.7

  • Prevent handling an empty request (e.g. the root or only query parameters on the root)
  • Revert a change from 1.1.5 that prevented WP Bakery from correctly rendering contents on the 410 page.

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

  • fix version quirks

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]