# Website Speed Report — niagaraforge.ca

> **What this document is.** A point-in-time speed audit of https://niagaraforge.ca/,
> produced by xSpeed Scan (https://xspeedcache.com/scan). Evidence comes from two sources:
> server probes run from xspeedcache.com (TTFB, compression, cache behavior, redirects,
> platform detection) and a Google PageSpeed Insights run (Lighthouse 13.4.1, mobile).
>
> **How to read it.** Weighted checks roll up into four dimensions and one 0-100 score.
> Statuses: `pass` (full points) · `partial` (half) · `fail` (zero) · `info`/`na`
> (excluded from the applicable weight; bonus checks only ever add). Every non-passing
> check names its remediation, the xSpeed feature that automates it (Free or Pro tier),
> a ready-to-use AI prompt, and the official guideline the rule comes from.
>
> **How to act on it — detected state: WordPress, xSpeed not installed.**
> 1) Install the free xSpeed Cache plugin (https://wordpress.org/plugins/xspeed/) and run
> its setup wizard — that alone turns most of this report green.
> 2) Connect its MCP server: `wp xspeed mcp connect` (or wp-admin → xSpeed → MCP Server →
> Connect) and paste the URL into the AI client.
> 3) Run the per-check prompts below — or the one-shot prompt at the end — then re-test.
>
> **How to re-test.** Public API (no auth): `POST https://xspeedcache.com/api/scan`
> with body `{"url": "https://example.com"}`, then poll `GET /api/scan/{scanId}` for the
> JSON report. Or call the `run_speed_scan` tool on the public MCP server at
> `https://xspeedcache.com/mcp`. Fair-use limits: 4 scans per IP and 200 global per
> 10 minutes; re-scanning the same URL within 10 minutes returns the existing report,
> so scan → fix → wait ~10 minutes → re-scan is the intended loop.

**Score: 58/100 — Grade D · Level 2 (Slow)**

- Scanned: 2026-08-30T15:12:25.171Z
- Report (HTML): https://xspeedcache.com/scan/r/niagaraforge-ca-1fd8879b31
- Report (JSON): https://xspeedcache.com/api/scan/niagaraforge-ca-1fd8879b31
- Rubric: v2026.08.1
- Platform: WordPress 7.1
## Headline measurements

| Metric | Value |
|---|---|
| Time to first byte | 183ms |
| Lighthouse performance (mobile) | 81/100 |
| Largest Contentful Paint | 2.7s |
| Cumulative Layout Shift | 0.212 |
| Total Blocking Time | 0ms |
| HTML compression | gzip |
| Served from cache | no (MISS) |
| Redirects before final URL | 0 |

## Dimension scores

| Dimension | Score | Grade | Points |
|---|---|---|---|
| Core Web Vitals & lab metrics | 70/100 | C | 28.1/40 |
| Server response & caching | 57/100 | D | 12.5/22 |
| Asset optimization | 57/100 | D | 4/7 |
| Platform & xSpeed readiness | 0/100 | F | 0/8 |

## Core Web Vitals & lab metrics — 70/100 (C) · 28.1/40 pts

### [PARTIAL] S1 · Lighthouse performance score (mobile) (14.6/18 pts)

- Evidence: 81/100 (Lighthouse 13.4.1, mobile)
- Remediation: The composite Lighthouse score — every fix below moves it.
- xSpeed fix (Free): **AI Optimize**
- AI prompt: `Using my site's xSpeed MCP connection: run optimize_site, then run_benchmark to verify the score improved.`
- Guidelines: [Lighthouse performance scoring](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring)

### [PARTIAL] S2 · Largest Contentful Paint ≤ 2.5s (4/8 pts)

