A little behind-the-scenes from the workbench — the part where we admit the busiest page on your site is one nobody designed to be busy.
Signal & Noise — Part 3 of 7
← Why All Those Robots Cost You Real Money | We Built Your Website a Second Website — Just for the Robots →
The short version
- On a real estate site, listings sell — and when they do, those pages go away. That’s normal, even healthy. The pages should disappear.
- But links and bots keep knocking on those dead doors for months. So one of the most-requested things on a busy listing site is, quietly, “pages that don’t exist anymore.”
- Google’s official guidance says serving a “404 / page not found” for genuinely-gone content is the correct thing to do — not an SEO mistake to fear.
- The catch: making your site prove a page is gone is one of the most expensive requests it can answer. We measured a full “not found” page at roughly 196KB of work versus about 1KB for a lean static one.
- So we decoupled listing-404s. They’re served as tiny static HTML by nginx, cached at our edge and in the nginx cache, delivered seamlessly on your domain — your real website never even sees the request. Your actual content pages are untouched, and you can customize the look under Website Settings → General Settings → 404 Page.
↓ Skip to the long version / results
In this guide
Here’s a riddle: what’s the most-requested page on a busy real estate website?
It isn’t the home page, or even the hot new listing everyone’s sharing. On a big listing site, a surprising amount of traffic is aimed at pages that don’t exist anymore — sold homes, delisted rentals, properties that were here last Tuesday and gone this one. And that’s supposed to happen: listings are temporary. The interesting problem starts the moment they vanish.
A website 404 vs. a listing 404
“404” is web-speak for “I looked, and there’s no page here” — the polite shrug your site gives when someone asks for an address that doesn’t exist. (The number is just the status code browsers and search engines read.)
On most websites, a 404 is a small emergency: if your About or Contact page suddenly returns “not found,” something broke, and you fix it fast. Real estate flips that. A listing page should come and go — a home sells, the listing comes down, and that URL is now correctly, permanently empty. That’s not a bug; it’s the market working. So we end up with two different kinds of 404 that need different handling:
- The website 404 — somebody mistyped your URL, or an old menu link rotted. Rare. Worth a friendly, on-brand “let’s get you back on track” page.
- The listing 404 — a real property that genuinely sold or expired. Common. Constant. By design.

That second kind is where the volume lives. A single brokerage can have hundreds of active listings — and once you count search results, filter combinations, neighborhood pages and agent profiles, a few hundred homes can spin up well over 10,000 indexable URLs. Every one is a door, and when the home behind it sells, the door stays in the wall — search engines, social-share previews, and a parade of bots keep knocking for months.
Google actually agrees
A lot of agents assume a 404 is bad for SEO — that every “not found” is a little black mark against your site. Understandable, but not what the search engines actually say.
Google’s own Search Central documentation is blunt: if you removed a page and there’s no good replacement, the right move is to return a 404 (“not found”) or 410 (“gone”). It’s the correct response, not a failure. 👉 Google Search Central: Troubleshoot crawling errors.
Google’s Search Advocate, John Mueller, has put it plainly: returning a 404 is “the technically correct way to deal with requests to URLs that don’t exist,” and it’s “not a quality signal, it’s not an SEO signal.” (As always: that’s current guidance, and search policies do change — but this one’s held for years.)
So we can stop apologizing for 404s. A site that serves a 404 for a sold home is doing exactly the right thing. The question isn’t “how do we have fewer” — it’s “how do we serve a mountain of them without setting the building on fire.”
Why a “nothing here” page is the most expensive page you serve
You’d think a page with nothing on it would be the cheapest thing your server could hand out. It’s often the most expensive — because to say “this page doesn’t exist” honestly, your site has to check. Is this a real listing? A page, a post, a redirect, a custom route? It searches everywhere, and only after striking out can it say “nope, gone.” And it can’t shortcut: a popular listing page can be cached and handed out instantly like a photocopy, but a “not found” lookup traditionally skips the photocopier and goes straight to the back office every time.
The page it builds isn’t even small. A full themed “not found” page drags along the whole site — header, navigation, fonts, scripts, footer — just to display an apology. We measured it in our own code: a full render weighs around 196KB versus roughly 1KB for a stripped-down static one. Same bad news, nearly 200 times the work.

Now do the multiplication. Picture a large listing site with tens of thousands of live listing pages and a healthy slice of inventory turning over each month. Each sold home is a new permanent 404 — and the old ones don’t go quiet; bots keep re-checking dead URLs for months. The 404s don’t replace each other; they accumulate — steadily, not explosively. A real estate site can end up serving about as many 404 pages as successful ones, and then holding roughly there. On our own main webserver, over a recent 24-hour window, that’s not hyperbole: roughly a quarter of all requests — and nearly 40% once automated monitoring is set aside — were for pages that no longer exist, and more than four out of five of those came from bots.

