Server or CDN region is close to target audience
Why it matters
Network latency is bounded by the speed of light — a request from a user in São Paulo to a server in Singapore must traverse approximately 18,000km of fibre, which takes at minimum 120ms at the speed of light in glass, often 200–400ms in practice when routing overhead is included. ISO-25010 time-behaviour cannot be met for geographically mismatched deployments without a CDN, and for hosting platforms that don't include built-in CDN (Fly.io single region, Railway, bare VPS), the chosen region directly determines TTFB for non-local users. A US-focused marketing site deployed to ap-southeast-1 will consistently fail the 800ms TTFB threshold for US visitors, regardless of how well the application itself is optimised.
Severity rationale
Low because region mismatch only affects non-CDN hosting configurations, and the fix (switching region or adding a CDN) is straightforward — the scope is limited to non-standard deployment setups.
Remediation
For Fly.io, update primary_region in fly.toml to the region closest to your target audience, or add replica regions for multi-geography coverage.
# fly.toml
[build]
# US East Coast — optimal for US-focused audiences
primary_region = "iad"
# Add replicas for global audiences:
# fly scale count 2 --region iad,lhr
# iad = Washington DC, lhr = London, nrt = Tokyo, syd = Sydney
For Railway and Render: select the region nearest your primary user base in the deployment settings. For the highest ROI, migrate to Vercel or Netlify — their global CDNs eliminate region selection entirely by serving from the nearest edge node to each visitor automatically.
Detection
-
ID:
ttfb-server-location -
Severity:
low -
What to look for: For hosting platforms that require regional selection (Fly.io, Railway, Render, custom VPS), check whether the selected region matches the target audience. This only matters when CDN is NOT in use — CDN-based platforms (Vercel, Netlify, Cloudflare) are globally distributed and not affected. Check: (1)
fly.tomlfor primary region (primary_region), (2) Railway/Render config for region selection, (3) any region-specific environment variable references, (4) hosting platform comments in config files. Count all instances found and enumerate each. -
Pass criteria: If using a CDN-based platform, this check passes automatically. If using a region-specific origin (VPS, Fly.io, Railway), the region matches the primary target audience. A US-focused marketing site is deployed to a US region; a European site to EU. At least 1 implementation must be confirmed.
-
Fail criteria: A US-focused marketing site is deployed to
ap-southeast-1(Singapore), adding 200-400ms TTFB for US visitors. -
Skip (N/A) when: Project uses Vercel, Netlify, or Cloudflare Pages (globally distributed). Signal:
vercel.json,netlify.toml, orwrangler.tomldetected as hosting. -
Detail on fail:
"fly.toml primary_region is 'sin' (Singapore). If target audience is primarily US/EU, TTFB for those users will be 200-400ms above optimal. Consider adding edge replicas or switching to a CDN-native platform." -
Remediation: Match region to audience:
# fly.toml — US East Coast for US audience [build] primary_region = "iad" # Washington DC # Or add multiple regions for global coverage [[services.ports]] # fly scale count 2 --region iad,lhr (US + London)Alternatively, move to Vercel or Netlify which handle global distribution automatically.
External references
- iso-25010:2011 · performance-efficiency.time-behaviour — Server/CDN region proximity — reduces geographic latency
Taxons
History
- 2026-04-18·v1.0.0·Initial import from marketing-page-speed·automated