- Evidence: LCP 2.7s
- Remediation: Serve the hero content faster: cache the page, preload the LCP image, and ship critical CSS.
- xSpeed fix (Free): **Page Cache + Preloader (Critical CSS in Pro)**
- AI prompt: `Using 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.`
- Guidelines: [web.dev — Largest Contentful Paint](https://web.dev/articles/lcp) · [Optimize LCP](https://web.dev/articles/optimize-lcp)

### [PARTIAL] S3 · Cumulative Layout Shift ≤ 0.1 (2.5/5 pts)

- Evidence: CLS 0.212
- Remediation: Reserve space for images/embeds so the page does not jump as it loads.
- xSpeed fix (Free): **Lazy Load — CLS fix (adds width/height)**
- AI prompt: `Using my site's xSpeed MCP connection: enable lazy loading with the CLS fix so images reserve their space, then re-test CLS.`
- Guidelines: [web.dev — Cumulative Layout Shift](https://web.dev/articles/cls)

### [PASS] S4 · Total Blocking Time ≤ 200ms (5/5 pts)

- Evidence: TBT 0ms
- Guidelines: [web.dev — Total Blocking Time](https://web.dev/articles/tbt)

### [PARTIAL] S5 · First Contentful Paint ≤ 1.8s (2/4 pts)

- Evidence: FCP 2.6s
- Remediation: First paint is gated on server response and render-blocking CSS.
- xSpeed fix (Free): **Page Cache + CSS Minify**
- AI prompt: `Using my site's xSpeed MCP connection: enable page caching and CSS minification, then re-test First Contentful Paint.`
- Guidelines: [web.dev — First Contentful Paint](https://web.dev/articles/fcp)

## Server response & caching — 57/100 (D) · 12.5/22 pts

### [PASS] D1 · Time to first byte ≤ 200ms (8/8 pts)

- Evidence: TTFB 183ms (best of 2 requests from our scanner)
- Guidelines: [web.dev — Time to First Byte](https://web.dev/articles/ttfb)

### [FAIL] D2 · Page served from cache (0/7 pts)

- Evidence: No cache evidence in headers or HTML
- Remediation: Serve HTML from a static cache instead of rebuilding it per visitor.
- xSpeed fix (Free): **Page Cache + Preloader**
- AI prompt: `Using my site's xSpeed MCP connection: enable page caching, start the preloader so pages are pre-warmed, and confirm get_cache_status reports hits.`
- Guidelines: [MDN — HTTP caching](https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching)

### [PARTIAL] D3 · HTML compression (Brotli/GZIP) (2.5/5 pts)

- Evidence: Content-Encoding: gzip
- Remediation: Compress text responses — Brotli typically saves ~15–20% over GZIP.
- xSpeed fix (Free): **GZIP (Brotli in Pro)**
- AI prompt: `Using my site's xSpeed MCP connection: enable GZIP compression (and Brotli if Pro), then confirm the HTML response is compressed.`
- Guidelines: [MDN — Content-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding) · [RFC 7932 — Brotli](https://www.rfc-editor.org/rfc/rfc7932)

### [INFO] D4 · Efficient cache policy on static assets (0/5 pts)

- Evidence: Needs the Lighthouse audit
- Remediation: Re-run when Lighthouse is available.
- Guidelines: [Lighthouse — Efficient cache policy](https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl)

### [INFO] D5 · CDN / edge network (0/3 pts)

- Evidence: No CDN signature detected
- Remediation: Optional: put a CDN or Cloudflare in front for global edge delivery.
- xSpeed fix (Free): **Cloudflare integration / CDN rewriter**
- AI prompt: `Using my site's xSpeed MCP connection: connect Cloudflare (or configure the CDN rewriter) and purge, then re-scan.`
- Guidelines: [web.dev — Content delivery networks](https://web.dev/articles/content-delivery-networks)

### [PASS] D6 · Clean redirect chain (2/2 pts)

- Evidence: No redirects — the URL answers directly
- Guidelines: [Lighthouse — Avoid redirects](https://developer.chrome.com/docs/lighthouse/performance/redirects)

## Asset optimization — 57/100 (D) · 4/7 pts

### [INFO] A1 · No render-blocking resources (0/5 pts)

- Evidence: Audit not reported for this page
- Remediation: Re-run when Lighthouse is available.
- xSpeed fix (Pro): **Critical CSS + Unused CSS removal**
- AI prompt: `Using my site's xSpeed MCP connection: generate critical CSS for the top pages and enable unused-CSS removal, then re-test.`
- Guidelines: [Lighthouse — Render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources)

### [PASS] A2 · Minified CSS and JavaScript (4/4 pts)

- Evidence: Lighthouse audit score 100%
- Guidelines: [Lighthouse — Minify CSS](https://developer.chrome.com/docs/lighthouse/performance/unminified-css) · [Minify JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript)

### [INFO] A3 · Modern, optimized image formats (0/4 pts)

- Evidence: Audit not reported for this page
- Remediation: Re-run when Lighthouse is available.
- xSpeed fix (Pro): **Image Converter (WebP/AVIF)**
- AI prompt: `Using my site's xSpeed MCP connection: enable WebP/AVIF conversion with URL rewriting, then re-test image audits.`
- Guidelines: [Lighthouse — Modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images)

### [INFO] A4 · Offscreen images lazy-loaded (0/4 pts)

- Evidence: Audit not reported for this page
- Remediation: Re-run when Lighthouse is available.
- xSpeed fix (Free): **Lazy Load**
- AI prompt: `Using my site's xSpeed MCP connection: enable lazy loading for images and iframes, then re-test.`
- Guidelines: [Lighthouse — Defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images)

### [FAIL] A5 · Total page weight ≤ 1.5MB (0/3 pts)

- Evidence: 14.8MB transferred
- Remediation: Heavy pages are slow on every connection — compress, lazy-load, and trim.
- xSpeed fix (Free): **Minify + Lazy Load + Image Converter (Pro)**
- AI prompt: `Using my site's xSpeed MCP connection: enable minification and lazy loading (and image conversion on Pro), then re-check page weight.`
- Guidelines: [Lighthouse — Total byte weight](https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight)

## Platform & xSpeed readiness — 0/100 (F) · 0/8 pts

### [INFO] W1 · Platform

- Evidence: WordPress detected (WordPress 7.1)
- Remediation: Informational.

### [FAIL] W2 · Caching plugin active (0/4 pts)

- Evidence: No caching plugin detected
- Remediation: WordPress rebuilds every page in PHP unless a caching plugin serves it statically.
- xSpeed fix (Free): **xSpeed Cache (free on wordpress.org)**
- AI prompt: `Install and activate the xSpeed plugin from wordpress.org, run its setup wizard, and enable page caching.`
- Guidelines: [WordPress.org — Optimization: caching](https://wordpress.org/documentation/article/optimization/#Caching)

### [FAIL] W3 · Powered by xSpeed (0/4 pts)

- Evidence: xSpeed not detected
- Remediation: xSpeed bundles caching, minification, lazy-load, image optimization and an AI-controllable MCP server in one plugin — and imports settings from other caching plugins in one click.
- xSpeed fix (Free): **xSpeed Migration (one-click import)**
- AI prompt: `Install xSpeed and use its Migration tool to import your current caching settings, then deactivate the old plugin.`
- Guidelines: [xSpeed — feature overview](https://xspeedcache.com/features) · [xSpeed vs other cache plugins](https://xspeedcache.com/comparison)

### [INFO] W4 · AI-controllable (xSpeed MCP) (0/2 pts)

- Evidence: xSpeed MCP endpoint not reachable
- Remediation: Optional: connect xSpeed's built-in MCP server and your AI assistant can apply every fix in this report for you.
- xSpeed fix (Free): **MCP Server (built into xSpeed Free)**
- AI prompt: `In xSpeed → MCP Server, click Connect and paste the config into your AI client — then ask it to fix this report.`
- Guidelines: [Model Context Protocol](https://modelcontextprotocol.io/) · [xSpeed documentation](https://xspeedcache.com/docs)

## Fix everything with one prompt

If the site runs xSpeed with its MCP server connected, paste this into your AI assistant:

```
Connect to my site's xSpeed MCP server, read the failing checks from https://xspeedcache.com/scan/r/niagaraforge-ca-1fd8879b31, and apply the fixes: enable page caching, compression, minification and lazy loading, warm the cache, then run a benchmark to confirm the score improved.
```

Then re-test here: `POST https://xspeedcache.com/api/scan {"url": "https://niagaraforge.ca/"}`

---
Scan niagaraforge-ca-1fd8879b31 · rubric v2026.08.1 · xSpeed Scan — https://xspeedcache.com/scan
