SEOJune 17, 20269 min read

404 Handling Strategy for Ecommerce — Soft 404s, Redirects, and Discontinued Products

The hierarchy of fixes for discontinued products, the precise definition of a soft 404, when to redirect vs. let pages return 404, and how Google actually treats each pattern. With Shopify, WooCommerce, and BigCommerce specifics.

StoreVitals Team

Every ecommerce store discontinues products. Seasonal items, end-of-life SKUs, suppliers dropping a line, brand-removed inventory — discontinuation is normal. What's less normal is the volume: a Shopify store with 5,000 active products typically has another 5,000–25,000 historical product URLs that have been discontinued over the years. How those URLs are handled determines whether they're a quiet asset (passing link equity, capturing branded search) or a quiet liability (signaling site neglect, wasting crawl budget, ranking soft 404s).

This article documents the precise SEO behavior of each 404 handling pattern, the fix hierarchy with platform specifics, and the audit framework to measure your store's current state.

The 404 Response Behaviors That Matter

Hard 404. Server returns HTTP 404 status code with a 404 page (or any page) as the body. Google interprets this as "this URL no longer exists." After confirmation across multiple crawls, Google removes the URL from its index and stops crawling it. Inbound link equity from external sites is lost. Internal links pointing to this URL become broken links.

Soft 404. Server returns HTTP 200 status code with content that signals to Google "this is a missing or empty page." Common patterns: a page with "Product not found" as the only visible content, a category page with zero products, a search results page returning "0 results." Google's algorithm detects soft 404s and treats them as if they returned 404. The risk: the detection is imperfect, and pages with thin or templated content can be flagged as soft 404 even when they're meant to be live.

301 permanent redirect. Server returns 301 status pointing to a new URL. Google passes ~95% of link equity from old URL to new URL (Google has publicly stated link equity is preserved across 301s). The new URL is indexed; the old URL is removed from index over 1–4 weeks. Best option when there's a relevant successor URL.

302 temporary redirect. Server returns 302 status. Google interprets as "this is temporary, the old URL will come back." Old URL stays indexed; new URL may not be indexed. Use only when the redirect is truly temporary (typically days, not months).

410 Gone. Server returns 410 status, signaling "this URL is permanently gone, do not look for it again." Google removes from index faster than 404 (typically 1–2 weeks vs. 1–4 weeks). Use when there's no successor URL and you want fast deindexing.

200 with archive page. Server returns 200 with a page noting the product is discontinued and showing alternatives. Google indexes as a real page. Best option for high-value discontinued URLs that have inbound links and branded search demand.

The Fix Hierarchy for Discontinued Products

Tier 1: Product still relevant, replacement exists. 301 redirect old product URL to the replacement product URL. Example: "Nike Pegasus 39" → "Nike Pegasus 40". Preserves link equity. Captures branded search for the discontinued model and converts it to the current model. This is the highest-value pattern for evergreen catalog updates.

Tier 2: Product discontinued, similar product available. 301 redirect to the parent collection or a similar product. Example: "Limited Edition Halloween Mug" → "/collections/seasonal-mugs". Less link equity preserved (Google may pass less equity to collection redirects than direct successor product redirects), but better than a 404. Use when there's no direct replacement.

Tier 3: Product permanently gone, no replacement, high inbound link value. Keep the page live at 200 status. Show "This product has been discontinued" prominently, suggest alternatives, surface the brand history, retain reviews. The page becomes a permanent archive that absorbs inbound links and branded search. Useful for hero products, limited editions with collector value, and products that have meaningful inbound link equity.

Tier 4: Product permanently gone, no inbound links, no branded search. 410 Gone. Tells Google to stop crawling and remove from index quickly. Frees crawl budget for active products. Apply to the long tail of discontinued products with no SEO value.

Avoid: Mass 301 redirects to homepage. Google identifies mass redirects from discontinued products to the homepage as a soft 404 pattern. Link equity is not preserved; the redirects waste crawl budget. If you have nothing to redirect to, use 410 or 404.

Soft 404 Patterns Specific to Ecommerce

Google Search Console's "Coverage" report flags soft 404s under "Excluded > Soft 404." Common ecommerce patterns that trigger this flag:

Empty category pages. A category exists in the navigation but has zero products in stock. The page renders the category template with "No products found." Google flags as soft 404. Fix: hide categories from navigation when empty, or auto-merge empty categories into parent categories.

Out-of-stock product pages with no content. The product page exists but the inventory is zero and the template hides description, reviews, and related products. Google sees a thin page with "Out of stock" as the main content. Flag possible. Fix: keep product description, reviews, and related products visible even when out of stock; add "Notify me when back in stock" form.

