We run a Shopify store with thousands of SKUs and occasionally need to archive or discontinue large batches of products (1,000+). Our current approach:
- Remove from the search and all channels except the Online Store
- Apply a custom theme template that hides the Add to Cart button
- Keep the product page live to preserve SEO value
Is this best practice? Or would it be more effective to redirect discontinued products to a parent category or related item?
Additional questions:
- Should we update structured data to indicate items are discontinued / no longer available?
- How do large stores handle this at scale without hurting SEO?
Thanks in advance.
3 Likes
Hey @Tirso-UHS
Generally speaking, yes, your approach is good.
If the product has been around for a while and you are getting traffic to that page, you don’t want customers to land on a different page (e.g. a category page) or a 404 page. Both of which can disorient the customer and cause them to bounce.
I’m usually in favor of:
- Keeping the product page live until you see no traffic to that URL in analytics. Once no traffic hits that page, it’s likely safe to unpublish and redirect.
- Clearly stating the product is discontinued so that the customer knows it’s not coming back.
- Providing alternative products which can be a similar item or a newer version of the same product.
- Setting the structured data to discontinued if you can. Shopify doesn’t have the ability to do this natively, but you can do it yourself if you’re comfortable with the code or use an app like JSON-LD for SEO. Google will treat the discontinued markup as out of stock, but they’ll understand it’s not coming back, which may be important depending on the product.
- Creating a discontinued collection if it’s helpful for the customers to see past products that are no longer available. I usually find this most helpful for custom products, sorta like a gallery of past projects.
At a large scale, I’d recommend using something like Flow to automatically unpublish from channels and add a tag like “discontinued”. For my customers who do this, we look for that tag and then set the structured data to be [https://schema.org/Discontinued](https://schema.org/Discontinued)