The 404s left behind by products you already archived

You tidied the catalogue, and now Search Console is reporting hundreds of broken links to products that no longer exist. Google does not forget a page just because you archived it, and pointing every one of them somewhere is the wrong fix as well as the expensive one.

You tidied the catalogue, and Google did not get the message. Months after archiving a few hundred products, Search Console is still reporting broken links to every one of them, and new ones keep appearing. One merchant put a number on it that most people will recognise:

Search console is reporting 1250 broken links to products we've archived.

— gileslu, 12 June 2023

That post got no replies at all, which is a fair summary of how much help is available on this. The good news is that the fix is mostly free and native. The part that costs you something is deciding which of those 1,250 deserve to be pointed anywhere.

What archiving actually does, and what it leaves

Archiving takes a product out of your store and keeps its record. What Shopify does not document is what the archived product's URL then returns — there is no published mapping from a product's status to an HTTP response. What merchants observe is a 404, sometimes a redirect: "When you try to click though on the product you get a 404 error or a redirect" (LAS-RMc, 13 April 2023).

Two things follow, and they are easy to get the wrong way round.

A 404 is not a penalty. It is the correct answer for a page that no longer exists and has no replacement — that is Google's own guidance, and Google treats a 410 the same way.

But Google will keep asking. Removing a product does not remove its history, and Google says as much about its own product feed: deleting products from it "doesn't guarantee their removal from organic search results if Google has crawled them previously." So the broken links in your report are not a bug in your store. They are Google re-checking addresses it has seen, which it will do for a long time.

Hundreds of 404s from products you archived? Describe which ones should go where and we will build it →

The native clean-up, and its two hidden costs

Shopify's URL Redirects tool does this for free, and it takes a CSV, so a few hundred rows is an import rather than an afternoon. Note the one condition: "You can redirect only from broken URLs. Broken URLs display error messages, such as Page not found or 404." The old address has to already be broken before you can claim it.

Two costs are worth knowing before you decide to redirect everything.

The first is a ceiling: a store may hold a "maximum of 100,000 URL redirects unless your store is on the Plus plan, which has a maximum of 20,000,000." Most stores will never see it, but a catalogue that turns over several hundred products a year and redirects every one of them is accumulating rows forever.

The second is harder to undo: "301 redirects are cached by browsers and search engines." Send last season's boot to the wrong place and the wrong place is where returning customers and Google go back to, for a long while, whatever you change afterwards.

Which ones to point somewhere, and which to leave

This is the decision nobody else makes for you, and it is where the time goes. The guides on this subject all land on the same two steps — set up 301 redirects, resubmit your sitemap. What none of the ones worth reading tells you is which products.

Sort your archived products by what Google still holds for them — clicks, impressions, and anything linking in from outside. On most catalogues a small fraction of them turn out to matter. Those are the ones to pair with a real replacement. The rest should return a clean 404, which is Google's own recommendation, and you have saved yourself hundreds of redirect rows that will each need to be right forever.

Three rules of thumb that hold up:

  • A product with a direct successor goes to that successor, never to a collection. A shopper who clicked a specific boot does not want a page of boots.
  • A product with no successor and no traffic gets nothing. Leave the 404.
  • A product with traffic but no successor goes to the nearest collection, and only because the alternative is losing the visit.

If you are choosing a product's status in the first place rather than cleaning up after one, retiring a product without breaking the links to it is the same decision taken earlier, and it is cheaper there.

There is a status that avoids all of this

Worth knowing even though it is not a clean-up: Unlisted products are "hidden from internet search, Shopify Catalog, and your store's sitemap" while the page still works for anybody holding the link. For a product you are retiring but whose page is doing you good — a long-standing search result, an inbound link from a review, a URL printed on packaging — unlisted leaves the result intact instead of breaking it.

Going forward, without you watching it

Shopify Flow can watch for a product's status changing and create the redirect itself. It is free on Basic and above — not on Starter — and it closes the forward-going half of the problem, so the pile stops growing while you clear it.

What one workflow cannot carry is a different destination per product: the target is fixed in the workflow, so a per-product destination means putting it on the product yourself in a metafield first, which the retirement page covers. And it was not running when you archived the first 1,250.

If your products are in Shopping results too

Short section, because this is Google's side of the fence rather than Shopify's, and the two are often mixed up.

Google disables products whose landing page it cannot reach: "we disable products that have an unavailable landing page. These products will stop showing in ads and free listings until Google can access the landing page." Rows also age out on their own — "All products expire from your Merchant Center account 30 days after the last refresh." And one setting is worth checking before you blame the feed: product protection lets you "turn on product protection and set a limit to the number of products that can be deleted at once", so a bulk removal can hit that limit.

Shopify does not document what archiving does to your Google feed, so check it rather than assuming. The native lever if you want a product off that channel deliberately is Flow's own publish and hide actions, which "now support being able to choose one or more Sales channels".

Which route is yours

What you need Where it comes from
A few hundred old addresses pointed somewhere Native — URL Redirects, CSV import, free
A redirect created when a product is archived Native — Flow on Basic and above, one fixed destination
A retired page that keeps working for its links Native — Unlisted status
A product with no successor Leave the 404 — Google's own advice
Knowing which archived products are worth a redirect Not something either of them decides for you
Each product paired with its own replacement Not built in
What archiving does to your Google feed Not documented — check your own store

What Shopivibe does

You describe how old products should be retired and the broken links stop accumulating. "When a product is archived, send it to the newest product in the same type from the same vendor, and if there isn't one, leave it alone."

The part worth paying for is that the destination is worked out per product from your own catalogue rather than fixed in advance — your product type, your vendor, your season naming, whatever actually identifies a successor in your store — and that it keeps handling the ones you archive from here on without anybody remembering to. The pile you already have is part of the build: your archived products are loaded in and paired up with you, rather than left as the one batch no rule ever reaches.

Shopivibe solves the problem in your store and keeps what it adds maintained, including when Shopify changes something underneath. If the app cannot complete your request on the spot, somebody at Shopivibe takes it on straight away and has it working in your store within 24 hours, included in the plan at no extra charge. Shopivibe is free during early access, with 3,500 credits included. Credits beyond the included 3,500 cost $0.06 each.

Want the broken links to stop piling up? Describe how retired products should be handled →

Checked against Shopify's documentation and the App Store on 14 October 2026.