A 404 report looks like a repair list. That’s only half the story.
Every failed URL records an expectation. Someone clicked an old link, followed a bookmark, typed a service name, or tried a path they assumed would exist. The server said, “Nothing here.” That gap between what a visitor wanted and what your website supplied is useful business information.
Most small businesses never look at it. Others redirect every broken URL to the homepage and call the job done. That hides the problem without answering the visitor’s question.
A better approach is to build a 404 demand map: a short, ranked report that shows which missing pages cost attention, where visitors came from, what they probably wanted, and what action will recover the most value.
First, Know What a Real 404 Is
A proper missing page returns the HTTP status code 404 Not Found. It may also show a helpful branded page with navigation, search, and contact options. Those are two separate layers: the server response tells machines the URL is missing, while the page design helps people recover.
A “soft 404” shows missing-page content but returns 200 OK. Google discourages soft 404s because they confuse visitors and search engines. Your first technical check is simple: open a URL that cannot exist, such as /this-page-definitely-does-not-exist/, and inspect its response code with your browser’s developer tools or an HTTP checker.
Don’t panic because your site has some 404s. Old links, typos, bot requests, and deleted pages make them unavoidable. The goal isn’t zero. The goal is to separate harmless noise from failed requests that represent customers, backlinks, or real demand.
Collect the Right 404 Data
You need more than a count. A useful record has four fields:
- The failed URL path
- The number of requests or users
- The referring page or traffic source
- The date and, when available, device or user-agent category
There are three practical places to get this information.
Start With GA4 for Human Behavior
If your 404 template has a unique page title, such as “Page Not Found,” GA4 can group visits to it. In Reports, open Engagement, then Pages and screens, and filter by that title. This method also lets you examine the page location and referrer. Analytics Mania documents this GA4 workflow and explains how to send a dedicated event through Google Tag Manager if you want cleaner reporting.
GA4 is good for seeing what people did before and after the error. It won’t capture visitors who block analytics, requests that never run JavaScript, or most bots.
Use Server or CDN Logs for the Full Request Picture
Server logs record the response itself. If your host or CDN exposes request logs, filter for status code 404 and export the URL, referrer, timestamp, and user agent. Cloudflare’s documentation confirms that its analytics records a 404 when the origin returns that response, and its status-code reference is useful when validating the report.
Logs usually contain much more noise than GA4. You’ll see vulnerability scans, malformed paths, abandoned WordPress plugin URLs, and bots guessing at files. That’s normal. Filter before making decisions.
Check Search Console for Google-Facing Failures
Search Console’s Page indexing report can show not-found URLs Google encountered. This is especially useful after a redesign, domain move, product cleanup, or CMS migration. It won’t be a complete traffic log, but it tells you which failures affect Google’s view of the site.
Remove Noise Before You Rank Anything
Raw 404 exports are ugly. Clean them before sending them to the owner, marketing team, or developer.
Discard obvious attack paths if your business never used them. Requests for /wp-admin/ on a non-WordPress site, random .env files, and long strings of encoded characters aren’t content opportunities. Group URL variants caused by capitalization, trailing slashes, tracking parameters, and repeated typos when they point to the same intent.
Separate missing assets from missing pages. A failed image, font, JavaScript file, or stylesheet can break the experience and deserves a developer ticket, but it doesn’t indicate demand for a new service page.
Finally, identify your own links. A 404 reached from your navigation, footer, sitemap, article, email template, or ad is under your control. Fix those first because each future click will repeat the failure.
Score Each Failed URL by Business Value
Request volume alone is a poor priority system. Fifty bot hits to a nonsense address matter less than three qualified visitors following a partner’s link to an old service page.
Give each recurring path a score from zero to two in four categories:
| Factor | 0 points | 1 point | 2 points |
|---|---|---|---|
| Human demand | Likely bot | Unclear | Clearly human |
| Source value | No referrer | Internal or low-value | Search, ad, partner, or strong backlink |
| Commercial intent | Random path | Informational | Service, product, pricing, booking, or contact intent |
| Recovery fit | No close destination | Partial match | Exact replacement exists |
Work the highest totals first. This keeps a small team from spending an afternoon fixing meaningless scanner traffic while a paid campaign sends prospects into a dead end.
For example, /commercial-roof-repair/ receives eight visits from an old chamber-of-commerce profile. You renamed the service page /commercial-roofing/. That earns a high score and needs a direct redirect today.
Meanwhile, /xmlrpc.php receives 900 requests with no referrer. If your site doesn’t use that endpoint, it’s security noise, not proof that 900 customers wanted a page.
Choose the Right Fix
Every missing URL doesn’t deserve a redirect. Pick among four actions based on the visitor’s intent.
Fix the Link
When the referring link is yours, update it at the source. A redirect can remain as backup, but fixing the link avoids unnecessary hops and keeps your site clean. Check menus, old articles, XML sitemaps, campaign emails, PDFs, QR codes, and ad destinations.
Add a One-to-One 301 Redirect
Use a permanent redirect when a clear replacement exists. Old service to new service, discontinued product to its successor, and outdated event page to the current event are sensible matches.
Don’t send all 404s to the homepage. The homepage rarely satisfies the original intent, makes reporting harder, and can create a soft-404-like experience. A person asking for brake repair shouldn’t be dropped at a generic dealership entrance and told to start over.
Restore or Create the Missing Page
Repeated human requests may expose content demand. Suppose people keep trying /financing/, competitors link to financing information, and your sales team answers financing questions every week. That path isn’t just broken. It’s a brief for a page your market expects.
Validate the idea before building. Ask sales whether the question appears in calls, check site search terms, review Search Console queries, and inspect competitor navigation. If those signals agree, create the page and make it useful enough to answer the actual question.
Keep the 404
Sometimes “not found” is correct. A mistyped URL with no links, traffic, or plausible intent doesn’t need a redirect. Let it return a real 404 and give the person a sensible recovery route.
Make the 404 Page Do Real Work
Your error template is the safety net, not the primary fix. Keep it direct. Say the page can’t be found, then offer a few likely next steps based on your business.
A local service company might link to its services, service area, booking page, and phone number. An ecommerce store might offer product search, top categories, order support, and new arrivals. A B2B company might point to capabilities, industries, case studies, and quote requests.
Track clicks on these recovery options. If visitors consistently choose one destination, move it higher. If nobody uses site search, don’t keep it because a generic best-practice list told you to.
Avoid jokes that obscure the next action. A clever headline is fine, but a visitor who clicked a quote link needs help, not a full-screen photo of a confused dog.
Turn the Report Into a Monthly Operating Habit
This process doesn’t need another dashboard that nobody opens. Use a spreadsheet with one row per normalized URL and these columns: failed path, requests, likely human requests, top referrer, intent, score, owner, action, and status.
Review it monthly, plus immediately after a redesign, domain change, bulk product removal, or campaign launch. Assign each high-priority row to one person. Marketing fixes campaign and content links. Development handles response codes and redirects. Sales validates whether a missing topic reflects real buyer questions.
After making changes, test both ends. Confirm the old URL returns the intended status, the destination loads, and redirect chains haven’t formed. Then annotate the date so next month’s report can show whether failures fell.
The first review may uncover years of clutter. Later reviews should be short. That’s a sign the system works.
A 30-Minute First Pass
If you’ve never reviewed 404s, don’t begin with a perfect logging project. Export the last 30 days from GA4 or your host, remove obvious bot paths, and sort by human visits. Check the top 20 URLs manually.
For each one, answer three questions: Where did the visitor come from? What were they trying to do? What is the closest honest next step?
You’ll usually find a mix of broken internal links, stale external links, old campaign URLs, and a few missing topics worth discussing. Fix the high-intent failures first. Record the rest. Repeat next month.
The value isn’t merely fewer errors. It’s fewer prospects reaching a dead end, cleaner migrations, better partner links, and a running record of what people expected your business to provide.
If your website is leaking leads through broken paths, get started with Your Web Team. We’ll help you find the failures, prioritize the ones tied to revenue, and build a cleaner route from visit to inquiry.