Out of stock product pages: keep, redirect or retire
You have a product that just sold out. Your choice now decides if you keep rankings, pass them on, or waste them. This guide gives the rule, the page changes to make, and the redirects to use.
By Théophile Louvart, founder of Porteur · Updated 14 September 2026 · Markdown
Decide first: temporary or permanent
Decide in one minute. Is this product coming back, yes or no. If you sell a near match, note the closest alternative now.
- Temporary: on order, back soon, supply delay, size or colour out, seasonal item due next season
- Permanent: discontinued by you or the maker, never returning, superseded by a new model
This choice sets the URL’s fate. Keep and update for temporary. Redirect or retire for permanent. Do not guess. Ask your buyer or supplier if needed.
What to show on a temporary out of stock page
- A clear stock status near the price and button
- A disabled add to cart with a signpost: “Out of stock”
- A “Notify me” form that works without pop ups or third party redirects
- Two to six close alternatives, with images and prices
- A link to the parent category, “See all mugs”
- Variant handling: show in-stock variants first
Avoid thin pages. Do not strip content when stock is gone. Keep the description, specs, images and reviews. This keeps the page useful and indexable.
If only some variants are out. Keep one product page. Either give variants their own URLs when there is search demand, or keep one canonical to the parent. Stay consistent, as of 2026 this aligns with Google’s e-commerce guidance.
If permanent: redirect or retire it cleanly
A product that will never return should not sit live with no stock forever. Choose a 301 redirect or a 410 Gone.
| Case | Action | Target URL | Result in Search |
|---|---|---|---|
| Superseded by a direct replacement | 301 redirect | New product page | People and signals go to the new item |
| Closest alternative exists | 301 redirect | Nearest in-stock product or the parent category | Keeps users in flow and passes signals |
| No suitable alternative | 410 Gone | None | Search can drop the URL over time |
Pick the closest match. If that is unclear, use the parent category. Do not chain redirects. Point old to new in one hop. Update all internal links to the new target now.
Map the old URL
List /products/blue-mug as gone for good.
Choose the destination
If /products/navy-mug is the nearest, use that. If not, use /collections/mugs.
Create the 301
Set a permanent redirect. In Shopify use URL redirects in admin. Avoid 302 for permanent moves.
Fix links
Change links in menus, categories, blogs, emails and ads. Remove the old URL from featured blocks.
Remove from feed
Take the discontinued item out of your Merchant Center feed so listings stay accurate.
Use 410 Gone only when there is no replacement at all. It is a clear end state. The page will fall out of the index in time and free crawl budget for other pages.
Seasonal, preorders and long backorders
Seasonal items return on a predictable cycle. Keep the URL live all year. Mark it out of stock off season. Link to the evergreen category and the closest all-year product.
If you collect preorders. Say “Preorder” and the expected ship window on the page. Keep the Product structured data aligned with the offer status and price. Do not promise a date you cannot meet.
For long backorders. Keep the page live. Set expectations. Use the notify form. If buyers must choose another item, push the closest alternative higher on the page for now.
What Google shows in each case
- Kept live and marked unavailable: the page can appear in Search and Images. Product data can help rich results when eligible.
- Feed-driven surfaces: Merchant Center free listings read your feed, which must match the page’s price and availability.
- 301 to a close match: the target can inherit demand and links. The old URL can drop as Google crawls and sees the redirect.
- 410 Gone: the URL can drop once recrawled. Expect any residual impressions to fade.
Your Business Profile is separate. Stock status shown there depends on your local integrations. Keep your product feed and page in sync to avoid mismatch across surfaces as of 2026.
Structured data and feeds: keep them in sync
Google supports Product structured data with offers, availability, price and reviews. It also supports product data by feed via Merchant Center. Keep both aligned.
Update the page first
Change the UI to show out of stock. Disable purchase. Keep images and specs.
Update structured data
Set the offer to show the true availability and price. Keep the same product identifier and image URLs.
Update your feed
Send the same availability and price to Merchant Center. The feed must match the page content.
Validate
Use Google’s Rich Results Test and Merchant Center diagnostics. Fix mismatches and missing fields.
If you cannot maintain both yet, prioritise the page accuracy. Do not show “In stock” in one place and “Out of stock” in another. That creates trust issues and can cause feed errors.
Platform notes: Shopify and common setups
Shopify uses fixed URL patterns: /products/handle, /collections/handle, and /collections/handle/products/handle with a canonical to /products/handle. Leave that canonical in place.
- Use Shopify URL redirects for 301s when you retire a product
- Check your theme outputs Product structured data with an offer and availability
- Alt text is per image, keep it for out-of-stock variants too
- Robots.txt is editable via robots.txt.liquid if you must disallow messy facet parameters
- Shopify builds sitemap.xml for you, keep discontinued items out by redirecting or 410, not by noindex
If tags or vendor pages create thin URLs on your store, remove their links or noindex them. Keep crawl budget for products and categories that matter.
Monitor and tidy: when to switch state
Watch demand
In Search Console, check the product URL’s impressions. If they hold steady and stock is due back, keep the page. If they fall to near zero and the item will never return, plan a redirect.
Set a review date
For temporary outages, set a 30 to 60 day check. If supply changes, update the page and structured data the same day.
Sweep alternatives
Every month, replace outdated “Similar items” with current in-stock products. Do not link to other out-of-stock items.
Reconcile feeds
Fix any Merchant Center mismatch warnings the day you change stock status on the page.
Clean backlinks
If a retired product has strong links, 301 it to the closest live page. Check it with a redirect checker and your analytics later.
A fixed page looks like this. /products/blue-mug is out today. It shows out of stock, a notify form, two close alternatives, and has Product structured data with an unavailable offer. When stock returns, you switch the status back and restore the add to cart. Everything else stays in place.
Questions
No. Keep your title and h1 as the product name. Show the stock status in the UI near the price and button. This keeps the query match stable while the page is temporarily unavailable.
Use 410 when the item is gone for good and there is no suitable alternative. It is a clear end state. If you have a close replacement, use a 301 to pass people and signals to it instead.
Product structured data can still help eligibility. Make sure the offer shows the true availability and price. Keep images and reviews. Use Google’s Rich Results Test to check the markup.
Keep one product page with variants unless a variant has its own demand. You can give high-demand variants their own URLs, or keep a canonical to the parent. Show in-stock variants first.
Demote them but keep them visible if they often return. Add a badge so buyers understand. If the product is discontinued, remove it from featured blocks and set a 301 or 410 on the product URL.
Avoid noindex for temporary outages. Keep the URL indexable so you retain rankings and reviews. Use a 301 or 410 when the product is permanent gone rather than hiding it.
Sources
Check my site, free
Paste a product URL and we will read your site and rivals, then show three findings on how to handle out-of-stock pages in about thirty seconds, free.
- Free check, no card
- Read-only, your own accounts
- Readable by your agent
Read next
- GuideProduct page SEO: what a buyer and a crawler need on the page
- GuideProduct schema: the fields Google reads and the ones it requires
- Glossary410 Gone
- Glossary301 redirect
- GuideDelete or redirect an old page: 301, 404 or 410
- GuideE-commerce SEO for a small store: the pages, the data, the structure
- GuideSEO after a pivot: what to keep, redirect and retire
- GlossaryNoindex