Choose the Right Response for Every Empty Category

Match each zero-product category to a useful 200 page, relevant 301 redirect, noindex directive, or genuine 404/410 response without masking failures.
An empty category should stay 200 OK only when it remains a useful destination or inventory is temporarily unavailable. Use a 301 for a true replacement, 404 or 410 when the category is permanently gone, and 200 OK plus noindex only when users still need the page but organic search does not. If products disappeared because rendering or data failed, fix the failure rather than changing the category’s status.
Choose the category’s current state to see the appropriate response.
Recommended Response
Keep the category available.
Explain that products are temporarily unavailable and provide relevant alternatives, subcategories or a restock alert.
Source: Google Search Central guidance on soft 404s, HTTP status codes and noindex.
A URL can return 200 OK while Google treats it as a soft 404. Google defines this pattern as a successful response that presents an error, lacks main content or is effectively empty. Pages classified this way are excluded from Search even though the server says they work (Google Search Central).
Match the Response to the Category’s Actual State
| Category state | Response | What the page should do |
|---|---|---|
| Products are temporarily unavailable and expected to return | 200 OK |
Explain the temporary state and provide useful alternatives, subcategories or a restock alert |
| No products are listed today, but the category remains useful | 200 OK |
Explain what belongs there and direct visitors to relevant inventory or a valid next step |
| Category is permanently replaced or merged | 301 |
Redirect to the closest page satisfying substantially the same intent |
| Category is permanently gone with no replacement | 404 or 410 |
Confirm it is unavailable and offer navigation on the custom error page |
| Page must remain available to users but has no organic-search role | 200 OK plus noindex |
Keep it functional while asking search engines that support noindex not to index it |
| Inventory failed because of JavaScript, API or database trouble | Fix the failure | Restore the intended content rather than treating the fault as a merchandising decision |
Do not redirect every retired category to the homepage or a broad shop page. A 301 is appropriate when there is a clear replacement; otherwise, return 404 or 410.
Google describes a permanent redirect as a strong signal to process the target, while a 4xx response tells its systems that the content does not exist. Google handles 404 and 410 alike for indexing, so use the code that best represents your system rather than expecting an SEO advantage from one (Google’s HTTP status guidance).
Keep Temporarily Empty Categories Useful
If inventory is expected to return and the category still represents a real offering, retaining the URL with 200 OK can be appropriate. Replace a bare “No products found” template with information that helps the buyer take a next step:
- State that products are temporarily unavailable.
- Give a restock timeframe only when the business can support it.
- Offer an email alert, enquiry or quote request.
- Link to genuinely related categories or available substitutes.
- Retain useful category copy, specifications or buying guidance.
- Ensure navigation, titles and headings still describe the category accurately.
The aim is not to add filler until the page looks substantial. The category must remain a legitimate destination that satisfies part of the visitor’s intent. Google advises making product-category information available as text rather than depending on images or inaccessible rendering (developer SEO guide).
A category can still be classified as a soft 404 when its rendered main content is blank, nearly blank or dominated by an error message. Unrelated copy does not make an obsolete category useful, and returning 200 OK does not guarantee indexing.
Check Four Layers Before Changing the Status
Inspect representative URLs at the HTTP, rendering, indexing and inventory layers.
- HTTP response: Confirm the server’s actual response with a header-checking tool rather than relying on the message shown in a browser.
- Rendered page: Use Search Console URL Inspection to see whether Googlebot receives the products, category text and links. A browser can display content that a crawler fails to render.
- Indexing classification: Review the Page Indexing report for “Soft 404,” then inspect samples instead of assuming every affected URL has the same cause.
- Inventory source: Determine whether zero products is expected or caused by a failed API, JavaScript bundle, database query, regional rule or filter combination.
Group the URLs by state and apply the decision at the template or inventory level. Manually patching a few examples will not solve a CMS that continues to generate thousands of empty filter combinations.
Remove Retired Categories From Active URL Inventory
For a permanently removed category, return 404 or 410, remove it from XML sitemaps and stop linking to it as an active shopping destination. A custom error page can provide navigational links, but the server must preserve the 4xx response. Google ignores page content returned with 4xx codes for indexing purposes.
Use noindex only when the page remains real and accessible but should not appear in search. It is not a repair for a deleted category or broken inventory feed. Google must crawl the URL to see a noindex directive, so blocking it in robots.txt at the same time can prevent processing (Google’s noindex documentation).
Crawl-budget concerns should not drive this decision on a typical small store. Google says its advanced crawl-budget guidance primarily applies to sites with at least one million frequently changing pages, at least 10,000 very rapidly changing pages, or a large share of URLs marked “Discovered — currently not indexed.” On qualifying sites, soft 404s and unwanted URL inventory can consume crawling that could go to useful pages (Google’s crawl-budget guidance). Use the Crawl Stats and Page Indexing reports for their distinct jobs.
Preserve a useful category through temporary inventory gaps, redirect only to a true replacement, and return a real 404 or 410 when the destination has permanently ceased to exist.