Out of Stock Products
How to handle out-of-stock and discontinued product pages for SEO: keep temporary stockouts live at 200 with OutOfStock schema, 301 permanent discontinuations to a relevant replacement, and avoid the soft-404 and noindex-toggle traps. Backed by Google's own guidance.
1 evidence signal on this page
- Related live toolPDP SEO Checker
Stockouts are inevitable; the wrong SEO response throws away rankings you'll want back. The decision splits three ways. Temporary (it'll return): keep the page live at 200 with substantive content, set schema availability to OutOfStock, and add a back-in-stock signup — don't 404, redirect, or toggle noindex. Permanently discontinued with a replacement: 301 to the genuinely similar replacement (Google doesn't guarantee a specific ranking or link-transfer outcome). Permanently discontinued with no replacement: 301 to the closest relevant page if it still has continuing value (support info, ongoing interest, or earned links), or 404/410 if there's nothing worth saving — 404s aren't a penalty. The two biggest mistakes are 404ing a page that has earned links (you lose that equity for nothing) and redirecting to an irrelevant page like the homepage (Google treats it as a soft 404, so the equity is lost anyway).
TL;DR — When a product sells out, don’t panic and delete the page. If it’s coming back, keep the page live and just mark it as out of stock — that way Google keeps the page in its indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. and notices the second it’s back. If the product is gone for good and you sell something similar, redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. the old page to that replacement. Only delete (let it 404) a product that’s gone for good and that nobody links to. The classic mistake is deleting a popular product page — you throw away all the links and rankings it earned, and you’d want those back when the next version launches.
The problem in plain terms
Products sell out. Lines get discontinued. That’s normal retail. The SEO mistake isn’t running out of stock — it’s reacting badly to it.
Every product page you’ve had for a while has quietly built up value: it ranks for searches, other sites link to it, people bookmark it. When you delete that page the moment it sells out, you throw all of that away. And if the product comes back in three weeks, you’re starting from scratch.
So the real question isn’t “is it in stock?” It’s “is this product coming back?” The answer points you to one of three responses.
The three situations
1. It’s temporarily out of stock (restocking soon).
Keep the page up. Don’t delete it, don’t redirect it. Just show that it’s out of
stock and, ideally, add a “notify me when it’s back” email box. Google keeps the
page in its results and can refresh it when recrawled Evidence for this claim A temporarily unavailable product can remain live and indicate its out-of-stock state. Scope: This is editorial guidance supported by Google's availability vocabulary; it is not a universal ranking guarantee. Confidence: medium · Verified: Google: Merchant listing availability — but that only holds while the
page still reads like a real product page. A 200 that’s been stripped down to a
bare “not available” message can still get quietly dropped, so keep the
description, specs, and reviews in place (more on this below).
2. It’s discontinued, but you sell a newer or similar version. Send people (and Google) to the replacement with a redirect — a permanent one, called a 301. The replacement has to be genuinely similar, though. Redirecting a discontinued blender to “all blenders” is fine; redirecting it to your homepage is not — Google sees through that and treats it as a dead page anyway.
3. It’s gone for good, with nothing to replace it. If the page still does a real job for someone — support info, ongoing search interest, links pointing at it — redirect it to the closest relevant category instead of losing that value. Earned links are one input into that call, not the only one. If it’s a nobody page that nothing links to and has nothing left to offer a visitor, it’s perfectly fine to just let it return a “not foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore.” (404). Despite the scary reputation, 404s don’t get you penalized — Google has said this many times. They’re the correct answer for pages that genuinely no longer exist. Evidence for this claim A 404 is a valid response for a product URL whose content permanently no longer exists. Scope: Consider relevant redirects or useful archive content when the old URL retains user value. Confidence: high · Verified: Google: HTTP status codes
What to put on a temporary out-of-stock page
A blank “Sorry, not available” page is the worst version. Keep it useful:
- A clear “Out of Stock” or “Sold Out” label (with the buy button greyed out, not hidden — Google’s shopping rules now require this).
- A “notify me when it’s back” email signup.
- An expected restock date, if you know it.
- Similar products people can buy instead.
- The full product description, photos, specs, and reviews — keep the page rich, because a thin “not available” page can get quietly dropped from Google.
The one thing not to do
Don’t keep flipping the page between “hide from Google” (noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.) and “show in Google” every time stock changes. Google’s John Mueller has warned that this back-and-forth confuses Google into treating the page like it’s dead, and then it crawls it less often — the opposite of what you want. Pick a treatment and leave it alone.
Want the technical version — exact status codes, the schema values, the soft-404 mechanics, and the link-equity math? Switch to the Advanced tab.
What should happen to this product URL?
Choose the treatment for an unavailable product
Out-of-stock mistakes that create larger SEO problems
Redirect every unavailable SKU to the home page
Why it fails: the destination does not satisfy the product intent and can be treated as a soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing.. Do instead: redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. only to a true replacement; otherwise keep useful content or return an honest 404/410.
Toggle noindex every time inventory reaches zero
Why it fails: temporary stock changes can cause repeated removal and rediscovery, while noindex does not preserve signals for another URL. Do instead: keep a temporarily unavailable product indexable and communicate availability in the page and feed.
Return a 404 while the page still looks live
Why it fails: shoppers and crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. receive conflicting signals, and existing links lead to an error response. Do instead: return 200 for a useful product page or make the removal explicit.
Leave schema, visible copy, and the merchant feed disagreeing
Why it fails: a page that says “sold out” while structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. or the feed says InStock sends inconsistent availability signals. Do instead: update all three surfaces together.
Diagnose unavailable-product failures
The URL is reported as a soft 404
Likely cause: it redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. to an irrelevant destination, or the 200 page has almost no useful product information. Fix: restore specifications, alternatives, and a clear availability state, or return a real 404/410 when the URL has no continuing value. Confirm the live response and inspect the URL again in Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results..
Search still shows the product as in stock
Likely cause: visible availability changed but Product markupProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two., Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. data, or a cached client-rendered state did not. Fix: align the visible page, structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., and feed; then validate the rendered markup and request a recrawlCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial. when appropriate.
The replacement redirect lands on another unavailable item
Likely cause: a catalog rule selected a nearby SKU without checking its lifecycle or stock state. Fix: point directly to a stable equivalent product or a relevant category, then check the final destination and remove any redirect chainA → B → C instead of A → C. Each hop loses link equity and adds latency..
A restocked product no longer receives organic visits
Likely cause: the URL was noindexed, removed from internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., or redirected during the outage. Fix: restore a 200 response, self-canonical, crawlable internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them., correct availability, and sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. inclusion; verify each signal before waiting for recovery.
Simplified product-lifecycle examples
Temporary stockout: preserve the product page
Before: /products/trail-shoe-8/ redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. to /shoes/ as soon as inventory reaches zero.
After: the product URL stays live with its specifications, reviews, OutOfStock availability, a restock alert, and links to close alternatives. The page still answers the query while clearly setting expectations.
Discontinued product with a true successor
Before: the old product returns a 404 even though the new generation is the direct replacement.
After: the old URL uses one 301 hop to the successor. The destination explains the new model and satisfies the same core intent.
Discontinued product without an equivalent
Before: every retired SKU redirects to the home page.
After: a product with lasting support value remains as an archive with alternatives; a valueless SKU returns 404/410. The response matches what the visitor actually receives.
Patrick's relevant free tools
- Schema Markup Validator — Paste JSON-LD or a full HTML page and get severity-tiered structured-data validation — schema.org vocabulary, Google rich-result requirements, cross-block @id graph checks, and a corrected copy-pasteable JSON-LD block.
- Rich-Result Eligibility Checker — Paste JSON-LD, an HTML page, or fetch a live URL and compare detected types with the Google rich-result requirements this tool tracks — ✓ requirements met, ✗ a missing required field, ⚠ recommended fields — across Product, Article, Recipe, Video, Event, JobPosting, Breadcrumb, Organization, and more. Analysis runs in your browser; Google alone decides whether a result appears.
Tools for validating an out-of-stock treatment
- PDP SEO Checker checks raw product markupProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two., availability, price, and visible-price consistency before a stock-state change ships.
- HTTP Status Checker confirms whether a product URL returns the intended 200, redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., 404, or 410 response.
- Redirect Chain Mapper follows discontinued-product redirects so a replacement does not inherit a slow or fragile chain.
- Google Index Checker organizes the indexability signals to review after a URL is restored or retired; it does not claim to query Google’s private indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. directly.
Prove the stock-state change shipped correctly
Temporary stockout test
Test to run: fetch the product URL and run its HTML through the PDP SEO Checker. Expected result: the URL returns 200, visible copy says the item is unavailable, and product availability is OutOfStock. Failure interpretation: the template, markup, or client-rendered state is out of sync. Monitoring window: the HTTP and raw-markup checks are immediate; search changes require recrawling. Rollback trigger: the release removes the product content, blocks the URL, or publishes contradictory availability.
Replacement redirect test
Test to run: inspect the old URL with the Redirect Chain Mapper. Expected result: one permanent redirectA 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank. reaches the intended in-stock replacement. Failure interpretation: a rule created a chain, loop, or irrelevant destination. Monitoring window: the redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. is verifiable immediately; search-signal consolidation takes longer. Rollback trigger: the target does not satisfy the original intent or later becomes unavailable without a valid next step.
Restock recovery test
Test to run: confirm the restored URL returns 200, is indexable, self-canonical, internally linked, and marked InStock on the page and in the feed. Expected result: all signals agree on the same live URL and stock state. Failure interpretation: an outage-era directive or link change remains active. Monitoring window: technical signals are immediate; Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. and search performance lag recrawling. Rollback trigger: inventory is not actually available or checkout cannot complete.
Measure unavailable-product health over time
Unavailable URLs with conflicting signals
Metric: count and share of unavailable product URLs whose response, visible copy, structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., and feed disagree. What it tells you: whether stock transitions are producing contradictory technical states. How to pull it: join a scheduled crawl with catalog and Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. exports. Benchmark / realistic range: establish a store baseline and drive confirmed conflicts toward zero; the raw count depends on catalog size and stock volatility. Cadence: weekly for volatile catalogs and after template releases.
Organic demand retained during temporary stockouts
Metric: clicks and impressions for temporarily unavailable URLs compared with each URL’s own in-stock baseline. What it tells you: whether useful pages continue to capture demand while inventory is absent. How to pull it: segment affected pages in Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. and annotate stockout dates. Benchmark / realistic range: compare like-for-like periods and query mix rather than imposing a universal percentage. Cadence: weekly during the stockout and once after restocking.
Retired-product destination quality
Metric: retired URLs ending in one valid response versus chains, soft-404 candidates, or irrelevant redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.. What it tells you: whether lifecycle rules create useful final destinations. How to pull it: crawl the retired-URL list and classify final responses and targets. Benchmark / realistic range: use the first complete retirement crawl as the baseline; any loop or irrelevant mass redirect deserves review. Cadence: monthly and after bulk catalog retirement.
Test yourself: out-of-stock product SEO
Five questions on choosing and validating the right treatment for unavailable products.
TL;DR — The treatment is driven by one question: is the product coming back? Temporary → keep the URL live at
200, setOffer.availabilitytoOutOfStock, keep substantive content, add a back-in-stock signup, and update the Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. feed (the feed propagates faster than a page re-crawl). Don’t togglenoindexwith stock status — Mueller says the fluctuation makes Google treat the page like a 404 and crawl it less. Permanently discontinued with a genuinely similar replacement →301to it. Permanently discontinued with no replacement →301to the closest relevant page if it still has continuing value (support info, ongoing interest, or earned links), else404/410(404s are not a penalty). The two failure modes that actually cost you: 404ing a backlinked page (equity lost for nothing) and redirecting to an irrelevant page like the homepage (Google reads it as a soft 404, so the equity is lost anyway). Watch for the soft-404 trap: Google can algorithmically demote a200out-of-stock page if its text reads like “no longer available” or the content is thin — substantive content is the defense.
Start with the right question
The HTTP status, the structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., and the on-page content all flow from one decision: is this product coming back? Three branches:
- Temporary — it’ll be restocked (including seasonal recurrences).
- Permanently discontinued, replacement exists — you carry a genuinely similar successor.
- Permanently discontinued, no replacement — it’s gone, and nothing replaces it.
Everything below hangs off this. My own take on it, going back to my Ahrefs writeup on out-of-stock products, is that there’s no universal right answer — it depends — so the practical move is to set rules you’re comfortable with and apply them consistently rather than hand-deciding every SKU.
First ask whether the product is coming back. If yes, keep the page live and indexable at 200, set OutOfStock, and retain useful content and a notify-me option. If no, ask whether a genuinely similar replacement exists; if it does, 301 redirect to it and update internal links. Without a replacement, ask whether the old URL has links, traffic, or reference value. Preserve valuable URLs with a useful 200 tombstone or a redirect to the closest relevant category. Return 404 or 410 when there is no value to preserve.
© Patrick Stox LLC · CC BY 4.0 ·
Branch 1 — temporary: keep the page live at 200
This is the default for anything that’s coming back. Keep the URL returning 200,
keep it indexable, and tell search engines it’s unavailable through structured
data, not by removing the page. John Mueller’s framing from a 2021 Office Hours
is the clearest statement of why:
“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. Then we can at least kind of like keep this URL in our indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. and keep refreshing it regularly to pick up that change in availability as quickly as possible.”
So the recipe is:
- HTTP status:
200. - Structured data: set the
Offer.availabilitytohttps://schema.org/OutOfStock. Keep the price and currency in the markup — the offer still describes a real product. Evidence for this claim Schema.org and Google support OutOfStock as an Offer availability value. Scope: Visible page content, structured data, and product data should describe the same actual state. Confidence: high · Verified: Schema.org: OutOfStock Google: Merchant listing availability - On-page content: keep the full description, specs, images, reviews, and a back-in-stock notification signup. (Restock estimates, waitlists, and notify-me forms are the customer-friendly features that also keep the page substantive.)
- Internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them.: leave them in place. Mueller notes that linking a page from the homepage signals importance and gets it re-crawled faster — useful when you want a restock noticed quickly.
Update the Merchant Center feed too
If you’re in Shopping, your product feed is a parallel — and often faster —
channel than waiting for a page re-crawl. Set the feed availability to
out_of_stock so it matches the page. This matters because a mismatch is a
disapproval: if the page shows out of stock but the feed says in_stock (or
vice versa), Google disapproves the product. Keep the page, the feed, and the
schema saying the same thing. Evidence for this claim Merchant Center requires submitted availability to match the landing page and product's actual availability. Scope: Mismatches can produce item issues; automatic updates do not replace accurate source data. Confidence: high · Verified: Google: Availability specification
Keep the two systems mentally separate. The schema.orgSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. Offer.availability value
on the page (OutOfStock, InStock, Discontinued, and so on) is Search’s
structured-data vocabulary; the Merchant Center feed’s availability attribute
uses its own, smaller set of literal submitted values (in_stock, out_of_stock,
preorder, backorder) and governs Shopping ads and free listingsFree product listings (originally launched as \"Surfaces across Google\" in 2020) are unpaid, organic product placements Google generates from your Merchant Center feed or on-page Product structured data. There's no bid and no CPC — Google matches your product data to a query and decides whether and where to show it — across the Shopping tab, Google Search (Popular Products grids), Images, Lens, Maps/Business Profile, YouTube, and Gemini; AI Mode and AI Overviews aren't on Google's official surfaces list, though practitioner reporting links them to the same eligibility pool. They're enabled by default in most cases for new Merchant Center accounts., not organic
indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. or ranking. Google’s Merchant Center docs describe several schema.org
values folding into the narrower feed vocabulary, but don’t treat the two as
interchangeable in your own copy — a disapproval is a Merchant Center/Shopping
outcome, not a signal about how the page ranks in regular Search results.
Branch 1b — seasonal: keep live, soften the linking
Seasonal items (holiday goods, event-tied products) are just temporary stockouts on a schedule. Mueller’s guidance is to keep the page up with a good “coming soon” experience, pull it from prominent internal linkingLinks between pages on the same site. during the off-season, and restore those links when it returns — rather than deleting and rebuilding the URL each cycle.
For genuinely time-bound listings with a known end date, Google’s robots meta
tag supports unavailable_after, which tells Google to stop showing the page after
a specified date:
<meta name="robots" content="unavailable_after: 2026-12-31" />It accepts RFC 822, RFC 850, and ISO 8601 date formats; an invalid format is ignored, and Google decreases the crawl rateCrawl rate is how fast a search engine crawler fetches pages from your site — the number of simultaneous requests it makes and the delay between them. Google sets it automatically based on your server's health; it's the supply side of crawl budget, not a ranking factor. of the URL considerably after the date passes. This is a niche tool — right for auction-style or event listings, wrong for anything that might be restocked on no fixed schedule.
One variant out of stock isn’t the whole product out of stock
Availability can differ by variant — one color or size sells out while the rest of
the family is fine. Merchant Center’s landing-page rules require the linked page
to identify the submitted variant and recommend preselecting it, so a shopper (and
Google) can tell which option the listing describes. Treat this as a narrower
decision than the whole-product branches above: a single sold-out variant
shouldn’t automatically flip the parent product’s status, canonical, or retirement
treatment. Mark the unavailable variant’s own offer OutOfStock (or Discontinued
if that specific option is gone for good), keep the other variants live and
purchasable, and only fall into Branch 1–3 above once every variant on the page is
unavailable.
Branch 2 — discontinued with a replacement: 301
If you’ve genuinely replaced one product with another, redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.:
“If you’re really replacing one product with another it might make sense to just redirect.”
A 301 to a closely comparable replacement can carry forward the link value the
old page earned — if the pages are similar enough. That’s a practitioner rule of
thumb, not a Google guarantee: Google documents the redirect mechanism and
destination-relevance guidance, but it doesn’t publish a transfer percentage or
promise a specific ranking outcome for any individual redirect. The catch is
relevance: the redirect target has to actually be the same kind of thing. Which
leads to the most common mistake.
Branch 3 — discontinued, no replacement
Two sub-cases, decided by whether the URL still does a real job for someone — not by backlinks alone.
It still has continuing value — support info, ongoing search interest, or
earned links/traffic. 301 to the closest relevant page — usually the parent
category. The homepage is a last resort, and a weak one. Google can treat a
redirect from a specific product to an irrelevant page (like the homepage) as a
soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing., in which case the link equityPageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems. is lost anyway — you got the downside
of a 404 without the cleanliness of one. So redirect to relevance, or don’t
redirect.
It has nothing worth keeping. Let it 404 (or 410 for “permanently gone,”
which Google processes a touch faster). This is the technically correct answer and
it is not a penalty. Gary Illyes put it bluntly: “Whoever came up with the
idea that having 404s gives a site any sort of penalty, you’re wrong. Utterly
wrong.” Mueller’s more recent position is the same — proper error codes are the
right way to handle URLs that no longer exist, even at large scale.
Or keep it as a tombstone. The test is whether the page still does a genuine
job for someone: ongoing search interest, support documentation, compatibility
notes, or a natural place to point to a successor. Backlinks are one input into
that decision, not the trigger on their own — a page with links but nothing left
to tell a visitor is a worse tombstone candidate than a page with real reference
value and no links at all. When it passes that test, keep the page live and set
availability to
https://schema.org/Discontinued, explaining
that it’s been discontinued and pointing to alternatives. Do this for a
user-focused reason — not “just for SEO.” Keeping a dead page indexed purely
to hoard a little link equity, with nothing useful on it, is how you end up with a
soft 404 anyway.
The soft-404 trap
Here’s the mechanic that catches people: Google can demote a perfectly valid 200
out-of-stock page by algorithmically classifying it as a soft 404 — based on
the content, not the status code. Mueller has been explicit:
“when [we] see that something is out of stock, we will assume it’s more like a soft 404 errorA soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing., where we will drop that URL from the search results as well.”
What triggers it is the page reading like a dead end — text like “this product is
no longer available,” or a thin template with no real product information. The
status code says 200; Google’s content analysis overrules it. There’s no fixed
timeframe for this — it’s content-driven, not a countdown.
The defense is substance. As Mueller put it, it doesn’t have to happen at all:
“if you have a lot of information about that product anyway on those pages, then that page can still be quite relevant for people who are searching for a specific product.”
So keep the description, specs, reviews, related products, and a notify-me form on the page. And the reassuring part — this is a per-page concern, not a site risk:
“even if one product goes out of stock, the rest of the site’s rankings are not affected by that.”
You’ll find flagged pages under Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. → Pages → Not indexed → Soft 404.
The noindex-toggle trap
Tempting idea: noindex products while they’re out of stock, then remove it when
they’re back. Don’t. Mueller’s warning is specifically about the fluctuation:
“if we see a page that is noindexed for a longer period of time we will assume that this is kind of like a 404 page and we don’t have to crawl it that frequently.”
“fluctuating with the noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. meta is counterproductive here, if you really want those pages to be indexed every now and then.”
The toggling teaches Google to crawl the page less, which makes re-indexing slower
when the product returns — the exact opposite of the goal. noindex also cuts off
the flow of PageRankPageRank is Google's original recursive link-graph algorithm: a page's score depends on the scores of the pages linking to it, and in the published model each page's score is split across its outbound links (the simplified version: links are weighted votes). Google says it's evolved since launch but still part of its core ranking systems. through the page. If a product is coming back, leave it
indexable with OutOfStock schema and let the structured data carry the signal.
The link-equity math
The whole reason 404ing a popular product is wasteful: a page with external
backlinks that returns 404 stops passing that link equity to the rest of your
site. The links don’t transfer; they just evaporate. That’s the cost — not a
penalty, just pointless waste. So before you delete anything at scale, find out
which dead/dying product URLs actually earned links:
- Ahrefs → Site Explorer → Best by links, filtered for
404/410, surfaces removed pages that still have backlinks — your redirect candidates. - Ahrefs → Site Audit → Links report finds the internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. still pointing at dead products and any redirect chainsA → B → C instead of A → C. Each hop loses link equity and adds latency. to clean up.
- Site Audit → page content / HTML search for “out of stock” text shows where that messaging appears across the crawl, so you can audit it at scale.
Redirect the ones with equity to a relevant page; 404 the rest with a clear conscience.
The 2026 Merchant Center buy-button rule
If you run Shopping ads or free listings, note a March 2026 policy tightening:
out-of-stock product landing pages must show a visibly disabled (greyed-out) buy
button or clear “Sold Out” / “Item Not Available” text. An active buy
button on an out-of-stock page is non-compliant — and so is a hidden or removed
one. Non-compliant landing pages get disapproved. Note what this rule does not
say: it does not require a 404. Keeping the page live at 200 with proper “out of
stock” messaging and a disabled buy button is fully compliant.
Where this sits in the cluster
Out-of-stock handling is one slice of ecommerce site structure. It connects
directly to product page SEOProduct page SEO is the practice of optimizing an individual product detail page (PDP) so it ranks in organic search and earns rich results. It blends unique product copy, structured data, variant canonicalization, image SEO, and customer reviews — but the structured data earns rich results and eligibility for free product listings, it doesn't make the page rank.
(the schema and content that keep these pages substantive),
category pagesCategory page SEO is the practice of optimizing an ecommerce listing page (also called a PLP or collection page) — the page that groups products under a classification like /shoes/running/ — so it ranks for broad commercial queries and routes crawlers and link equity to the products beneath it. (your most
common redirect target), and the broader
Ecommerce SEOEcommerce SEO is the practice of optimizing an online store so its product and category pages rank in organic search and attract purchase-intent visitors. It uses the same Google algorithm as any other site, but compounds the usual SEO work with commerce-specific challenges like faceted navigation, product variants, and platform-imposed URLs. pillar. The redirect-vs-404 decision is a
general technical-SEO pattern too — the difference between a clean 404/410 and
a misfiring redirect that Google reads as a soft 404 applies well beyond
products.
AI summary
A condensed take on the Advanced version:
- One question drives everything: is the product coming back? That decides the HTTP status, the structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., and the page content.
- Temporary stockout → keep the page at
200. SetOffer.availabilitytoOutOfStock, keep full content + a back-in-stock signup, and update the Merchant Center feed (faster than a re-crawl). Mueller: keeping the URL indexable lets Google “keep refreshing it regularly to pick up that change in availability as quickly as possible.” - Discontinued with a genuinely similar replacement →
301to it. Can carry link value forward when the pages are close enough — not a guaranteed transfer. - Discontinued, no replacement →
301to the closest relevant page if it still has continuing value (support info, ongoing interest, or earned links); else404/410. 404s are not a penalty (Illyes, Mueller). Backlinks are one input into the tombstone call, not the trigger — keep aDiscontinuedtombstone only for a real user reason, not “just for SEO.” - Soft-404 trap: Google can demote a valid
200out-of-stock page based on content — thin pagesThin content is web content that provides little or no value to users. Google's spam policies name it 'thin content with little or no added value' — and it's about value per page, not word count. or “no longer available” text read like dead pages. Substantive content is the defense; there’s no fixed timeframe. - noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.-toggle trap: flipping
noindexwith stock status makes Google crawl the page less and re-indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. slower. Don’t. - Two costly mistakes: 404ing a backlinked page (equity lost for nothing) and redirecting to an irrelevant page like the homepage (Google reads it as a soft 404, equity lost anyway).
- 2026 Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. rule: out-of-stock pages need a disabled (greyed-out) buy button or “Sold Out” text — an active or hidden button is non-compliant. A 404 is not required.
Official documentation
Primary-source guidance from the search engines and schema.orgSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor..
Google — Search Central
- Don’t remove products / temporarily pause an online business — Google’s explicit “don’t remove out-of-stock products from Search” guidance and the recommended alternatives (update structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., follow Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. best practices, request a recrawlCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial.).
- Robots meta tag specifications — the
unavailable_afterdirective for time-bound listings, and the supported date formats. - Merchant listing structured data — the supported
availabilityvalues and the “don’t specify more than one value” rule. - Product snippet structured data — markup for pages where the product can’t be directly purchased.
Google — Merchant Center
- Availability
[availability]— the feed values (in_stock,out_of_stock,preorder,backorder) and the disapproval that follows a page/feed mismatch.
Schema.org
- ItemAvailability — the full enumeration (
InStock,OutOfStock,Discontinued,PreOrder,PreSale,SoldOut,LimitedAvailability,OnlineOnly,InStoreOnly,BackOrder,MadeToOrder,Reserved). - OutOfStock / Discontinued — the two values most relevant to stockouts.
Bing
- 404 pages best practices — Bing’s guidance on removing pages (404/410 or
noindex) and redirecting to updated content; supports IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. for faster notification of changes.
Quotes from the source
On-the-record statements from Google. John Mueller has spoken about out-of-stock handling many times; these are the verbatim passages that matter, with their provenance.
Google’s documented position — don’t remove out-of-stock products
- “No. If you do this, customers won’t be able to find first-hand information about your products on Search, and there might still be third-party information for the product that may be incorrect or incomplete.” — Google Search Central docs, answering whether to use the URL Removal Tool for out-of-stock products. Jump to the doc
John Mueller — keep temporary stockouts live (Google Search Central Office Hours, Oct 29 2021)
- “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 dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. you tell
us this product is currently not available. Then we can at least kind of like
keep this URL in our indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. and keep refreshing it regularly to pick up that
change in availability as quickly as possible.”
Relayed via Search Engine Journal’s transcript of the Oct 2021 hangout; treated as near-verbatim. Coverage
John Mueller — the noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.-toggle trap
- “if we see a page that is noindexed for a longer period of time we will assume that this is kind of like a 404 page404 Not Found is the HTTP client-error status code a server returns when it can't find the requested URL — RFC 9110 defines it as no current representation, or unwillingness to disclose one. A \"hard 404\" actually returns the 404 status; a \"soft 404\" returns a success code (like 200) for a page that's really gone. 404s are normal and expected: the fact that some URLs 404 doesn't affect your site's other, successful pages, and Google de-indexes 404'd URLs over time (probably retrying for some period, less and less often). and we don’t have to crawl it that frequently.”
- “fluctuating with the noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. meta is counterproductive here, if you really want
those pages to be indexed every now and then.”
Relayed via Search Engine Journal. Coverage
John Mueller — redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. vs. soft 404sA soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. (Google Webmaster Hangout, Feb 2019)
- “If you’re really replacing one product with another it might make sense to just redirect.”
- “If one product is gone completely and is no longer available then you could put it in this soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. state where you say this product is no longer available.”
- On why a redirect can backfire: “I suspect what is happening here is that our
algorithms are looking at these pages and they’re seeing maybe there’s a banner on
the page saying ‘this product is no longer available.’”
Relayed via Search Engine Journal. Coverage
John Mueller — out-of-stock pages and the soft-404 risk (Google SEO Office Hours, ~Apr 2022)
- “when [we] see that 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.”
- “It doesn’t have to be the case. In particular, if you have a lot of information about that product anyway on those pages, then that page can still be quite relevant for people who are searching for a specific product.”
- “even if one product goes out of stock, the rest of the site’s rankings are not
affected by that.”
Relayed via Search Engine Journal. Coverage
Gary Illyes — 404s are not a penalty
- “Whoever came up with the idea that having 404s gives a site any sort of
penalty, you’re wrong. Utterly wrong.”
Widely-quoted statement from Gary Illyes (Google), relayed via The SEM Post. Coverage
Note: the Office Hours and hangout quotes above come from industry transcripts
(SEJ), not from a Google-hosted verbatim source page, so they carry no
#:~:text= deep link; treat them as near-verbatim relayed quotes. The
pause-online-business quote links directly to Google’s documentation.
Out-of-stock handling checklist
Run this when a product goes unavailable.
First, classify it
- Is it coming back (temporary/seasonal), discontinued-with-replacement, or gone-for-good?
Temporary stockout
- Page returns
200(not redirected, not 404’d). -
Offer.availabilityset toOutOfStockin the structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding.. - Price and currency kept in the markup.
- Full content retained — description, specs, images, reviews.
- Back-in-stock / notify-me signup present.
- Buy button visibly disabled (not hidden, not active) — Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. compliant.
- Merchant Center feed
availabilityset toout_of_stock(matches the page). - Internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. left intact (homepage link if you want a fast restock re-crawl).
- Not toggling
noindexon/off with stock status.
Discontinued with a replacement
-
301redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. to a genuinely similar replacement product. - Internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. updated to point at the replacement, not the dead URL.
Discontinued, no replacement
- Checked continuing value: backlinks/traffic (Ahrefs → Best by links, filter
404/410), plus support info or ongoing search interest. - Has continuing value →
301to the closest relevant category (not the homepage). - Nothing worth keeping →
404or410. - Keeping a
Discontinuedtombstone? Only with a real user reason and substantive content — backlinks alone aren’t the trigger.
Audit pass
- Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. → Pages → Not indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. → Soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. reviewed.
- No internal links left pointing to 404’d products.
- No redirect chainsA → B → C instead of A → C. Each hop loses link equity and adds latency. created.
The mental models
1. One question, three branches. Don’t decide on status codes first — decide on the product. “Is it coming back?” routes you:
- Yes (temporary/seasonal) → keep live
200+OutOfStockschema. - No, but there’s a similar replacement →
301to the replacement. - No, nothing replaces it →
301to relevance if it still has continuing value, else404/410.
2. Status code follows the product’s reality.
200 = “still a real, returning offer.” 301 = “this lives somewhere else now.”
404/410 = “this genuinely no longer exists.” Pick the one that’s true —
mismatches (a redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. that’s really a dead end, a 200 page that reads like a 404)
are what create soft-404 problems.
3. Content is the soft-404 defense. Google classifies soft 404sA soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing. on content, not status. A thin “not available” page gets dropped; a rich page with specs, reviews, and alternatives survives. The fix for “Google dropped my out-of-stock page” is almost always more substance on the page, not a different status code.
4. Equity is the thing you’re protecting. The point of all of this is to not waste the links and rankings a page earned. 404ing a backlinked page wastes it; redirecting to an irrelevant page wastes it (soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing.). Both downsides, no upside. Spend redirects where there’s equity, and 404 the rest without guilt.
5. Stability beats cleverness.
noindex toggling, frequent redirect changes, and on/off availability flips all
confuse Google and slow re-crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor.. Set rules you’re comfortable with and apply
them consistently — the consistency is itself an SEO benefit.
Out-of-stock cheat sheet
Decision table
| Scenario | HTTP status | Schema availability | Internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. | Notes |
|---|---|---|---|---|
| Temporary (known restock) | 200 | OutOfStock | Keep | Add notify-me; update feed to out_of_stock |
| Temporary (uncertain) | 200 | OutOfStock | Keep | Don’t toggle noindex |
| Seasonal (recurring) | 200 | OutOfStock ↔ InStock | Soften off-season, restore in-season | ”Coming soon” UX; unavailable_after if date-bound |
| Indefinite | 200 → reassess | OutOfStock → review | Keep, review periodically | No Google deadline; revisit |
| Discontinued, has replacement | 301 → replacement | n/a (page is gone) | Repoint to replacement | Only if genuinely similar |
| Discontinued, no replacement, has continuing value | 301 → relevant category | n/a | Repoint | Not the homepage; backlinks are one input, not the trigger |
| Discontinued, no replacement, nothing worth keeping | 404/410 | n/a | Remove | 404 is not a penalty |
| Archive / tombstone | 200 | Discontinued | Moved to archive | Keep for a real user reason, with content |
OutOfStock vs Discontinued vs SoldOut
OutOfStock— may return. The default for temporary stockouts.Discontinued— never returning; use on tombstone pages you keep live.SoldOut— effectively the same asOutOfStock;OutOfStockis the safer, more broadly understood choice.BackOrder— accepting orders now for later fulfillment (match the feed).
Status codes
200— live; carries theOutOfStock/Discontinuedschema signal.301— permanent move; consolidates equity to a relevant target.404— gone; drops from the indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. over time.410— permanently gone; processed a touch faster than404.
Merchant CenterGoogle Merchant Center (GMC) is a free platform where retailers upload and manage product data so their products can appear across Google — Shopping, organic Search product grids, Images, Lens, and AI surfaces. Since 2020 it powers free (organic) product listings, not just paid Shopping ads. 2026 buy-button rule
- Required: disabled (greyed-out) buy button OR clear “Sold Out” / “Item Not Available” text.
- Non-compliant: an active buy button on an out-of-stock page.
- Non-compliant: a hidden/removed buy button.
- A
404is not required for compliance.
Traps
- noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed. toggling → slower re-crawl/re-index.
- Homepage/irrelevant redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. → treated as soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing., equity lost.
- Thin “not available” text → algorithmic soft 404.
- Page/feed availability mismatch → product disapproval.
Find redirect candidates (Ahrefs)
- Site Explorer → Best by links → filter
404/410→ pages with equity to rescue. - Site Audit → Links → internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them. to dead products + redirect chainsA → B → C instead of A → C. Each hop loses link equity and adds latency..
Out of Stock Products
An out-of-stock product page is a product URL whose item can't currently be bought. The right SEO treatment depends on whether the stockout is temporary, indefinite, or permanent — keep temporary stockouts live at 200 with OutOfStock schema; 301 permanently discontinued products to a relevant replacement.
Related: Product Page SEO, Soft 404, 301 redirect
Out of Stock Products
An out-of-stock product page is a product detail page whose item is temporarily or permanently unavailable for purchase. The SEO question isn’t “is it in stock?” — it’s how you handle the HTTP status, the structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., and the on-page content so search engines understand the availability correctly, and so the rankings and links the page has earned aren’t thrown away.
The decision splits three ways:
- Temporary stockout (it’ll be back). Keep the page live at
200, set the schemaavailabilitytoOutOfStock, and keep substantive content on the page — description, specs, related products, a back-in-stock signup. Don’t 404 it, don’t redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. it, and don’t togglenoindexon and off. Google’s John Mueller has said keeping the URL indexable lets them refresh it and pick up the availability change as fast as possible. - Permanently discontinued with a replacement.
301redirect to the genuinely similar replacement product. That can carry link value forward if the pages are close enough — Google doesn’t guarantee a specific ranking or transfer outcome. - Permanently discontinued with no replacement.
301to the most relevant alternative (a category page, or the homepage only as a last resort) if the page still has continuing value — support info, ongoing interest, or earned links — or404/410if there’s nothing worth saving; 404s aren’t a penalty. Keep the page live as aDiscontinuedtombstone only for a genuine user reason, not “just for SEO”; backlinks are one input into that call, not the trigger.
The recurring failure modes: 404ing a popular product that has accumulated links (you lose that equity for nothing), toggling noindex with stock status (Google starts treating the page like a 404 and crawls it less), and redirecting to an irrelevant page like the homepage (Google can treat that as a soft 404A soft 404 is a URL that returns a success status code (usually 200 OK) even though the page is empty, missing, or shows a 'not found' message. It isn't a status code a server sends — it's a label search engines apply after comparing the response code against the rendered content, and they treat the page like a 404 for indexing., so the equity is lost anyway).
Related: Product Page SEO, Soft 404, 301 redirect
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Updated Jul 18, 2026.
Editorial summary and recorded change details.Summary
Softened backlink/link-equity framing so redirects and tombstone retention aren't overstated as a guaranteed value transfer, separated Merchant Center feed enforcement from Search indexing/ranking, and added variant-level availability coverage.
Change details
-
Reframed the permanent-discontinuation branch (Beginner and Advanced) around continuing user value — support info, ongoing interest, or earned links — rather than backlinks alone as the trigger for a redirect or tombstone.
-
Softened the 301-to-replacement language to note Google doesn't guarantee a specific ranking or link-transfer outcome, matching the sibling discontinued-products article.
-
Added a One variant out of stock isn't the whole product out of stock section (Advanced lens) covering single-variant availability separate from whole-product lifecycle decisions.
-
Clarified that Merchant Center's feed availability vocabulary and enforcement is a Shopping-surface outcome, distinct from schema.org's Offer.availability vocabulary and from organic Search indexing or ranking.
Full comparison unavailable — no prior snapshot was archived for this revision.