Internal search results pages with zero results. A user search for "blah" returns "No results found." If indexed, Google flags as soft 404. Fix: noindex all search results pages via meta robots tag.

Faceted filter URLs with no results. Filter combinations that produce no products (e.g., "Red shoes, size 16, under $20") render an empty page. Fix: noindex or redirect filter URLs with zero results.

404 page returning 200 status. A misconfiguration where the 404 page itself returns HTTP 200 instead of 404. Every "missing page" URL becomes indexable. Catastrophic for site quality signals. Fix: ensure your 404 page returns HTTP 404 status.

Platform-Specific Implementations

Shopify: Built-in URL redirect manager (Online Store > Navigation > URL Redirects). Add 301 redirects from old product handles to new handles. Bulk import via CSV. Shopify automatically returns 404 with proper status code when a product is deleted; no soft 404 risk for deleted products. Watch out for: the default 404 page is well-designed but ensure your custom 404 template doesn't return 200.

WooCommerce: Use a redirect plugin (Redirection by John Godley is free and capable). For discontinued products, set "stock status: out of stock" and use a plugin like "WP All Import" to bulk-mark archived. For 410 Gone, install a plugin that supports 410 status codes (Redirection supports 410 as a custom redirect type).

BigCommerce: Built-in URL redirect manager. CSV bulk import. Product deletion returns 404 by default. For 410 Gone, requires custom theme work or a CDN-level rule.

Magento / Adobe Commerce: URL Rewrites managed under Marketing > URL Rewrites. Bulk import via CSV. Magento has historical issues with soft 404 on out-of-stock products in default themes; verify with GSC URL Inspection.

Custom storefronts (Hydrogen, Next.js): Implement redirects in framework routing layer. Next.js: next.config.js redirects array, or middleware for dynamic redirects. Hydrogen: routes.tsx redirects or loader-level throw redirect(). Critical: ensure the 404 page actually returns 404 status — Next.js requires explicit notFound() call in route handlers.

The Audit Framework

Step 1: Pull GSC Coverage report. Filter to "Soft 404" — get the list of URLs Google has flagged. Bucket by URL pattern (empty categories, out-of-stock products, search pages, filter combinations).

Step 2: Crawl your sitemap for HTTP status codes. Use Screaming Frog, Sitebulb, or a custom script to fetch every URL in sitemap.xml and capture status codes. Any sitemap URL returning 404 indicates the sitemap is stale (Google penalizes stale sitemaps).

Step 3: Crawl internal links for status codes. Crawl from homepage following all internal links. Surface 404s and 5xx errors. Each internal link to a 404 is a fix opportunity.

Step 4: Pull GSC "Excluded > Crawled — currently not indexed" report. URLs Google crawled but chose not to index often include soft 404 candidates and thin pages. Cross-reference with your sitemap.

Step 5: Categorize and apply the fix hierarchy. For each discontinued URL, apply Tier 1–4 based on link value (inbound links, branded search) and successor availability.

The Redirect Hygiene Rules

Once you've applied redirects, the maintenance discipline:

  • Avoid redirect chains. A → B → C is twice the latency of A → C. Google passes link equity but real-user TTFB suffers. Update redirects to point directly to final destination.
  • Audit redirect target health. If product A is redirected to product B, and product B becomes discontinued, you now have a redirect-to-404. Quarterly audit: crawl your redirect list and verify all destinations return 200.
  • Remove redirects for URLs no longer referenced. Old redirects accumulate without value. After 18–24 months, if a redirect's source URL has zero inbound external links and zero internal references, deprecate the redirect.
  • Use 301 not 302 for permanent moves. Default to 301 unless you genuinely intend to restore the old URL.
  • Don't chain through tracking parameters. A clean 301 to /products/new-product is better than a 301 to /products/new-product?utm_source=old-redirect.

What StoreVitals Detects

Our crawler audits the full URL lifecycle:

  • Internal link 404s — every broken internal link with the source page and link context
  • Soft 404 pattern detection — thin pages with low content-to-template ratio, empty category pages, search pages indexed
  • 404 page status code verification — confirms your 404 page actually returns HTTP 404
  • Redirect chain detection — multi-hop redirects with the full chain reported
  • Sitemap URL status — every URL in sitemap.xml verified for live status
  • noindex on filter/search pages — confirms parameterized URLs are properly excluded from indexing

Run a free scan on your store. The "Content Quality" pillar surfaces 404 and soft 404 issues with specific URLs to fix. For a comprehensive 404 audit including the GSC soft 404 cross-reference and a prioritized fix list, our Premium $79 audit includes the full discontinued product hygiene workflow.

404soft 404redirectsdiscontinued productsSEO

See these issues on your store?

Run a free scan and find out in seconds.

Run Free Scan