Shopify Out-of-Stock Products: What to Do for SEO
Keep, redirect or 404? How to handle sold-out, back-order, seasonal and discontinued Shopify product pages, with schema availability values and admin steps.

Keep a sold-out Shopify product page live when the product will come back, and mark it out of stock on the page and in structured data. Redirect only to a genuine replacement, and let a permanently gone product with no replacement return a 404 instead of bouncing shoppers to your homepage.
The rule in one sentence
If a shopper on the old URL can still buy that product or its true successor, keep or redirect it; otherwise show an honest out-of-stock state, a discontinued notice, or a real 404.
What should you do with each type of sold-out Shopify product?
Match the URL action to whether the product is coming back. Temporary, back-order, pre-order and seasonal products keep their URL and change their availability state. Discontinued products either redirect to a close replacement or stop resolving. The table adds what the shopper should see and the matching schema.org and Merchant Center values.
| Situation | URL action | What the shopper sees | Schema availability | Merchant Center |
|---|---|---|---|---|
| Temporarily out of stock | Keep live and indexable | Sold-out state, restock estimate if known, similar in-stock items, notify-me option | OutOfStock | out_of_stock |
| Back-order | Keep live; Continue selling when out of stock on | Expected ship date beside the buy button | BackOrder | backorder + availability_date |
| Pre-order | Keep live; Continue selling when out of stock on | Release or ship date and payment terms | PreOrder | preorder + availability_date |
| Seasonal, returning | Keep the same URL live all year | Return season plus a link to the current equivalent | OutOfStock until back | out_of_stock (keep the item) |
| Discontinued, close replacement | 301 to the replacement | The replacement product | n/a once redirected | Remove the item |
| Discontinued, no replacement | 404, or keep live as a reference page if it still earns clicks or links | If kept: a visible discontinued notice, specs, link to the parent collection | Discontinued (if kept live) | Remove the item |
| Whole product line deleted | 301 to a closely matching collection only where it serves the same need; otherwise 404 | A relevant category, never a homepage bounce | n/a | Remove the items |
Two tie-breakers help. A discontinued URL still earning clicks or links deserves an honest reference page. And a redirect needs a destination that answers the same need: a retired trail shoe sent to its newer model qualifies; sent to your homepage, it does not.
What does Google say about out-of-stock and discontinued products?
Google's documentation is consistent: keep temporarily unavailable products findable and accurately labelled, use a 301 when there is a clear replacement, and return 404 or 410 when content is gone with no equivalent. Google also warns that redirecting many old URLs to one irrelevant page, such as the homepage, can be treated as a soft 404.
- Google's guide to pausing an online business says to keep a product page and mark it out of stock rather than use the removals tool, and to update structured data to current availability.
- The crawling-errors troubleshooting guide says to return a 301 when a page has a clear replacement, and a 404 or 410 when it does not.
- The site move documentation says not to redirect many old URLs to one irrelevant destination such as the homepage, because it can confuse users and might be treated as a soft 404.
- Google's HTTP status code reference treats all 4xx errors except 429 the same, so Shopify's 404 does the job of a 410.
Merchant Center adds a feed rule. Google's availability attribute specification asks you to remove discontinued products and to send an availability date for pre-order and back-order items. A deleted offer can take significant time to show again once re-added, so keep seasonal items in the feed as out_of_stock.
Which structured data availability value should a Shopify product use?
Use exactly one schema.org ItemAvailability value on the product's Offer, and make it match what the page shows. Most stores need only InStock, OutOfStock, BackOrder, PreOrder and Discontinued. Google lists availability as a recommended Offer property, not a required one.
Google's merchant listing structured data documentation supports ten values: BackOrder, Discontinued, InStock, InStoreOnly, LimitedAvailability, OnlineOnly, OutOfStock, PreOrder, PreSale and SoldOut. The schema.org ItemAvailability enumeration adds MadeToOrder and Reserved. Two values get confused:
- SoldOut means “has been sold out,” while OutOfStock means “currently out of stock.” Our reading: use OutOfStock for anything you will restock and SoldOut for a limited run that will not return.
- PreSale means ordering and delivery before general availability, such as an early-access drop, not a standard pre-order.
Your Shopify theme or an SEO app usually writes this markup, so check the rendered source after a product sells out; Google's structured data general guidelines require markup that truly represents the page. The Shopify Product schema guide covers the other Offer fields and duplicate Product JSON-LD from themes and apps.
Which Shopify settings control what happens to a sold-out URL?
Four controls decide the outcome: the inventory policy on each variant, the product status, URL redirects, and how storefront search and collections treat unavailable products. Check the live page after changing any of them, because themes and apps can change what shoppers actually see.
Continue selling when out of stock
Shopify's selling-when-out-of-stock article says customers cannot buy a tracked item at zero inventory by default. Selecting Continue selling when out of stock in a product or variant's Inventory section, available only when Inventory tracked is on, is what makes back-orders and pre-orders possible. The ship date still has to be written on the page.
Product status
According to Shopify's product status documentation, Archived products are hidden from your online store. Unlisted products stay reachable by direct URL, but Shopify adds noindexand drops them from the sitemap, so Unlisted will not keep a page ranking. Shopify's redirect guide adds that Draft and fully unpublished products return a 404; deleted products cannot be restored.
URL redirects and handle changes
Shopify's URL redirect guide puts redirects under Content > Menus > View URL Redirects > Create URL redirect, with CSV import for bulk work. The catch: you can redirect only from a broken URL. A redirect from a product that still loads will not fire, so set it to Draft, unpublish it from all sales channels, or delete it first.
Shopify documents a pre-selected Create a URL redirect option when you change a page or collection handle. After renaming a product handle, open the old URL to confirm it forwards, clearing your browser cache first as Shopify's troubleshooting notes advise. Handle changes also affect canonicals, covered in the Shopify canonical tags and variant URLs guide.
Storefront search, collections and back-in-stock alerts
Shopify's storefront search behavior article says products with every variant unavailable appear last in search results by default. The Search & Discovery app lets you show, hide or place them last under Search & Discovery > Settings > Out of stock products. That covers the search results page and predictive search; Shopify does not say it changes collection pages.
Shopify's collection documentation describes no sold-out sorting setting, so your theme or apps control it; the Shopify collection page SEO checklist covers the rest of that page. Back-in-stock alerts come from Shopify App Store apps, not a core setting. Pick one that does not add a second Product JSON-LD block.
How do you audit sold-out URLs in a Shopify store?
Join three lists in one spreadsheet, one row per product handle: what is out of stock, what Google reports for those URLs, and which still earn clicks. You need only the Shopify admin and Google Search Console, and the last step is a live check, because a saved setting does not prove the page changed.
- Export inventory. Go to Products > Inventory > Export, choose all locations and the Available view. The file lists each Handle with available quantity per location. Flag handles where every variant is at zero or below.
- Label intent. Tag each flagged handle with its row from the decision table. The export cannot tell you this.
- Pull clicks. In the Search Console Performance report, open the Pages tab, widen the date range past the default three months to cover a full season, and export. Match each
/products/handle. - Check indexing. In the Page indexing report, open the Soft 404 and Not found (404) rows and inspect examples. Google flags a soft 404 when a successful page looks empty or like an error, so check whether your sold-out template hides most content.
- Decide with the table. Start with URLs that have clicks, then those with backlinks.
- Implement in batches. Change inventory policy and status, then import redirects by CSV for products now returning 404. Update Merchant Center data too.
- Verify live. Open each redirected URL, run URL Inspection on a sample, and confirm the availability value in a sold-out page's rendered source.
What does VisRank check on a Shopify product page?
VisRank checks whether a product URL can be indexed and parsed: a Google noindex in robots meta tags or the X-Robots-Tag header, a canonical link, and whether JSON-LD exists and parses. It treats /products/ URLs and pages with Product or Offer schema as product pages.
On deeper monitoring scans, VisRank's AI Citation checks also look for a Product or Offer type with name, url, description and image, and for agreement between the schema URL, canonical and og:url. VisRank does not read the availability value, compare it with inventory, or decide whether a retired URL should redirect. An Unlisted product will show a noindex finding, which is expected if you chose that status.
After the audit, scan a kept sold-out page and a replacement page to confirm both are indexable with valid JSON-LD and a clean canonical. See the Shopify SEO audit page for store-specific checks.
Frequently asked questions about Shopify out-of-stock products
Should I delete out-of-stock products in Shopify?
Not if they will come back. Google recommends keeping the page and marking it out of stock, and Shopify cannot restore a deleted product. Delete or set to Draft only when the product is permanently gone, then redirect it if a close replacement exists.
Should I redirect a discontinued product to the homepage?
No. Google says redirecting many old URLs to one irrelevant page such as the homepage can be treated as a soft 404. Redirect to a true replacement or a closely matching collection, or let the URL return a 404.
Which schema availability value should a sold-out product use?
Use OutOfStock for items you will restock, BackOrder or PreOrder only when customers can order now, and Discontinued for a retired product whose page stays live. Use one value that matches what the page shows.
Why will my Shopify redirect not work for an old product URL?
Shopify only redirects broken URLs. If the old product still loads, the redirect is ignored. Set the product to Draft, remove it from all sales channels or delete it so the URL returns a 404, then test again.
Should sold-out products be hidden from Shopify search results?
Shopify places fully sold-out products last in storefront search by default. The Search & Discovery app can show, hide or place them last in search and predictive search. That controls on-site search, not whether the product page is published.
Key takeaways
- Keep products that will return on the same live URL and change their availability state.
- Use a 301 only for a true replacement; homepage redirects risk being treated as soft 404s.
- A 404 is a valid outcome for a product gone with no replacement; Google treats 404 and 410 the same.
- Shopify redirects only fire from broken URLs, so make the old product return a 404 first.
- Unlisted products get noindex and leave the sitemap, so they will not keep ranking.
- Keep schema availability, the visible page and Merchant Center data in agreement.
- Prioritise sold-out URLs that still earn clicks, and verify every change live.
Sources checked on November 7, 2026
Google: Page indexing report help and the Google pages linked above. Shopify: inventory CSV export, Search & Discovery settings, page redirect option and the Shopify pages linked above. VisRank behavior was checked against the current scanner code.
Once your sold-out pages are sorted, run a free VisRank scan on a product URL → to confirm it is indexable, canonicalized and carrying valid structured data.