xSpeed Cache is officially live! Get 50% OFF during Launch Week — Lifetime starts at just $79Lifetime from $79 — 50% OFF, Launch Week! See Plans →

See Plans →
xSpeed Hub Pricing Docs Blog Scan
Appearance
Get Plugin
67of 100

verdek.com

Scanned Tue, 29 Sep 2026 02:55:36 GMT · https://verdek.com/ · scanned 10 times — see history

DLevel 3 · Average
Next.jsCloudflare
Desktop view of verdek.com at scan time. Click for full size
As Lighthouse saw it · click to enlarge
830msTTFB
82Lighthouse desktop · graded
67Lighthouse mobile
1.7sLCP
0.00CLS
brCompression
MISSCache

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

Real visitors (Chrome UX Report) Not enough Chrome traffic for field data on this page or its site, so only the lab run above is available.
Why is this different from the score in my browser?

The graded score is the desktop run. Lighthouse 13.5.0 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 54 (F) against 67 (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.

  • No Next.js cache header on this response, so either the HTML is rendered per request or it is served by something in front that strips the header — worth confirming before you tune anything.
  • A crawler reads about 5,982 characters of text from your HTML.
  • No next/image URLs in the HTML — images look like they are being served raw, which is usually the largest remaining win.
  • Time to first byte measured 830ms 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 verdek.com.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 (7 checks name a concrete remediation):

Read the speed report at https://xspeedcache.com/scan/r/verdek-com-3589836f79.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://verdek.com/"} to https://xspeedcache.com/api/scan and compare the scores.
How the checks are graded Scan another site
Hosting is half of every score — and 830ms to first byte says the origin is struggling. 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 →
A

Lab performance (Lighthouse)

4/5 checks passed · 36.8/40 pts earned
92/100
Partial
Lighthouse performance score (desktop) 14.8/18 pts
82/100 (Lighthouse 13.5.0, 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.
Pass
Largest Contentful Paint ≤ 2.5s 8/8 pts
LCP 1.7s
Pass
Cumulative Layout Shift ≤ 0.1 5/5 pts
CLS 0.002
Pass
Total Blocking Time ≤ 200ms 5/5 pts
TBT 112ms
Pass
First Contentful Paint ≤ 1.8s 4/4 pts
FCP 295ms
F

Server response & caching

3/6 checks passed · 12.5/23 pts earned
54/100
Fail
Time to first byte ≤ 200ms 0/8 pts
TTFB 830ms measured from Vilnius, Lithuania (EU) (best of 2 requests). This includes the network round trips between us and your origin, not just server time. Google measured your server responding in 6ms from its own network — the gap between the two numbers is distance, not your server.
The server rebuilds the page on every request. A page cache answers in 5–15ms.
xSpeed Free Page Cache
AI promptUsing my site's xSpeed MCP connection: enable page caching and warm this page with the preloader, then re-check TTFB.
N/A
Page served from cache —
Correctly per-visitor — this response is marked `private, no-cache, no-store, must-revalidate, private, no-cache, no-store, must-revalidate, max-age=0`, so it must not be held in a shared cache.
Nothing to fix. If parts of this page are the same for everyone, they can still be cached separately — but the page as a whole is right to opt out.
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% — 1 file: email-decode.min.js
Give CSS/JS/images long Cache-Control lifetimes so repeat views are free.
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
Cloudflare 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 — 2 files: b72161fa7548b7a3.css, 28cea32de0717b92.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.
Partial
Minified CSS and JavaScript 2/4 pts
Lighthouse audit score 50%
Ship minified assets — whitespace and comments are pure transfer waste.
xSpeed Free HTML/CSS/JS Minify
AI promptUsing my site's xSpeed MCP connection: enable HTML, CSS and JS minification, purge the cache, and re-test.
Fail
Modern, optimized image formats 0/4 pts
Fails the Lighthouse audit — 8 files: 1757916532SI7sW.jpg, 1757916333sw7IK.jpg, 1757916078e0g7Q.png… · ~50ms of first paint
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.
Pass
LCP image discoverable early 4/4 pts
Passes the Lighthouse audit
Fail
Total page weight ≤ 1.5MB 0/3 pts
8.5MB 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 verdek.com newest first · every report keeps its link

ScannedScoreGradeGraded onTTFBLighthouse
2026-09-29 02:55 UTC this report 67 D desktop 830ms 82
2026-09-07 16:30 UTC 77 C mobile 806ms 88 View report →
2026-09-07 14:26 UTC 61 D mobile 855ms 63 View report →
2026-09-07 12:30 UTC 94 A mobile 124ms 97 View report →
2026-09-07 01:32 UTC 69 D mobile 99ms 65 View report →
2026-09-07 01:30 UTC 68 D mobile 108ms 52 View report →
2026-09-07 00:48 UTC 75 C mobile 84ms 68 View report →
2026-09-07 00:43 UTC 62 D mobile 90ms 51 View report →
2026-09-07 00:25 UTC 75 C mobile 116ms 75 View report →
2026-09-07 00:15 UTC 76 C mobile 99ms 79 View report →

Reports graded on different runs are not a trend: mobile-graded rows are the older rubric's headline, desktop-graded rows the current one. Compare like with like.

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

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

Page caching, compression, image optimization and a built-in MCP server, so your AI assistant can run this playbook for you.

Scan verdek-com-3589836f79 · rubric v2026.09.5 · Lab data: Google PageSpeed Insights (Lighthouse 13.5.0), 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 verdek.com and would rather this report were not public? Email support@wpdeveloper.com and we will remove it.