·

Deleting the product is the fastest of your four options. It’s also the one merchants reach for first, and the only one you can’t quietly reverse six weeks later. Shopify out of stock SEO is mostly the discipline of not doing that by reflex.

By Florencia
August 19, 2026
9 min read

A supplier retires a line. A bestseller sells out with no restock date. A newer model arrives and last year’s version has nowhere to go. In all three cases the item has left your inventory. The URL, though, is still sitting in Google’s index, carrying whatever rankings and backlinks it spent two years building.

Our guide to Shopify redirects and 404 pages is the how: where the redirects screen lives, how to import a batch by CSV, how to build a 404 page that doesn’t dead-end anyone. This post is the step before it. Which of four options does the page actually deserve? Get that wrong and you redirect a page you should have kept, or delete one you should have redirected. One case sits deliberately outside the framework below: stock that comes back on a predictable calendar, where a known return date changes the maths. Everything here assumes a year-round catalogue.

If you want the cleanup automated: Plug In SEO audits your store and flags the broken links a removed product leaves behind. Its broken link report then builds the 301 for each one. Deciding which pages deserve a redirect is the part below.

Try Plug In SEO →

Shopify out of stock SEO starts with one question

The bottom line: is this product coming back? Answer that first, because every other decision hangs off it. Then answer a second question — does something in your catalogue replace it? Those two answers put you in exactly one of four branches.

  1. Coming back, date known or likely. Keep the page live and indexable. Don’t touch the URL.
  2. Gone for good, but a newer SKU replaces it. 301 the old URL to the replacement product.
  3. Gone for good, nothing replaces it, but the page earns traffic or links. Keep it live as an informational page and say plainly that it’s discontinued.
  4. Gone for good, nothing replaces it, and the page earns nothing. Let it 404 and move on.

Notice what isn’t on that list: deleting a page that still earns something, and redirecting everything to your homepage. Both feel tidy. Neither is a real answer.

The four branches, side by side

Situation Do this with the URL Why
Temporarily out of stock. Keep it live at 200, indexable, with real content on it. Google can keep re-checking the page and pick up the restock quickly.
Discontinued, direct replacement exists. 301 to the replacement product. Rankings and link equity transfer to a page that can actually convert.
Discontinued, no replacement, page has traffic or backlinks. Keep it live, mark it discontinued, link to the nearest alternatives. You keep the URL’s history instead of throwing it away.
Discontinued, no replacement, no traffic, no links. Let it 404. Clean up internal links pointing at it. A redirect nobody follows is just maintenance debt.
One variant sold out, product still sells. Nothing. Leave the product page exactly as it is. The page is still in stock as far as Google is concerned.

Why deleting an out of stock product page is the worst option

The bottom line: a product page that has been live for two years is not the same asset as the same page republished tomorrow. Age, links and history don’t come back with it.

Ahrefs looked at 1.3 million random US keywords. The average number-one ranking page turned out to be five years old, up from two years old when they first ran the study in 2017. In the same dataset, only 1.74% of newly published pages reach the top ten within a year. So when you delete a URL that ranks, you’re not pausing that ranking. You’re handing back something that took years to build, and the replacement starts from scratch.

The average #1 ranking page is five years old. Only 1.74% of newly published pages rank in the top 10 within a year, across 1.3 million random US keywords.
Ahrefs, “How Long Does It Take to Rank,” updated May 2025

One myth worth retiring here: that a 410 “Gone” gets a dead product out of the index faster or more cleanly than a 404. Google’s own documentation on HTTP status codes says otherwise. Every 4xx error except 429 is treated the same way, and the doc groups 404 and 410 under identical handling. Pick whichever your setup produces naturally and spend the effort on the decision instead.

Branch 1: temporarily out of stock, restock expected

The bottom line: keep the URL live, indexable, and honest about availability. Google has said directly that this is what works best for temporary unavailability.

Google’s John Mueller put it plainly in a Search Central session. “What works best for us is if we can keep the URL online for things that are really temporary… if the URL remains indexable and with structured data you tell us this product is currently not available.” Google then keeps refreshing the page “to pick up that change in availability as quickly as possible” (Search Engine Journal, October 2021).

There is a real risk to manage, though. Mueller has also said that when Google sees something is out of stock, “we will assume it’s more like a soft 404 error, where we will drop that URL from the search results as well.” He immediately qualified it. A page carrying substantial product information “can still be quite relevant for people who are searching for a specific product.” And one product going out of stock doesn’t drag the rest of your site down (Search Engine Journal, April 2022). That qualification is the whole game. A page whose only content is a buy button looks like an error once the button stops working. A page with specs, photos, reviews and a real description still answers the query.

Keep the URL live and indexable

