dotvitals

The server was slow to respond

LowHigh confidencehttp.reachability.slow-response

What this check looks for

The home page took noticeably long to start responding. Visitors feel this as the site hanging before anything appears.

Why it matters

Time to first byte gates everything that follows — no image, stylesheet or script can start loading until it arrives. It is also a ranking signal and the metric users notice most on a slow connection.

When the check passes, your report says: “The server started responding promptly”.

What it costs your score

When this check fails it removes 5 points from your HTTP score, before the status, confidence and repeat multipliers are applied. HTTP carries a weight of 7 in the overall score.

It shares the http.reachability family ceiling of 60 points: however many findings that family produces, together they cannot remove more than that from HTTP. One underlying problem showing up in several places is still one problem.

Severity
low
Default confidence
high
Status when triggered
warn
Deduction
5 points
Family cap
http.reachability · 60
Category
HTTP
Module
Http reachability
Fix owned by
user
In the ruleset since
2026.09

How the whole score is calculated

How to fix it

Find where the time is going before optimising anything.

Time to first byte blocks every other resource on the page.

  1. Split the timing: curl -o /dev/null -s -w 'dns %{time_namelookup} connect %{time_connect} tls %{time_appconnect} ttfb %{time_starttransfer}\n' https://‹host›/.

  2. If TTFB dominates, the application or database is the cause, not the network.

  3. Cache the home page if it is generated per request and does not need to be.

How to confirm it worked

  • curl -o /dev/null -s -w '%{time_starttransfer}\n' https://‹host›/ — expect under 1s

A named slot like ‹domain› — and the braces left in the configuration below — is filled in with your own values when this rule appears on a report.

Remediation by platform

nginx
curl -o /dev/null -s -w 'dns %{time_namelookup}\nconnect %{time_connect}\ntls %{time_appconnect}\nttfb %{time_starttransfer}\n' https://‹host›/
Technical detail

The first byte from https://‹host›/ took ‹duration ms›ms; the threshold here is ‹threshold›ms. This is one measurement from one location and includes DNS, TCP, TLS and the server's own processing, so treat it as a signal rather than a benchmark — perf.lab measures this properly.

Standards and references

Test this on your domain

Run the check that produces this finding, on its own, against any domain.

Open the http reachability checker

Other http reachability checks