Features
xSpeed Hub Pricing Docs Blog Scan
Appearance
Get Plugin
55of 100

v0.app

Scanned Sun, 20 Sep 2026 10:41:12 GMT · https://v0.app/ · scanned 3 times — see history

DLevel 2 · Slow
Next.jsVercel Edge
Desktop view of v0.app at scan time. Click for full size
As Lighthouse saw it · click to enlarge
97msTTFB
39Lighthouse desktop · graded
0Lighthouse mobile
5.2sLCP
0.00CLS
brCompression
HITCache

Lab data: Lighthouse 13.4.1 desktop run, graded above · Reproduce this run on PageSpeed Insights ↗ · Mobile: 39 (F) —

Why is this different from the score in my browser?

The graded score is the desktop run. Lighthouse 13.4.1 runs at Google through the PageSpeed Insights API on a desktop profile with no CPU or network throttling — close to what Chrome DevTools on a laptop, GTmetrix's default test and the PageSpeed API (which defaults to desktop) all measure, so this is the number you should be able to reproduce: run it yourself on PageSpeed Insights.

Google ranks on mobile. That run happens too, on an emulated mid-range Android with a 4× CPU slowdown and a throttled connection, and the same page routinely scores 30–50 points lower there. Neither number is wrong — they are different tests. On this page the mobile run scored 39 (F) against 55 (D) here — to see every check graded on that run.

Lighthouse also varies a few points run to run on the same URL. Treat a trend across several scans as the signal, never a single digit.

Lab data: Google PageSpeed Insights (Lighthouse, desktop). Server probes (TTFB, compression, cache, headers) are measured separately from Vilnius, Lithuania (EU).

Next.js what actually works on this platform

Most of what makes a Next.js site slow is decided at build time — which routes are static, what ends up in the client bundle, and where the server boundary sits. These are the levers, in the order worth pulling them.

  • Your HTML came back HIT from the Next.js render cache — the render is already being reused, so look at the client bundle next.
  • A crawler reads about 4,078 characters of text from your HTML.
  • Time to first byte measured 97ms on this run — one sample, so re-run it a few times before treating it as the number.
  1. Decide the rendering mode per route, not per app. Next.js will statically generate, revalidate on a schedule (ISR) or render per request, and the choice is made route by route. A public marketing or content page rendered per request pays a server round trip on every visit for output that could have been reused. Start with the routes that get the most traffic and the least personalisation.
  2. Read the cache header before changing anything. x-nextjs-cache (or x-vercel-cache) reports HIT, STALE, MISS, BYPASS or PRERENDER for the HTML. MISS or BYPASS on a page with no per-visitor content is the clearest signal you have something to gain; a HIT means the render is already free and your time is better spent on the client bundle.
  3. Check First Load JS per route. next build prints it. That number, not TTFB, is what a visitor waits through before the page becomes interactive. A shared component pulled into the root layout is charged to every route, so look for one heavy import inflating the whole app rather than a single slow page.
  4. Keep server-only work behind the server boundary. A dependency imported in a Client Component ships to the browser. Date libraries, SDKs and icon sets pulled across a "use client" boundary are a common way an otherwise small app grows a large bundle — audit what crosses it.
  5. Use next/image and next/font rather than raw tags. next/image serves modern formats at the right size and reserves space so the layout does not shift; next/font self-hosts the font files and removes the render-blocking request to a font host. Both are small changes with visible effects on Core Web Vitals.
  6. Load third-party scripts through next/script. Analytics, chat widgets and tag managers loaded as plain script tags block the main thread during hydration. next/script with an afterInteractive or lazyOnload strategy moves them out of the critical path without removing them.

The full instruction set, and a machine-readable copy of this report, live at v0.app.md — paste that URL into your AI builder's chat and it can work straight from these measurements.

Top fixes ranked by points recovered · desktop

This is a Next.js site — act on the report with your AI assistant

  1. Platform detectedNext.js — every check below links the official guideline for the fix in this stack.
  2. Act on it with your AIThe machine-readable twin of this report gives an agent every failing check with its evidence, remediation and guideline link.
  3. Check the originHosting sets the floor on TTFB. xCloud hosts any stack — agent/MCP access built in, bring-your-own-server pricing.

xSpeed is a WordPress plugin, so it can't automate Next.js fixes — and that's fine. Every check below links its official guideline, and the machine-readable twin of this report gives an AI everything it needs to plan the work (8 checks name a concrete remediation):