Leave the product Active with inventory tracked at zero. Shopify’s docs are specific about what that state does: “An item is out of stock when inventory is tracked and the inventory level is at zero or below. By default, customers can’t purchase an item” until you add stock back or turn on “Continue selling when out of stock”. The page stays reachable and the sold-out state shows.

Resist two shortcuts here. Archiving the product hides it from your storefront entirely, so the URL stops serving a page. Setting the status to Unlisted looks gentler, but Shopify’s documentation is blunt about the cost. Unlisted products are “hidden from internet search, Shopify Catalog, and your store’s sitemap,” and the page becomes reachable only with the direct URL. That’s the opposite of what a temporary stockout needs.

Make the stock status explicit on the page

Say it in text, not just in code. Google’s Merchant Center landing page requirements ask you to show availability clearly. If a product is out of stock, “you may show it with an explicit text (for example: ‘Sold out’ or ‘Item not available’) or visually by using a greyed-out ‘Buy’ button.” The same page warns against changing availability after the page loads: “do not change displayed product information after initial loading”. So a badge injected by JavaScript a second later isn’t the same thing as a server-rendered one.

The structured data side is mostly handled for you on a current Shopify theme. Dawn 16.0.0 no longer hand-writes product JSON-LD. It calls Shopify’s structured_data Liquid filter, which emits the offers.availability value for you. The filter flips that value to OutOfStock when the variant is unavailable. Worth knowing, because most advice still points you at a hand-written availability line that isn’t in the theme any more. If you’ve customised your product template, that’s the thing to check.

Give the visitor something to do

A sold-out page with no next step is where the SEO win leaks away. Baymard Institute’s testing found 68% of ecommerce sites don’t let users order a temporarily out of stock product at all. Around 30% of users hitting that wall simply abandon. Three things fix it: a back-in-stock email capture, a link to the closest in-stock alternative, and a restock estimate if you have one.

68% of ecommerce sites don’t allow users to place orders for temporarily out of stock products. Roughly 30% of users who hit an unavailable product are likely to simply abandon.
Baymard Institute, “Let Users Purchase Temporarily ‘Out of Stock’ Products”

Branch 2: discontinued, and a newer SKU takes its place

The bottom line: 301 the retired URL to the product that genuinely replaces it — not to a category, not to the homepage.

This is the one branch where a redirect is clearly right. The old page has search demand behind it, and there’s a live page that satisfies that demand. A 2024 model replacing a 2023 model. Or a reformulated version of the same product, or the same thing in new packaging. All close enough that the person following the old link gets what they came for.

Two things to get right. First, “equivalent” means equivalent to the shopper, not just to you. Redirect to a different product in the same category and it reads as a bait-and-switch, so the visitor bounces. Second, remember what Shopify does and doesn’t create automatically. Changing a handle inside admin offers you a redirect checkbox. Deleting a product doesn’t, because there’s no new URL to offer. Our redirects guide walks through building the record itself. The broken links guide covers finding the ones you’ve already missed.

On the app side, keep the scope straight. Change one product’s URL handle through Plug In AI and it sets that product’s 301 up automatically. A bulk handle rewrite never creates redirects for you, so those still need the manual pass. Plug In SEO’s broken link report is the other half. It finds the 404s already live on your store and lets you paste in a destination for each one.

Branch 3: discontinued, no replacement, but the page earns its keep

The bottom line: if the page has real traffic or real backlinks and nothing equivalent to redirect to, keep it live and change what it says.

Check three things before you decide. Clicks and impressions over the last 12 months, in Search Console. Referring domains pointing at that exact URL. And whether it ranks for anything broader than the product’s own name. A page ranking for “waterproof canvas dog coat” is an asset. A page ranking only for its own SKU code isn’t.

If it passes, the fix is editorial rather than technical. Say the product is discontinued in the first line of the description, and link to the nearest alternatives and the parent collection. Keep the specs and photos, because that’s the content stopping the page from looking like a soft 404. One markup note. Shopify’s automatic product markup only knows available and unavailable, so Discontinued isn’t a state it emits. Google does support https://schema.org/Discontinued alongside OutOfStock, BackOrder, PreOrder, SoldOut and LimitedAvailability. If you want that signal to be explicit, it goes in a custom JSON-LD block.

Branch 4: discontinued, no replacement, no traffic, no links

The bottom line: let it 404. This is a legitimate answer, and a store with 400 pointless redirects is worse off than a store with 400 honest 404s.

Archive or delete the product, then do the part everyone skips: remove the internal links still pointing at it. Menu entries, collection pins, “you might also like” blocks, blog posts, old campaign links. An internal link to a dead page is a signal you control and chose not to fix. After that, your 404 page catches whatever external links remain, which is exactly what a properly built 404 page is for.

