{"scanId":"cincydeckandpatio-com-1793f78903","url":"https://cincydeckandpatio.com/","finalUrl":"https://cincydeckandpatio.com/","status":"complete","source":"web","visibility":"listed","scannedAt":"2026-09-29T22:48:01.962Z","durationMs":24924,"rubricVersion":"2026.09.5","strategy":"both","device":"mobile","devices":{"desktop":{"device":"desktop","lighthouse":null,"lighthouseVersion":null,"psiError":"PSI answered 400","lighthouseAnalysedAt":null,"lighthouseReplayed":null,"metrics":{},"field":null,"checks":[{"id":"S1","name":"Lighthouse performance score (mobile)","dimension":"speed","weight":18,"status":"info","earned":0,"evidence":"Lighthouse unavailable — PSI answered 400","naReason":"Lighthouse unavailable — PSI answered 400","remediation":"Re-run the scan in a few minutes for the Lighthouse half of the report.","refs":[{"name":"Lighthouse performance scoring","url":"https://developer.chrome.com/docs/lighthouse/performance/performance-scoring"}]},{"id":"S2","name":"Largest Contentful Paint ≤ 2.5s","dimension":"speed","weight":8,"status":"info","earned":0,"evidence":"Lighthouse unavailable — PSI answered 400","naReason":"Lighthouse unavailable — PSI answered 400","remediation":"Re-run the scan in a few minutes for the Lighthouse half of the report.","refs":[{"name":"web.dev — Largest Contentful Paint","url":"https://web.dev/articles/lcp"},{"name":"Optimize LCP","url":"https://web.dev/articles/optimize-lcp"}]},{"id":"S3","name":"Cumulative Layout Shift ≤ 0.1","dimension":"speed","weight":5,"status":"info","earned":0,"evidence":"Lighthouse unavailable — PSI answered 400","naReason":"Lighthouse unavailable — PSI answered 400","remediation":"Re-run the scan in a few minutes for the Lighthouse half of the report.","refs":[{"name":"web.dev — Cumulative Layout Shift","url":"https://web.dev/articles/cls"}]},{"id":"S4","name":"Total Blocking Time ≤ 200ms","dimension":"speed","weight":5,"status":"info","earned":0,"evidence":"Lighthouse unavailable — PSI answered 400","naReason":"Lighthouse unavailable — PSI answered 400","remediation":"Re-run the scan in a few minutes for the Lighthouse half of the report.","refs":[{"name":"web.dev — Total Blocking Time","url":"https://web.dev/articles/tbt"}]},{"id":"S5","name":"First Contentful Paint ≤ 1.8s","dimension":"speed","weight":4,"status":"info","earned":0,"evidence":"Lighthouse unavailable — PSI answered 400","naReason":"Lighthouse unavailable — PSI answered 400","remediation":"Re-run the scan in a few minutes for the Lighthouse half of the report.","refs":[{"name":"web.dev — First Contentful Paint","url":"https://web.dev/articles/fcp"}]},{"id":"D1","name":"Time to first byte ≤ 200ms","dimension":"delivery","weight":8,"status":"fail","earned":0,"evidence":"TTFB 777ms measured from Vilnius, Lithuania (EU) (best of 2 requests). This includes the network round trips between us and your origin, not just server time.","remediation":"The server rebuilds the page on every request. A page cache answers in 5–15ms.","fix":{"tier":"free","feature":"Page Cache","prompt":"Using my site's xSpeed MCP connection: enable page caching and warm this page with the preloader, then re-check TTFB."},"refs":[{"name":"web.dev — Time to First Byte","url":"https://web.dev/articles/ttfb"}]},{"id":"D2","name":"Page served from cache","dimension":"delivery","weight":7,"status":"fail","earned":0,"evidence":"No cache evidence in headers or HTML","remediation":"Serve HTML from a static cache instead of rebuilding it per visitor.","fix":{"tier":"free","feature":"Page Cache + Preloader","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."},"refs":[{"name":"MDN — HTTP caching","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching"}]},{"id":"D3","name":"HTML compression (Brotli/GZIP)","dimension":"delivery","weight":5,"status":"partial","earned":2.5,"evidence":"Content-Encoding: gzip","remediation":"Compress text responses — Brotli typically saves ~15–20% over GZIP.","fix":{"tier":"free","feature":"GZIP (Brotli in Pro)","prompt":"Using my site's xSpeed MCP connection: enable GZIP compression (and Brotli if Pro), then confirm the HTML response is compressed."},"refs":[{"name":"MDN — Content-Encoding","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding"},{"name":"RFC 7932 — Brotli","url":"https://www.rfc-editor.org/rfc/rfc7932"}]},{"id":"D4","name":"Efficient cache policy on static assets","dimension":"delivery","weight":5,"status":"info","earned":0,"evidence":"Needs the Lighthouse audit","naReason":"Needs the Lighthouse audit","remediation":"Re-run when Lighthouse is available.","refs":[{"name":"Lighthouse — Efficient cache policy","url":"https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl"}]},{"id":"D5","name":"CDN / edge network","dimension":"delivery","weight":3,"optional":true,"status":"info","earned":0,"evidence":"No CDN signature detected","naReason":"Optional — a bonus when present.","remediation":"Optional: put a CDN or Cloudflare in front for global edge delivery.","fix":{"tier":"free","feature":"Cloudflare integration / CDN rewriter","prompt":"Using my site's xSpeed MCP connection: connect Cloudflare (or configure the CDN rewriter) and purge, then re-scan."},"refs":[{"name":"web.dev — Content delivery networks","url":"https://web.dev/articles/content-delivery-networks"}]},{"id":"D6","name":"Clean redirect chain","dimension":"delivery","weight":2,"status":"pass","earned":2,"evidence":"No redirects — the URL answers directly","remediation":"Each redirect adds a full round-trip before the page can even start.","refs":[{"name":"Lighthouse — Avoid redirects","url":"https://developer.chrome.com/docs/lighthouse/performance/redirects"}]},{"id":"A1","name":"No render-blocking resources","dimension":"assets","weight":5,"status":"info","earned":0,"evidence":"Needs Lighthouse","naReason":"Needs Lighthouse","remediation":"Re-run when Lighthouse is available.","fix":{"tier":"pro","feature":"Critical CSS + Unused CSS removal","prompt":"Using my site's xSpeed MCP connection: generate critical CSS for the top pages and enable unused-CSS removal, then re-test."},"refs":[{"name":"Lighthouse — Render-blocking resources","url":"https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources"}]},{"id":"A2","name":"Minified CSS and JavaScript","dimension":"assets","weight":4,"status":"info","earned":0,"evidence":"Needs Lighthouse","naReason":"Needs Lighthouse","remediation":"Re-run when Lighthouse is available.","fix":{"tier":"free","feature":"HTML/CSS/JS Minify","prompt":"Using my site's xSpeed MCP connection: enable HTML, CSS and JS minification, purge the cache, and re-test."},"refs":[{"name":"Lighthouse — Minify CSS","url":"https://developer.chrome.com/docs/lighthouse/performance/unminified-css"},{"name":"Minify JavaScript","url":"https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript"}]},{"id":"A3","name":"Modern, optimized image formats","dimension":"assets","weight":4,"status":"info","earned":0,"evidence":"Needs Lighthouse","naReason":"Needs Lighthouse","remediation":"Re-run when Lighthouse is available.","fix":{"tier":"pro","feature":"Image Converter (WebP/AVIF)","prompt":"Using my site's xSpeed MCP connection: enable WebP/AVIF conversion with URL rewriting, then re-test image audits."},"refs":[{"name":"Lighthouse — Modern image formats","url":"https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images"}]},{"id":"A6","name":"LCP image discoverable early","dimension":"assets","weight":4,"status":"info","earned":0,"evidence":"Needs Lighthouse","naReason":"Needs Lighthouse","remediation":"Re-run when Lighthouse is available.","fix":{"tier":"free","feature":"Resource Hints (preload) + Lazy Load exclusions","prompt":"Using my site's xSpeed MCP connection: preload the LCP image for this page and exclude it from lazy loading, then re-test LCP."},"refs":[{"name":"web.dev — Optimize LCP","url":"https://web.dev/articles/optimize-lcp"},{"name":"Lighthouse — LCP request discovery","url":"https://developer.chrome.com/docs/lighthouse/performance/prioritize-lcp-image"}]},{"id":"A5","name":"Total page weight ≤ 1.5MB","dimension":"assets","weight":3,"status":"info","earned":0,"evidence":"Needs Lighthouse","naReason":"Needs Lighthouse","remediation":"Re-run when Lighthouse is available.","refs":[{"name":"Lighthouse — Total byte weight","url":"https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight"}]},{"id":"W1","name":"Platform","dimension":"stack","weight":0,"status":"info","earned":0,"evidence":"Platform not identified","remediation":"Informational.","refs":[]},{"id":"W2","name":"Caching plugin active","dimension":"stack","weight":4,"status":"na","earned":0,"evidence":"Not a WordPress site","naReason":"xSpeed is a WordPress plugin; these checks apply to WordPress sites.","remediation":"—","refs":[{"name":"WordPress.org — Optimization: caching","url":"https://wordpress.org/documentation/article/optimization/#Caching"}]},{"id":"W3","name":"Powered by xSpeed","dimension":"stack","weight":4,"status":"na","earned":0,"evidence":"Not a WordPress site","naReason":"xSpeed is a WordPress plugin; these checks apply to WordPress sites.","remediation":"—","refs":[{"name":"xSpeed — feature overview","url":"https://xspeedcache.com/features"},{"name":"xSpeed vs other cache plugins","url":"https://xspeedcache.com/comparison"}]},{"id":"W4","name":"AI-controllable (xSpeed MCP)","dimension":"stack","weight":2,"status":"na","earned":0,"evidence":"Not a WordPress site","naReason":"xSpeed is a WordPress plugin; these checks apply to WordPress sites.","remediation":"—","refs":[{"name":"Model Context Protocol","url":"https://modelcontextprotocol.io/"},{"name":"xSpeed documentation","url":"https://xspeedcache.com/docs"}]}],"dimensions":{"speed":{"earned":0,"weight":0,"score":0,"applicable":false},"delivery":{"earned":4.5,"weight":22,"score":20,"applicable":true},"assets":{"earned":0,"weight":0,"score":0,"applicable":false},"stack":{"earned":0,"weight":0,"score":0,"applicable":false}},"overallScore":20,"gradedWeight":22,"grade":"F","level":1,"levelName":"Critical","partial":true,"unanalysable":true},"mobile":{"device":"mobile","lighthouse":0,"lighthouseVersion":"13.5.0","psiError":null,"lighthouseAnalysedAt":"2026-09-29T22:47:42.476Z","lighthouseReplayed":false,"metrics":{"lcpMs":null,"cls":0,"tbtMs":null,"fcpMs":3302.0211794471697,"speedIndexMs":null,"serverResponseMs":110,"totalBytes":3521148},"field":null,"checks":[{"id":"S1","name":"Lighthouse performance score (mobile)","dimension":"speed","weight":18,"status":"fail","earned":0,"evidence":"0/100 (Lighthouse 13.5.0, mobile)","remediation":"The composite Lighthouse score — every fix below moves it.","fix":{"tier":"free","feature":"AI Optimize","prompt":"Using my site's xSpeed MCP connection: run optimize_site, then run_benchmark to verify the score improved."},"refs":[{"name":"Lighthouse performance scoring","url":"https://developer.chrome.com/docs/lighthouse/performance/performance-scoring"}]},{"id":"S2","name":"Largest Contentful Paint ≤ 2.5s","dimension":"speed","weight":8,"status":"fail","earned":0,"evidence":"LCP —","remediation":"Serve the hero content faster: cache the page, preload the LCP image, and ship critical CSS.","fix":{"tier":"free","feature":"Page Cache + Preloader (Critical CSS in Pro)","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."},"refs":[{"name":"web.dev — Largest Contentful Paint","url":"https://web.dev/articles/lcp"},{"name":"Optimize LCP","url":"https://web.dev/articles/optimize-lcp"}]},{"id":"S3","name":"Cumulative Layout Shift ≤ 0.1","dimension":"speed","weight":5,"status":"pass","earned":5,"evidence":"CLS 0.000","remediation":"Reserve space for images/embeds so the page does not jump as it loads.","refs":[{"name":"web.dev — Cumulative Layout Shift","url":"https://web.dev/articles/cls"}]},{"id":"S4","name":"Total Blocking Time ≤ 200ms","dimension":"speed","weight":5,"status":"fail","earned":0,"evidence":"TBT —","remediation":"Less JavaScript on the main thread: defer scripts and drop unused bundles.","fix":{"tier":"free","feature":"JS Minify + Defer","prompt":"Using my site's xSpeed MCP connection: enable JS minification and deferred loading, then re-test Total Blocking Time."},"refs":[{"name":"web.dev — Total Blocking Time","url":"https://web.dev/articles/tbt"}]},{"id":"S5","name":"First Contentful Paint ≤ 1.8s","dimension":"speed","weight":4,"status":"fail","earned":0,"evidence":"FCP 3.3s","remediation":"First paint is gated on server response and render-blocking CSS.","fix":{"tier":"free","feature":"Page Cache + CSS Minify","prompt":"Using my site's xSpeed MCP connection: enable page caching and CSS minification, then re-test First Contentful Paint."},"refs":[{"name":"web.dev — First Contentful Paint","url":"https://web.dev/articles/fcp"}]},{"id":"D1","name":"Time to first byte ≤ 200ms","dimension":"delivery","weight":8,"status":"fail","earned":0,"evidence":"TTFB 777ms 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 110ms from its own network — the gap between the two numbers is distance, not your server.","remediation":"The server rebuilds the page on every request. A page cache answers in 5–15ms.","fix":{"tier":"free","feature":"Page Cache","prompt":"Using my site's xSpeed MCP connection: enable page caching and warm this page with the preloader, then re-check TTFB."},"refs":[{"name":"web.dev — Time to First Byte","url":"https://web.dev/articles/ttfb"}]},{"id":"D2","name":"Page served from cache","dimension":"delivery","weight":7,"status":"fail","earned":0,"evidence":"No cache evidence in headers or HTML","remediation":"Serve HTML from a static cache instead of rebuilding it per visitor.","fix":{"tier":"free","feature":"Page Cache + Preloader","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."},"refs":[{"name":"MDN — HTTP caching","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching"}]},{"id":"D3","name":"HTML compression (Brotli/GZIP)","dimension":"delivery","weight":5,"status":"partial","earned":2.5,"evidence":"Content-Encoding: gzip","remediation":"Compress text responses — Brotli typically saves ~15–20% over GZIP.","fix":{"tier":"free","feature":"GZIP (Brotli in Pro)","prompt":"Using my site's xSpeed MCP connection: enable GZIP compression (and Brotli if Pro), then confirm the HTML response is compressed."},"refs":[{"name":"MDN — Content-Encoding","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding"},{"name":"RFC 7932 — Brotli","url":"https://www.rfc-editor.org/rfc/rfc7932"}]},{"id":"D4","name":"Efficient cache policy on static assets","dimension":"delivery","weight":5,"status":"fail","earned":0,"evidence":"Fails the Lighthouse cache-policy audit — 2 files: widget.js (cdn.elementor.com), logo_48.png (gstatic.com)","remediation":"Every asset with a short cache lifetime here is served by another host (cdn.elementor.com, gstatic.com). Their Cache-Control is not yours to set — this check will not clear while you load them.","fix":{"tier":"free","feature":"Browser Cache","prompt":"Using my site's xSpeed MCP connection: enable browser-cache headers for static assets, then re-run the audit."},"refs":[{"name":"Lighthouse — Efficient cache policy","url":"https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl"}]},{"id":"D5","name":"CDN / edge network","dimension":"delivery","weight":3,"optional":true,"status":"info","earned":0,"evidence":"No CDN signature detected","naReason":"Optional — a bonus when present.","remediation":"Optional: put a CDN or Cloudflare in front for global edge delivery.","fix":{"tier":"free","feature":"Cloudflare integration / CDN rewriter","prompt":"Using my site's xSpeed MCP connection: connect Cloudflare (or configure the CDN rewriter) and purge, then re-scan."},"refs":[{"name":"web.dev — Content delivery networks","url":"https://web.dev/articles/content-delivery-networks"}]},{"id":"D6","name":"Clean redirect chain","dimension":"delivery","weight":2,"status":"pass","earned":2,"evidence":"No redirects — the URL answers directly","remediation":"Each redirect adds a full round-trip before the page can even start.","refs":[{"name":"Lighthouse — Avoid redirects","url":"https://developer.chrome.com/docs/lighthouse/performance/redirects"}]},{"id":"A1","name":"No render-blocking resources","dimension":"assets","weight":5,"status":"fail","earned":0,"evidence":"Fails the Lighthouse audit — 4 files: siteground-optimizer-combined-css-b1af0c146082f37d132c7aead66f13ff.css, jquery.min.js, base-mobile.min.css…","remediation":"CSS/JS in <head> blocks first paint. Inline the critical CSS and defer the rest.","fix":{"tier":"pro","feature":"Critical CSS + Unused CSS removal","prompt":"Using my site's xSpeed MCP connection: generate critical CSS for the top pages and enable unused-CSS removal, then re-test."},"refs":[{"name":"Lighthouse — Render-blocking resources","url":"https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources"}]},{"id":"A2","name":"Minified CSS and JavaScript","dimension":"assets","weight":4,"status":"info","earned":0,"evidence":"Audit not reported for this page","naReason":"Audit not reported for this page","remediation":"Re-run when Lighthouse is available.","fix":{"tier":"free","feature":"HTML/CSS/JS Minify","prompt":"Using my site's xSpeed MCP connection: enable HTML, CSS and JS minification, purge the cache, and re-test."},"refs":[{"name":"Lighthouse — Minify CSS","url":"https://developer.chrome.com/docs/lighthouse/performance/unminified-css"},{"name":"Minify JavaScript","url":"https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript"}]},{"id":"A3","name":"Modern, optimized image formats","dimension":"assets","weight":4,"status":"pass","earned":4,"evidence":"Passes the Lighthouse audit","remediation":"Serve WebP/AVIF at the right compression — usually the single largest byte saving.","refs":[{"name":"Lighthouse — Modern image formats","url":"https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images"}]},{"id":"A6","name":"LCP image discoverable early","dimension":"assets","weight":4,"status":"info","earned":0,"evidence":"Audit not reported for this page","naReason":"Audit not reported for this page","remediation":"Re-run when Lighthouse is available.","fix":{"tier":"free","feature":"Resource Hints (preload) + Lazy Load exclusions","prompt":"Using my site's xSpeed MCP connection: preload the LCP image for this page and exclude it from lazy loading, then re-test LCP."},"refs":[{"name":"web.dev — Optimize LCP","url":"https://web.dev/articles/optimize-lcp"},{"name":"Lighthouse — LCP request discovery","url":"https://developer.chrome.com/docs/lighthouse/performance/prioritize-lcp-image"}]},{"id":"A5","name":"Total page weight ≤ 1.5MB","dimension":"assets","weight":3,"status":"fail","earned":0,"evidence":"3.4MB transferred","remediation":"Heavy pages are slow on every connection — compress, lazy-load, and trim.","fix":{"tier":"free","feature":"Minify + Lazy Load + Image Converter (Pro)","prompt":"Using my site's xSpeed MCP connection: enable minification and lazy loading (and image conversion on Pro), then re-check page weight."},"refs":[{"name":"Lighthouse — Total byte weight","url":"https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight"}]},{"id":"W1","name":"Platform","dimension":"stack","weight":0,"status":"info","earned":0,"evidence":"Platform not identified","remediation":"Informational.","refs":[]},{"id":"W2","name":"Caching plugin active","dimension":"stack","weight":4,"status":"na","earned":0,"evidence":"Not a WordPress site","naReason":"xSpeed is a WordPress plugin; these checks apply to WordPress sites.","remediation":"—","refs":[{"name":"WordPress.org — Optimization: caching","url":"https://wordpress.org/documentation/article/optimization/#Caching"}]},{"id":"W3","name":"Powered by xSpeed","dimension":"stack","weight":4,"status":"na","earned":0,"evidence":"Not a WordPress site","naReason":"xSpeed is a WordPress plugin; these checks apply to WordPress sites.","remediation":"—","refs":[{"name":"xSpeed — feature overview","url":"https://xspeedcache.com/features"},{"name":"xSpeed vs other cache plugins","url":"https://xspeedcache.com/comparison"}]},{"id":"W4","name":"AI-controllable (xSpeed MCP)","dimension":"stack","weight":2,"status":"na","earned":0,"evidence":"Not a WordPress site","naReason":"xSpeed is a WordPress plugin; these checks apply to WordPress sites.","remediation":"—","refs":[{"name":"Model Context Protocol","url":"https://modelcontextprotocol.io/"},{"name":"xSpeed documentation","url":"https://xspeedcache.com/docs"}]}],"dimensions":{"speed":{"earned":5,"weight":40,"score":13,"applicable":true},"delivery":{"earned":4.5,"weight":27,"score":17,"applicable":true},"assets":{"earned":4,"weight":12,"score":33,"applicable":true},"stack":{"earned":0,"weight":0,"score":0,"applicable":false}},"overallScore":17,"gradedWeight":79,"grade":"F","level":1,"levelName":"Critical","partial":false,"unanalysable":false}},"engine":{"probes":"xspeed-scan/1.0","lighthouse":"13.5.0","psiError":null,"lighthouseAnalysedAt":"2026-09-29T22:47:42.476Z","lighthouseReplayed":false},"platform":{"wordpress":false,"generator":null,"cachePlugin":null,"xspeed":false,"xspeedVersion":null,"xspeedProVersion":null,"xspeedMcp":false,"xspeedHub":null,"cdn":null,"edgeFingerprint":null,"crawlerTextChars":105,"renderCache":null,"usesNextImage":false,"stackName":null,"saas":false,"hosting":null},"measured":{"ttfbMs":777,"serverTimingMs":null,"proberRegion":"Vilnius, Lithuania (EU)","redirects":0,"compression":"gzip","cacheHit":false,"staticFile":false,"lighthouse":0,"lcpMs":null,"cls":0,"tbtMs":null,"lighthouseDesktop":null,"lighthouseMobile":0},"icon":null,"restricted":null,"screenshot":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAHyAPoDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAj/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AKpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//9k=","screenshotDesktop":null,"checks":[{"id":"S1","name":"Lighthouse performance score (mobile)","dimension":"speed","weight":18,"status":"fail","earned":0,"evidence":"0/100 (Lighthouse 13.5.0, mobile)","remediation":"The composite Lighthouse score — every fix below moves it.","fix":{"tier":"free","feature":"AI Optimize","prompt":"Using my site's xSpeed MCP connection: run optimize_site, then run_benchmark to verify the score improved."},"refs":[{"name":"Lighthouse performance scoring","url":"https://developer.chrome.com/docs/lighthouse/performance/performance-scoring"}]},{"id":"S2","name":"Largest Contentful Paint ≤ 2.5s","dimension":"speed","weight":8,"status":"fail","earned":0,"evidence":"LCP —","remediation":"Serve the hero content faster: cache the page, preload the LCP image, and ship critical CSS.","fix":{"tier":"free","feature":"Page Cache + Preloader (Critical CSS in Pro)","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."},"refs":[{"name":"web.dev — Largest Contentful Paint","url":"https://web.dev/articles/lcp"},{"name":"Optimize LCP","url":"https://web.dev/articles/optimize-lcp"}]},{"id":"S3","name":"Cumulative Layout Shift ≤ 0.1","dimension":"speed","weight":5,"status":"pass","earned":5,"evidence":"CLS 0.000","remediation":"Reserve space for images/embeds so the page does not jump as it loads.","refs":[{"name":"web.dev — Cumulative Layout Shift","url":"https://web.dev/articles/cls"}]},{"id":"S4","name":"Total Blocking Time ≤ 200ms","dimension":"speed","weight":5,"status":"fail","earned":0,"evidence":"TBT —","remediation":"Less JavaScript on the main thread: defer scripts and drop unused bundles.","fix":{"tier":"free","feature":"JS Minify + Defer","prompt":"Using my site's xSpeed MCP connection: enable JS minification and deferred loading, then re-test Total Blocking Time."},"refs":[{"name":"web.dev — Total Blocking Time","url":"https://web.dev/articles/tbt"}]},{"id":"S5","name":"First Contentful Paint ≤ 1.8s","dimension":"speed","weight":4,"status":"fail","earned":0,"evidence":"FCP 3.3s","remediation":"First paint is gated on server response and render-blocking CSS.","fix":{"tier":"free","feature":"Page Cache + CSS Minify","prompt":"Using my site's xSpeed MCP connection: enable page caching and CSS minification, then re-test First Contentful Paint."},"refs":[{"name":"web.dev — First Contentful Paint","url":"https://web.dev/articles/fcp"}]},{"id":"D1","name":"Time to first byte ≤ 200ms","dimension":"delivery","weight":8,"status":"fail","earned":0,"evidence":"TTFB 777ms 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 110ms from its own network — the gap between the two numbers is distance, not your server.","remediation":"The server rebuilds the page on every request. A page cache answers in 5–15ms.","fix":{"tier":"free","feature":"Page Cache","prompt":"Using my site's xSpeed MCP connection: enable page caching and warm this page with the preloader, then re-check TTFB."},"refs":[{"name":"web.dev — Time to First Byte","url":"https://web.dev/articles/ttfb"}]},{"id":"D2","name":"Page served from cache","dimension":"delivery","weight":7,"status":"fail","earned":0,"evidence":"No cache evidence in headers or HTML","remediation":"Serve HTML from a static cache instead of rebuilding it per visitor.","fix":{"tier":"free","feature":"Page Cache + Preloader","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."},"refs":[{"name":"MDN — HTTP caching","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching"}]},{"id":"D3","name":"HTML compression (Brotli/GZIP)","dimension":"delivery","weight":5,"status":"partial","earned":2.5,"evidence":"Content-Encoding: gzip","remediation":"Compress text responses — Brotli typically saves ~15–20% over GZIP.","fix":{"tier":"free","feature":"GZIP (Brotli in Pro)","prompt":"Using my site's xSpeed MCP connection: enable GZIP compression (and Brotli if Pro), then confirm the HTML response is compressed."},"refs":[{"name":"MDN — Content-Encoding","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding"},{"name":"RFC 7932 — Brotli","url":"https://www.rfc-editor.org/rfc/rfc7932"}]},{"id":"D4","name":"Efficient cache policy on static assets","dimension":"delivery","weight":5,"status":"fail","earned":0,"evidence":"Fails the Lighthouse cache-policy audit — 2 files: widget.js (cdn.elementor.com), logo_48.png (gstatic.com)","remediation":"Every asset with a short cache lifetime here is served by another host (cdn.elementor.com, gstatic.com). Their Cache-Control is not yours to set — this check will not clear while you load them.","fix":{"tier":"free","feature":"Browser Cache","prompt":"Using my site's xSpeed MCP connection: enable browser-cache headers for static assets, then re-run the audit."},"refs":[{"name":"Lighthouse — Efficient cache policy","url":"https://developer.chrome.com/docs/lighthouse/performance/uses-long-cache-ttl"}]},{"id":"D5","name":"CDN / edge network","dimension":"delivery","weight":3,"optional":true,"status":"info","earned":0,"evidence":"No CDN signature detected","naReason":"Optional — a bonus when present.","remediation":"Optional: put a CDN or Cloudflare in front for global edge delivery.","fix":{"tier":"free","feature":"Cloudflare integration / CDN rewriter","prompt":"Using my site's xSpeed MCP connection: connect Cloudflare (or configure the CDN rewriter) and purge, then re-scan."},"refs":[{"name":"web.dev — Content delivery networks","url":"https://web.dev/articles/content-delivery-networks"}]},{"id":"D6","name":"Clean redirect chain","dimension":"delivery","weight":2,"status":"pass","earned":2,"evidence":"No redirects — the URL answers directly","remediation":"Each redirect adds a full round-trip before the page can even start.","refs":[{"name":"Lighthouse — Avoid redirects","url":"https://developer.chrome.com/docs/lighthouse/performance/redirects"}]},{"id":"A1","name":"No render-blocking resources","dimension":"assets","weight":5,"status":"fail","earned":0,"evidence":"Fails the Lighthouse audit — 4 files: siteground-optimizer-combined-css-b1af0c146082f37d132c7aead66f13ff.css, jquery.min.js, base-mobile.min.css…","remediation":"CSS/JS in <head> blocks first paint. Inline the critical CSS and defer the rest.","fix":{"tier":"pro","feature":"Critical CSS + Unused CSS removal","prompt":"Using my site's xSpeed MCP connection: generate critical CSS for the top pages and enable unused-CSS removal, then re-test."},"refs":[{"name":"Lighthouse — Render-blocking resources","url":"https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources"}]},{"id":"A2","name":"Minified CSS and JavaScript","dimension":"assets","weight":4,"status":"info","earned":0,"evidence":"Audit not reported for this page","naReason":"Audit not reported for this page","remediation":"Re-run when Lighthouse is available.","fix":{"tier":"free","feature":"HTML/CSS/JS Minify","prompt":"Using my site's xSpeed MCP connection: enable HTML, CSS and JS minification, purge the cache, and re-test."},"refs":[{"name":"Lighthouse — Minify CSS","url":"https://developer.chrome.com/docs/lighthouse/performance/unminified-css"},{"name":"Minify JavaScript","url":"https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript"}]},{"id":"A3","name":"Modern, optimized image formats","dimension":"assets","weight":4,"status":"pass","earned":4,"evidence":"Passes the Lighthouse audit","remediation":"Serve WebP/AVIF at the right compression — usually the single largest byte saving.","refs":[{"name":"Lighthouse — Modern image formats","url":"https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images"}]},{"id":"A6","name":"LCP image discoverable early","dimension":"assets","weight":4,"status":"info","earned":0,"evidence":"Audit not reported for this page","naReason":"Audit not reported for this page","remediation":"Re-run when Lighthouse is available.","fix":{"tier":"free","feature":"Resource Hints (preload) + Lazy Load exclusions","prompt":"Using my site's xSpeed MCP connection: preload the LCP image for this page and exclude it from lazy loading, then re-test LCP."},"refs":[{"name":"web.dev — Optimize LCP","url":"https://web.dev/articles/optimize-lcp"},{"name":"Lighthouse — LCP request discovery","url":"https://developer.chrome.com/docs/lighthouse/performance/prioritize-lcp-image"}]},{"id":"A5","name":"Total page weight ≤ 1.5MB","dimension":"assets","weight":3,"status":"fail","earned":0,"evidence":"3.4MB transferred","remediation":"Heavy pages are slow on every connection — compress, lazy-load, and trim.","fix":{"tier":"free","feature":"Minify + Lazy Load + Image Converter (Pro)","prompt":"Using my site's xSpeed MCP connection: enable minification and lazy loading (and image conversion on Pro), then re-check page weight."},"refs":[{"name":"Lighthouse — Total byte weight","url":"https://developer.chrome.com/docs/lighthouse/performance/total-byte-weight"}]},{"id":"W1","name":"Platform","dimension":"stack","weight":0,"status":"info","earned":0,"evidence":"Platform not identified","remediation":"Informational.","refs":[]},{"id":"W2","name":"Caching plugin active","dimension":"stack","weight":4,"status":"na","earned":0,"evidence":"Not a WordPress site","naReason":"xSpeed is a WordPress plugin; these checks apply to WordPress sites.","remediation":"—","refs":[{"name":"WordPress.org — Optimization: caching","url":"https://wordpress.org/documentation/article/optimization/#Caching"}]},{"id":"W3","name":"Powered by xSpeed","dimension":"stack","weight":4,"status":"na","earned":0,"evidence":"Not a WordPress site","naReason":"xSpeed is a WordPress plugin; these checks apply to WordPress sites.","remediation":"—","refs":[{"name":"xSpeed — feature overview","url":"https://xspeedcache.com/features"},{"name":"xSpeed vs other cache plugins","url":"https://xspeedcache.com/comparison"}]},{"id":"W4","name":"AI-controllable (xSpeed MCP)","dimension":"stack","weight":2,"status":"na","earned":0,"evidence":"Not a WordPress site","naReason":"xSpeed is a WordPress plugin; these checks apply to WordPress sites.","remediation":"—","refs":[{"name":"Model Context Protocol","url":"https://modelcontextprotocol.io/"},{"name":"xSpeed documentation","url":"https://xspeedcache.com/docs"}]}],"dimensions":{"speed":{"earned":5,"weight":40,"score":13,"applicable":true},"delivery":{"earned":4.5,"weight":27,"score":17,"applicable":true},"assets":{"earned":4,"weight":12,"score":33,"applicable":true},"stack":{"earned":0,"weight":0,"score":0,"applicable":false}},"overallScore":17,"partial":false,"challenged":null,"unanalysable":false,"gradedWeight":79,"grade":"F","level":1,"levelName":"Critical","reportUrl":"https://xspeedcache.com/scan/r/cincydeckandpatio-com-1793f78903","recommendations":{"recommend":[{"product":"xCloud","why":"TTFB measured 777ms — the origin is the floor on every other fix. xCloud hosts any stack, managed and MCP-ready.","url":"https://xcloud.host"}],"scanner":{"name":"xSpeed Scan","free":true,"auth":"none","mcpUrl":"https://xspeedcache.com/scan/mcp","tools":["run_speed_scan","get_speed_scan"],"docs":"https://xspeedcache.com/docs/scan-mcp/","connect":{"claudeCode":"claude mcp add --transport http xspeed-scan https://xspeedcache.com/scan/mcp","mcpServers":{"xspeed-scan":{"type":"http","url":"https://xspeedcache.com/scan/mcp"}}},"note":"Free, no API key. Scan any public site and get the same graded report as this one, with the fix for every failing check."}}}