Read the speed report at https://xspeedcache.com/scan/r/v0-app-2efe602e1e.md — it lists every failing check with evidence and the official guideline for the fix. Produce a prioritized fix plan for my Next.js site, apply what you can, then re-test by POSTing {"url":"https://v0.app/"} to https://xspeedcache.com/api/scan and compare the scores.
How the checks are graded Scan another site
Hosting is half of every score. Whatever the stack — Next.js included, the server behind it sets the floor on TTFB. xCloud — from the team behind xSpeed — hosts any platform (this site's own scanner runs on it), with agent/MCP access built in and bring-your-own-server pricing. Explore xCloud.host →

Connect this scanner to your AI assistant

Free. No API key, no sign-up. Scan any public site and get the same graded report as this one, with the fix for every failing check.

Endpoint

https://xspeedcache.com/scan/mcp

Claude Code — one command

claude mcp add --transport http xspeed-scan https://xspeedcache.com/scan/mcp

Claude Desktop, Cursor, or any MCP client — add to your config

{ "mcpServers": { "xspeed-scan": { "type": "http", "url": "https://xspeedcache.com/scan/mcp" } } }
  • run_speed_scan Scan any public URL and return this whole graded report.
  • get_speed_scan Read a scan already run, by its id.
Read the MCP documentation →
F

Core Web Vitals & lab metrics

2/5 checks passed · 16/40 pts earned
40/100
Fail
Lighthouse performance score (desktop) 7/18 pts
39/100 (Lighthouse 13.4.1, desktop)
The composite Lighthouse score — every fix below moves it.
xSpeed Free AI Optimize
AI promptUsing my site's xSpeed MCP connection: run optimize_site, then run_benchmark to verify the score improved.
Fail
Largest Contentful Paint ≤ 2.5s 0/8 pts
LCP 5.2s
Serve the hero content faster: cache the page, preload the LCP image, and ship critical CSS.
xSpeed Free Page Cache + Preloader (Critical CSS in Pro)
AI promptUsing my site's xSpeed MCP connection: enable page caching, start the preloader, and (on Pro) generate critical CSS for this page; then re-test LCP.
Pass
Cumulative Layout Shift ≤ 0.1 5/5 pts
CLS 0.000
Fail
Total Blocking Time ≤ 200ms 0/5 pts
TBT 2.0s
Less JavaScript on the main thread: defer scripts and drop unused bundles.
xSpeed Free JS Minify + Defer
AI promptUsing my site's xSpeed MCP connection: enable JS minification and deferred loading, then re-test Total Blocking Time.
Pass
First Contentful Paint ≤ 1.8s 4/4 pts
FCP 401ms
A

Server response & caching

5/6 checks passed · 27.5/30 pts earned
92/100
Pass
Time to first byte ≤ 200ms 8/8 pts
TTFB 97ms measured from Vilnius, Lithuania (EU) (best of 2 requests). This includes the network round trips between us and your origin, not just server time.
Pass
Page served from cache 7/7 pts
Cache HIT evidence in response headers
Pass
HTML compression (Brotli/GZIP) 5/5 pts
Content-Encoding: br
Partial
Efficient cache policy on static assets 2.5/5 pts
Lighthouse cache-policy audit score 50% — 8 files: api/www/avatar (vercel.com), api/www/avatar (vercel.com), api/www/avatar (vercel.com)…
Every asset with a short cache lifetime here is served by another host (vercel.com, vercel.fides-cdn.ethyca.com). Their Cache-Control is not yours to set — this check will not clear while you load them.
xSpeed Free Browser Cache
AI promptUsing my site's xSpeed MCP connection: enable browser-cache headers for static assets, then re-run the audit.
Pass
CDN / edge network 3/3 pts
Vercel Edge detected
Pass
Clean redirect chain 2/2 pts
No redirects — the URL answers directly
F

Asset optimization

1/5 checks passed · 6/20 pts earned
30/100
Fail
No render-blocking resources 0/5 pts
Fails the Lighthouse audit — 4 files: 1bv-hlxwcj3mn.css, 03jd14_hafawi.css, 1t5z917tkvfhq.css… · ~150ms of first paint
CSS/JS in <head> blocks first paint. Inline the critical CSS and defer the rest.
xSpeed Pro Critical CSS + Unused CSS removal
AI promptUsing my site's xSpeed MCP connection: generate critical CSS for the top pages and enable unused-CSS removal, then re-test.
Pass
Minified CSS and JavaScript 4/4 pts
Passes the Lighthouse audit
Partial
Modern, optimized image formats 2/4 pts
Lighthouse audit score 50% — 8 files: image, iPhoneLight.png, row03.png…
Serve WebP/AVIF at the right compression — usually the single largest byte saving.
xSpeed Pro Image Converter (WebP/AVIF)
AI promptUsing my site's xSpeed MCP connection: enable WebP/AVIF conversion with URL rewriting, then re-test image audits.
Fail
LCP image discoverable early 0/4 pts
Fails the Lighthouse audit
The largest image must be in the HTML and preloaded — never lazy-loaded or script-injected.
xSpeed Free Resource Hints (preload) + Lazy Load exclusions
AI promptUsing my site's xSpeed MCP connection: preload the LCP image for this page and exclude it from lazy loading, then re-test LCP.
Fail
Total page weight ≤ 1.5MB 0/3 pts
8.7MB transferred
Heavy pages are slow on every connection — compress, lazy-load, and trim.
xSpeed Free Minify + Lazy Load + Image Converter (Pro)
AI promptUsing my site's xSpeed MCP connection: enable minification and lazy loading (and image conversion on Pro), then re-check page weight.

Past scans of v0.app newest first · every report keeps its link

ScannedScoreGradeGraded onTTFBLighthouse
2026-09-20 11:06 UTC 76 C desktop 101ms 71 View report →
2026-09-20 10:51 UTC 56 D desktop 101ms 42 View report →
2026-09-20 10:41 UTC this report 55 D desktop 97ms 39

Share your score a card for X, LinkedIn, Slack — anywhere

Every check here has a one-click fix in xSpeed Cache

xSpeed is launching soon — page caching, compression, image optimization and a built-in MCP server so your AI assistant can run this playbook for you. Early users get in first.

Scan v0-app-2efe602e1e · rubric v2026.09.5 · Lab data: Google PageSpeed Insights (Lighthouse 13.4.1), graded on the desktop run; the mobile run is graded on its tab · Server probes from xspeedcache.com. Scores vary run to run; treat trends, not single digits, as the signal. Markdown for AI agents · JSON
Own v0.app and would rather this report were not public? Email support@wpdeveloper.com and we will remove it.