Handling 404s for Deleted Products on Shopify Stores

Topic summary

A Shopify store owner is struggling with 966 404 errors in Google Search Console from previously deleted products and seeks advice on proper handling.

Recommended approaches include:

  • 301 redirects to similar products, replacement items, or relevant category pages (best for SEO preservation)
  • Custom 404 pages with branded messaging, product suggestions, search functionality, and discount codes
  • Keeping pages live for temporarily unavailable items with “Out of Stock” notices and “Notify Me” options
  • Monitoring tools like Google Search Console or Shopify apps to track and fix broken links

Current situation:

The store owner has attempted automatic redirects, created a custom 404 page, and requested deindexing through Google Console, but new 404 errors continue appearing daily. The large volume (966 links) makes manual organization challenging.

Key takeaway: Simply deleting products without redirects damages SEO and user experience. The discussion emphasizes proactive redirect management, though the original poster’s issue remains unresolved regarding how to efficiently clear existing 404 errors from Search Console.

Summarized with AI on October 30. AI used: claude-sonnet-4-5-20250929.

I’m curious to know how you handle 404 errors for discontinued or out-of-stock products. Do you redirect them, create a custom page, or simply delete them? I’d love to hear your strategies for managing these links and keeping your store organized. Thanks for sharing your insights!

You don’t need an app. Creating and managing URL redirects

1. Redirect to a Relevant Page (Best for SEO & UX)- If the product has a direct replacement or similar item, set up a 301 redirect to that product.

  • If there’s no direct alternative, consider redirecting to a category page or a personalized “Recently Discontinued” page with suggestions.

2. Create a Custom 404 Page (Better UX)- Instead of a generic 404, create a branded “Product Unavailable” page with:

  • A message explaining the product is no longer available.
  • Links to similar products or categories.
  • A search bar to help users find alternatives.

3. Keep the Page but Mark as “Out of Stock”- If a product is only temporarily unavailable, keep the page live but disable purchasing.

  • Add a “Notify Me When Available” button to capture interest.

4. Simply Delete (Not Recommended)- Deleting products without redirects leads to broken links, hurting SEO and user experience.

  • If deleting is necessary, at least set up a custom 404 or redirect to guide users.

Hope that helps :rocket:

1 Like

Hi @fatemeh

Here are some ways you can try to handle 404s

  • 301 Redirects – If a product is discontinued, redirect the old URL to a similar product or a relevant collection page. This helps retain SEO value and guides customers to alternatives.
  • Custom 404 Page – Create a friendly 404 page with recommendations for other products, a search bar, or a discount code to keep visitors engaged.
  • Keep the Page, but Update It – If the product is out of stock temporarily, keep the page live with an “Out of Stock” notice and an option to be notified when it’s back.
  • Use a ‘Discontinued’ Message – Instead of deleting, update the page to say the product is no longer available and suggest similar items.
  • Monitor 404 Errors – Use Google Search Console or Shopify apps to track broken links and fix them before they impact SEO.

Hope this helps :slightly_smiling_face:

1 Like

Thanks for your help
I have a lot of 404 links related to products that I have already removed and I was not aware that this could be a problem
I tried to remove some with automatic redirects and some from Google Console so that they are not indexed and even created a custom 404 page but my Google Console reports 404 every day and I am frustrated. There are 966 (404 )links and it is difficult to organize them.

Thanks for your help

Thanks for your help.
I created a custom 404 page and yet the 404 links are still there in my Google Search Console. What should I do to fix it in the console?