That’s the riddle answered: multiply “most expensive request” by “happens constantly and forever,” and the page that doesn’t exist becomes one of the hardest-working on the server.
How we made 404s nearly free
The fix is the whole theme of this series: stop letting noise compete with signal. We split the listing-404 off from your real website entirely. When a request comes in for a listing that’s genuinely gone, it never reaches the application that runs your site. Instead, nginx — the lightweight web server sitting in front of everything — serves a tiny, pre-built static HTML file directly: no page rebuild, no database lookup, no fonts-and-footers render. Just a clean “this property isn’t on the market anymore,” delivered seamlessly on your own domain. As we put it internally: the site never even sees the request.
That static page is the ~1KB version, not the ~196KB one. And because it’s a fixed file rather than something rebuilt on the fly, we can cache it aggressively. Two layers do the heavy lifting:
- Our edge. A copy lives out on our worldwide network, close to whoever’s asking, so most requests for dead listings get answered before they reach your origin server.
- The nginx cache. At the origin, nginx keeps the “gone” response on hand for 7 days, so even the requests that do arrive are answered from a ready copy instead of bothering the rest of the stack.

There’s one genuinely tricky bit, and it’s why most people don’t cache 404s: what if the listing comes back? A deal falls through, a home returns to the market — and now you’ve got a “this is gone” page cached for a week on a property that’s very much for sale again. A sticky 404 like that erodes trust fast.
So caching a 404 isn’t fire-and-forget. We treat a returning listing as a signal to clear that specific cached “gone” response — at the edge and in the nginx cache — so the live listing snaps back into place. The decoupling buys the speed; the cache-clearing keeps it honest.
The result: bot and crawler traffic hammering dead listing URLs gets absorbed at the lean static layer, before it touches the machinery that serves real buyers. Your website content pages — About page, community guides, live listings — are completely unaffected. They’re the signal; the 404 flood is noise, handled somewhere your visitors never see.
And it’s still yours to brand. A static page doesn’t have to be a boring one. There are professional designs to choose from, and you control the look from Website Settings → General Settings → 404 Page — headline, body text, the “browse listings” and contact links. Want something fully custom? That’s a quick request to support. (The page runs zero JavaScript — part of why it’s so featherweight.)
The long version (for the curious)
“Busiest page” — said honestly. We didn’t measure every website on earth and crown the 404 the official champion. What we can say is well-supported: real estate sites generate large, churning volumes of dead URLs as listings sell and delist; search engines and AI crawlers keep re-requesting those URLs for months to confirm they’re gone; and bots — not humans — dominate listing-site traffic during the busy stretches. Watch the logs on a big listing site and the volume of requests for pages that no longer exist will surprise you. Treat “the busiest page is the one that doesn’t exist” as a vivid, defensible illustration — not a lab-certified statistic.
Why crawlers keep knocking. Google doesn’t take your word for it the first time. After a page returns 404 or 410, it keeps recrawling for a while to confirm the page is really gone before dropping it from the index — a process that plays out over roughly a six-month window per Google’s removal guidance. That’s why a sold listing’s URL keeps getting hit long after the home closed, and why lots of 404s is harmless: per Google, it doesn’t waste your crawl budget and isn’t a quality signal.
404 vs. 410. Both are valid “this is gone” answers, and Google’s docs list both as acceptable. The folklore is that 410 (“Gone”) gets a page dropped a bit faster than 404 (“Not Found”), since 410 reads as more permanent — but that’s something many SEOs observe rather than something Google guarantees. We serve the response that’s correct and reliable; the deindex timing sorts itself out either way.
The cache layers, working together. The flow is: request → our edge cache → the nginx cache → a tiny static HTML file. The further left we answer, the cheaper it is. The design choice worth repeating: the part of the system that runs your actual website is never invoked to say “not found” for a dead listing — static files are served by nginx before any of that machinery wakes up, zero overhead per listing-404 request.
Sources
- Google Search Central — Troubleshoot crawling errors (official: return 404/410 for removed content).
- Google Search Central — Remove information from Google (how removed URLs are recrawled and dropped).
- Search Engine Roundtable — Google on why 404s don’t matter for SEO (John Mueller: 404 is “not a quality signal, it’s not an SEO signal”). Reporting on Google’s Search Advocate.
- WordPress.org — Caching (why uncached, dynamic requests cost more than static ones). Background on the mechanism.
You just finished Part 3 of 7 of Signal & Noise.
Up next: We Built Your Website a Second Website — Just for the Robots — if we can serve dead listings somewhere else, why not serve the whole site to bots somewhere else too? That’s exactly what we did.
← Why All Those Robots Cost You Real Money | We Built Your Website a Second Website — Just for the Robots →
Jump back in
If you host with us, all of this is already running quietly under your site — and if you’ve got a custom 404 in mind, or you just want to peek at the logs and see your own busiest invisible page, come say hi. We love this stuff, and we’re happy to show you what’s knocking on your dead doors.