Skip to content

Test your website now

Free, no card. We read only public pages.

Run free audit →

Technical · Medium severity

Failed to Load Resource Errors: Separate Network Failures from HTTP Errors

Diagnose resources failing before an HTTP response. Inspect network evidence, preserve security controls, and separate request failures from status errors.

Published · Updated

What the check tests

Check
tech.failed-requests - No failed subresource requests
Passes when
No request made by the page during load should fail at the network level.
Scope
graded on every page crawled
Severity
Medium
Fix effort
medium - a working day
Impact when fixed
medium

In one paragraph

Failed to load resource errors can mean a request never completed successfully at the transport layer or that it completed with an HTTP error. This WebAuditOS check covers the documented network-failure category, not every message using those words. Inspect the failing request, its cause, and user impact before changing the reference or server. A completed 404 can therefore coexist with a pass here.

Why it matters

A missing script, stylesheet, image, font, or API response can affect rendering or a particular feature while the document itself loads. The impact depends on what failed, whether a fallback exists, and which journey uses it. Not every failed optional request makes the page unusable.

The browser can distinguish DNS, connection, certificate, policy, cancellation, and response-status outcomes. Console wording is not enough to classify them. Use request details and initiators to identify the layer responsible rather than treating every failure as a JavaScript syntax bug.

Third-party attribution is not impact prioritisation. An external payment or identity dependency can be essential, while a first-party optional icon can be minor. The detector's severity categories do not replace task-based investigation.

How WebAuditOS evaluates this finding

The supplied rule observes desktop-render requests and records up to twenty-five failures during its documented load window. No counted failure passes; third-party-only failures warn at low severity; an eligible same-registrable-domain or unattributed-host failure fails at medium severity.

It excludes specified aborted requests and scanner-refused requests, including private-address safety cases. Completed HTTP errors are outside this request-failed category and can appear in console checks instead. Unrendered pages and later interactions are not covered. Registrable-domain comparison is an attribution heuristic, not proof of ownership.

How to fix it

  1. Open the Network panel with an appropriate fresh test context and reproduce the same route. Inspect failed URLs, initiators, timing, error reason, and whether an HTTP response actually arrived.
  2. Match the failure to the correct layer. Wrong hostnames, expired certificates, connection resets, restrictive policies, and missing HTTP resources need different repairs.
  3. Correct stale or malformed asset and API URLs at their source. Review templates, build paths, environment configuration, stored content, and vendor settings rather than patching one rendered request.
  4. Verify the destination's availability and valid transport. Do not bypass certificate validation, expose private services, or remove security boundaries merely to eliminate a probe failure.
  5. Evaluate required cross-origin access through a deliberate CORS design. A browser block is not a reason to reflect every origin or add credentials to a wildcard configuration.
  6. Review cancellations and safety refusals separately when relevant. Ignored by this rule does not prove each cancellation was user-intended or that an internal-service dependency belongs in a public browser workflow.
  7. Test the actual feature and useful fallback, including consent choices and runtime loading. A request only made after opening checkout or scrolling is not validated by the initial snapshot.
  8. Rescan and retain appropriate network and functional monitoring. Compare evidence under equivalent conditions and investigate user impact beyond the first twenty-five recorded entries.

What the fix can break

Changing a path can make one reference work while breaking cached or older clients. Maintain an appropriate deployment and invalidation plan.

Vendor outages and client-side blockers can alter behaviour by audience. Distinguish a justified blocked tracker from an essential broken integration without collecting unnecessary personal data in logs.

Do not lower a console or request label purely to make the report green. Repair the actual delivery or remove a genuinely unnecessary dependency.

Questions

Why does a 404 resource not fail this rule?

It received an HTTP response. The supplied request-failed check covers a different event category.

Does third-party warning mean low real impact?

No. Determine whether the failed dependency is essential to the user's task.

Are all browser cancellations harmless?

No. The detector excludes particular events, but actual cancellation behaviour may still need investigation.

Review console errors, mixed content, and the Core Web Vitals guide.

In the report

Test this on your own site

Every scan runs tech.failed-requests on every page it crawls, on every plan. The finding carries this id, so a line in a report can be matched to the explanation above - and the free scan needs no account.