SWPL Discontinued Products

Getting started with SWPL Discontinued Products

Last updated July 10, 2026

What SWPL Discontinued Products does

When a supplier drops an item, the product page it leaves behind is a problem: shoppers land on it and find nothing to buy, and search engines keep crawling it for months. SWPL Discontinued Products handles the whole life cycle of a discontinued product. It marks the product discontinued, hides it from your shop and search results, answers its old web address with a proper HTTP 410 (“Gone”) status so search engines de-index it quickly, shows shoppers a friendly page with a “Continue Shopping” button, and finally deletes the product after a retention period you choose.

Why 410 and not 404

A 404 (“Not Found”) tells search engines the page might come back, so they keep re-crawling it. A 410 (“Gone”) says the page was removed on purpose. Search engines de-index 410 pages faster, and your Google Search Console reports stay cleaner. The plugin serves the 410 status natively; no SEO plugin integration is needed for it.

Installation

  1. In your WordPress admin, go to Plugins > Add New > Upload Plugin and upload the plugin zip.
  2. Click Activate. WooCommerce must be active; the plugin will tell you if it is missing.
  3. When licensing arrives for your copy, enter your license key where prompted. Until then the plugin runs unlocked.
  4. Open WooCommerce > Discontinued to configure settings.

Initial setup

General settings

  • Enable Plugin – the master on/off switch. Default: on.
  • Retention Period – how many months a discontinued product is kept before automatic deletion. Default: 3.
  • Auto Delete – whether products past the retention period are deleted automatically. Default: on.
  • Hide from Catalog – hides discontinued products from your shop pages and site search while they wait out the retention period. Default: on.

The 410 page

  • Custom 410 Page – by default the plugin shows its own built-in “this product is no longer available” page. You can design your own page with any builder (Oxygen, Elementor, Gutenberg) and select it here; the plugin displays your page content while still sending the real 410 status code underneath.
  • Button Link Target – where the “Continue Shopping” button sends the shopper: the discontinued product’s own category (default) or your home page.

Notifications and logging

  • Enable Logging – records every discontinuation, reactivation, 410 hit, and cleanup run to a monthly log file under your uploads folder. Default: on.
  • Email Notifications – emails you when products are deleted by the cleanup. Default: off.

Marking products as discontinued

There are four manual ways, plus the automatic supplier-feed detection covered in the companion article:

  1. Individual product: edit the product and tick the box in the “Discontinued Status” sidebar panel.
  2. Bulk action: on Products > All Products, select products and choose “Mark as Discontinued” from Bulk Actions.
  3. CSV upload: WooCommerce > Discontinued > Tools, upload a CSV of SKUs.
  4. Manual SKU entry: the same Tools screen accepts SKUs typed one per line or comma-separated.

410 hit tracking

The plugin counts how many times each discontinued product’s old address is still being requested, and when it was last hit. Falling hit counts tell you search engines have de-indexed the page; a URL that keeps getting hits usually has an external link still pointing at it.

Frequently asked questions

What happens if I reactivate a discontinued product?

The product returns to normal. Reactivation restores the product’s visibility only if this plugin was the one that hid it, and restores it to exactly what it was before – a product you had deliberately hidden yourself stays hidden. Reactivating a product that was never discontinued does nothing.

Does the automatic cleanup depend on visitors triggering WP-Cron?

No. The retention cleanup and all detection background work run on Action Scheduler, driven by a real server cron, so deletions happen on schedule whether or not anyone visits the site.

Can an import mark products discontinued for me?

Yes – the plugin has an importer-agnostic detection engine that compares your catalog against the full SKU list each supplier feed currently carries. It works with SWPL Product Import Export, WooCommerce’s built-in CSV importer, WP All Import, or its own daily feed scan with no importer at all. See the article on supplier detection and the shrink guard for how it works and how it protects you from a truncated feed.

Is mass-deletion from a bad feed possible?

No. A mandatory shrink guard holds any feed snapshot that is dramatically smaller than the last accepted one (default: under 50 percent), discontinues nothing, and shows you a banner to accept or discard the snapshot. An empty feed is always held.

Next
Supplier detection, the shrink guard, and the 410 life cycle