How a soft 404 happens
Every page a server sends comes with a status code. A missing page should carry a not-found code so machines know to stop asking. A soft 404 is the mismatch: the visible page says there is nothing here, or shows nothing worth reading, while the status quietly says everything is fine. Search engines detect the contradiction, label it in reporting, and treat the URL as missing anyway.
Three patterns produce most of them. A content management system renders its “not found” template as an ordinary page, so the message is right and the code is wrong. A removed page is redirected to something unrelated, usually the homepage, and the destination clearly does not answer the original request. Or the page loads a shell and fills it in with JavaScript, so the server responds successfully before anything has decided whether the content exists.
Why soft 404s matter
The immediate cost is wasted crawling. A crawler that is told a URL is fine keeps coming back to it, and on a large catalogue that attention is taken from the pages you actually want recrawled. The URL may sit in the index for a while as though it were real, then vanish, which makes performance reporting hard to read.
The bigger cost is that you lose the ability to see what is missing. When everything returns success, a routine crawl looks clean while whole sections are empty. Sites in Nepal that carry seasonal or stock-dependent listings — trekking departures, admissions intakes, product lines that come and go — accumulate these quietly, and nobody notices until an important page has been treated as junk for months.
Common mistakes with soft 404s
Mass-redirecting deleted URLs to the homepage is the classic one; it is done to avoid errors and it creates a different error instead. Close behind is leaving out-of-stock or expired listings live as bare templates with a heading and nothing else. An internal search results page left open to crawlers behaves the same way, since it can return an empty result for any nonsense query.
The subtler mistake is trusting what you see. A page can look completely correct while returning the wrong code, so a visual check will never find this. You have to read the response.
How to act on it
Open the Pages report in Search Console and take the soft 404 group as a list of URLs where the status is lying. Check each one’s real response in developer tools, then decide what it should be. Genuinely gone content should return a not-found or a gone response. Content that moved should redirect to its true equivalent, not to a general page.
For pages that must stay live but hold little — an out-of-stock product, an expired course intake — either give them something real, such as alternatives and a date when they return, or remove them properly. Set internal search results and empty filter combinations to noindex so they never enter the index at all. Making the status code match the truth is the least glamorous part of technical SEO and one of the few that fixes several problems at once.