What not to do is bulk-redirect the whole retired batch to your homepage or to one giant collection. It resolves with a 200, so it looks fine in a crawl report, but the visitor lands somewhere unrelated and has to start their search over.

Before
  • Sold-out products deleted the same afternoon, rankings and backlinks with them.
  • Retired SKUs bulk-redirected to the homepage.
  • Temporarily unavailable products set to Unlisted “for now.”
  • Internal menus and collections still linking to dead URLs.
After
  • Temporary stockouts stay live, indexable, with a restock capture on the page.
  • Retired SKUs 301 to their actual replacement, one by one.
  • Discontinued pages with traffic kept and rewritten, not deleted.
  • Worthless URLs 404 cleanly, with internal links cleaned up.

The variant case: one size sold out, product still live

The bottom line: do nothing. If the product still has one purchasable variant, the page is in stock and none of the four branches apply.

Deleting the sold-out variant is a common reflex and a bad one. It loses the variant’s history, breaks any link that pointed at that variant’s URL parameter, and gives you nothing back. Leave it in place, greyed out, and let the page keep selling the sizes you have.

Where noindex fits in out of stock SEO

The bottom line: almost nowhere. Noindex is for the narrow case where a page must stay reachable but has nothing worth indexing.

Mueller confirmed the mechanics work. “If you decide to noindex these pages… then when that state changes back, we should try to pick that up fairly quickly as well.” Fair enough, but that’s a description of recovery, not a recommendation. For a temporary stockout you’d be choosing to drop out of search voluntarily, then hoping to climb back. There is one reasonable case. Unavailability that’s indefinite rather than temporary, on a thin page you still need reachable for customers holding an old order confirmation. Trimming internal links to lower a page’s crawl priority is the gentler version of the same idea, and it doesn’t cost you the index entry.

A 20-minute audit of your out of stock pages

The bottom line: you don’t need a full site crawl. You need your zero-inventory list and Search Console side by side.

  1. Export every product with zero available inventory from Shopify admin.
  2. In Search Console, open the Pages report and note anything flagged Soft 404 or Crawled — currently not indexed.
  3. Cross-reference the two lists. The overlap is where you’re already losing index coverage.
  4. For each overlapping URL, ask the two questions: is it coming back, and does something replace it?
  5. Sort them into the four branches, then act in one pass rather than one at a time.
  6. Re-run it quarterly, or after any supplier change that retires a batch of SKUs.

Most stores find the same pattern on the first pass. A handful of pages that should never have been deleted, and a longer tail redirected somewhere unhelpful because a redirect felt safer than a decision.

Frequently asked questions

Does an out of stock product page hurt my Shopify SEO?

Not the rest of your site. Google’s John Mueller has said that one product going out of stock doesn’t affect the rest of the site’s rankings. That page alone can be dropped if it looks like a soft 404 — nothing on it but a disabled buy button.

Should I delete out of stock products on Shopify?

Only if it’s gone for good, nothing replaces it, and the page has no traffic and no backlinks. Deleting a page that ranks throws away years of history: Ahrefs found the average number-one ranking page is five years old, and only 1.74% of new pages reach the top ten within a year.

Should I 301 redirect a discontinued product to a collection page?

Only as a fallback. A redirect works best pointing at a genuinely equivalent product. If nothing equivalent exists but the page still earns traffic or links, keep it live and mark it discontinued instead. A collection page rarely answers the original query.

Is a 410 better than a 404 for a removed Shopify product?

No. Google’s documentation on HTTP status codes states that all 4xx errors except 429 are treated the same, and lists 404 and 410 under identical handling. Use whichever your setup returns naturally.

Does Shopify mark out of stock products in structured data automatically?

On a current default theme, yes. Dawn 16.0.0 uses Shopify’s structured_data Liquid filter, which outputs the offer’s availability and flips it to OutOfStock when the variant is unavailable. There’s no Discontinued state in that output, so a retired product needs custom JSON-LD.

What is Shopify’s Unlisted status for? Should I use it for sold-out items?

Not for sold-out items you want found. Shopify’s docs say unlisted products are hidden from internet search, Shopify Catalog and your store’s sitemap, reachable only with the direct URL. It’s for products you’re deliberately keeping off search, not stock that’s coming back.

How is this different from your Shopify redirects guide?

That guide is the how: setting up a 301 in admin, importing a batch by CSV, building a 404 page that keeps visitors moving. This one is the whether: which sold-out or retired pages get a redirect at all. Read this first, then the redirects guide to execute.

Sort your out of stock pages before Google sorts them for you

Once you’ve decided which URLs deserve a redirect, Plug In SEO does the legwork. It audits your store and flags the broken links a retired product left behind. Then its broken link report builds the 301 for each one, so your decisions actually land on the store.

Try Plug In SEO →