Performance report
pinesrunningco.com
- WordPress
- nginx
- PHP
87 out of 100
Warp Score
B Good
- TTFB — Goodserver response
- 67 ms
- LCP — Poorlab
- 5.9 s
- LCP — Goodlab
- 1.0 s
- INPno field data
- —
- CLS — Goodlab
- 0
- CLS — Goodlab
- 0
- Desktop — GoodLighthouse
- 98
- Mobile — Needs improvementLighthouse
- 66
- Transfer
- 865 KB
- Transfer
- 866 KB
- Requests
- 23
- Requests
- 17
Overview
Score breakdown
Performance
C79 / 100
Lighthouse scored this page 66 on mobile and 98 on desktop.
Core Web Vitals
— not scored
Not enough Chrome UX Report data is available for this URL.
Server & Cache
A+100 / 100
HTML is served from cache by Proxy cache with a warm TTFB of 67 ms.
Assets
B83 / 100
865 KB transferred in 23 requests, including 91 KB of JavaScript.
Delivery
A93 / 100
Delivered with HTTP/2, Gzip compression, no CDN detected.
Top improvements
Eliminate render-blocking resources
5 stylesheets and scripts block the first paint.
Evidence
- pinesrunningcocomb3d89.zapwp.com/wp-con…css/frontend-layer.min.css?icv=115d8e1b (1.4 s)
- pinesrunningcocomb3d89.zapwp.com/wp-con…utomatic-css/automatic.css?icv=b1867de7 (1.1 s)
- pinesrunningcocomb3d89.zapwp.com/wp-con…mes/bricks-child/style.css?icv=98c4d884 (751 ms)
Why it matters
The browser cannot draw anything until these files are downloaded and processed, which delays FCP and LCP.
How to fix
Inline the CSS needed for the first screen and load the rest asynchronously; defer scripts that are not needed to render the page.
Related metric: LCP
In Warp PerformanceWarp Performance → CSS → Remove Unused CSSWarp Performance → JavaScript → Defer JavaScriptKeep text visible while fonts load
2 web fonts hide text until they have loaded.
Evidence
- pinesrunningco.com/wp-content/themes/br…s/fonts/fontawesome/fa-brands-400.woff2 (160 ms)
- pinesrunningco.com/wp-content/themes/br…ts/fonts/fontawesome/fa-solid-900.woff2 (145 ms)
Why it matters
Visitors see blank space where text should be until the font arrives, which delays FCP and can delay LCP.
How to fix
Use font-display: swap (or optional) so text renders immediately in a fallback font.
Related metric: FCP
In Warp PerformanceWarp Performance → Fonts → Font Display SwapOptimize image delivery
Images are larger than they need to be: resizing, recompressing or converting them would save about 173 KB.
Evidence
- pinesrunningcocomb3d89.zapwp.com/wp-con…lime-fresh-mexican-grill-1920x1280.webp (169 KB could be saved)
- pinesrunningco.com/wp-content/uploads/pinesrunningco-logo.avif (4 KB could be saved)
Why it matters
Images are usually the largest part of a page and often the LCP element.
How to fix
Serve images at the size they are displayed, in WebP or AVIF, with sensible compression.
Related metric: LCP
In Warp PerformanceWarp Performance → Media → Local Image OptimizationWarp Performance → Media → Responsive ImagesLoad the LCP image sooner
The largest image on the first screen is not discoverable in the initial HTML or is not prioritized.
Evidence
- LCP resources should not use loading=lazy
Why it matters
LCP cannot happen until this image has downloaded. Anything that delays its request delays LCP directly.
How to fix
Remove lazy-loading from the LCP image, add fetchpriority="high", and preload it if it is set from CSS or JavaScript.
Related metric: LCP
In Warp PerformanceWarp Performance → Media → Preload Critical ImagesReduce the impact of third-party code
Scripts and resources from other companies account for 387 KB of this page.
Evidence
- Third-party code: 387 KB (45% of page weight) across 13 requests
- pinesrunningcocomb3d89.zapwp.com — 387 KB
Why it matters
Tags, widgets and embeds run on the same main thread as your own code and are outside your control. They are a common cause of slow interaction.
How to fix
Remove tags that are no longer used, load the rest after the first interaction, and replace heavy embeds (video, maps, chat) with a lightweight placeholder that loads on click.
Related metric: TBT
In Warp PerformanceWarp Performance → JavaScript → Delay JavaScript
2 more findings are listed in the other tabs.
Page weight
865 KB transferred · 23 requests · Mobile
- Images 395 KB 3 requests
- Fonts 268 KB 2 requests
- JavaScript 91 KB 9 requests
- CSS 65 KB 7 requests
- HTML 44 KB 1 request
- Other 2 KB 1 request
866 KB transferred · 17 requests · Desktop
- Images 395 KB 3 requests
- Fonts 268 KB 2 requests
- JavaScript 91 KB 3 requests
- CSS 66 KB 7 requests
- HTML 44 KB 1 request
- Other 2 KB 1 request
Shareable summary
Core Web Vitals
Real-user data shows what visitors actually experienced over the last 28 days. The lab test is a single controlled page load, useful for finding causes. The two often differ, and Google uses the real-user data.
Real users Chrome UX Report · 75th percentile
Not enough Chrome UX Report data is available for this URL.
This is common for newer or lower-traffic pages. It does not lower the Warp Score; the score is calculated from the other categories instead.
Lab test Google Lighthouse · simulated load
Mobile
- Lighthouse — Needs improvement
- 66
- LCP — Poor
- 5.9 s
- FCP — Poor
- 3.6 s
- TBT — Good
- 14 ms
- Speed Index — Poor
- 6.2 s
- CLS — Good
- 0
Desktop
- Lighthouse — Good
- 98
- LCP — Good
- 1.0 s
- FCP — Good
- 0.6 s
- TBT — Good
- 0 ms
- Speed Index — Good
- 1.2 s
- CLS — Good
- 0
Server & Cache
- TTFB (server response)
- 67 ms
- HTML cache
- Proxy cache Confirmed
- CDN
- None detected
- Compression
- Gzip
- HTTP version
- HTTP/2
- Server
- nginx
- Redirects
- None
- Browser caching
- HTML may be reused for 5 minutes
- Static asset caching
- 4 of 4 sampled assets cached for 30 days or more
Connection timing from the scanner
- DNS
- 35 ms
- TCP
- 34 ms
- TLS
- 36 ms
- First-byte wait
- 68 ms
- Total
- 161 ms
- HTML size
- 44 KB
Measured from the Warp Scan server, so network times reflect its location rather than your visitors'. The TTFB figure above is the first-byte wait on an open connection (the faster of two requests), so it includes one network round trip from the scanner.
Developer details
Cache evidence
- x-cache: HIT (first request)
- age: 1479 (first request)
- x-cache: HIT (repeat request)
- age: 1522 (repeat request)
Response headers (first request)
cache-control: public, max-age=300, must-revalidate
age: 1479
last-modified: Tue, 06 Oct 2026 19:11:47 GMT
expires: Tue, 06 Oct 2026 20:21:24 GMT
vary: Accept-Encoding, Accept-Encoding
server: nginx
content-type: text/html; charset=UTF-8
content-encoding: gzip
content-length: 44831
server-timing: wpc-cache;desc=hit
x-cache: HIT
Response headers (repeat request, 67 ms)
cache-control: public, max-age=300, must-revalidate
age: 1522
last-modified: Tue, 06 Oct 2026 19:11:47 GMT
expires: Tue, 06 Oct 2026 20:21:24 GMT
vary: Accept-Encoding, Accept-Encoding
server: nginx
content-type: text/html; charset=UTF-8
content-encoding: gzip
content-length: 44831
server-timing: wpc-cache;desc=hit
x-cache: HIT
Sampled static assets
| Asset | Cache lifetime | Cache-Control |
|---|---|---|
| pinesrunningco.com/wp-content…ricks/assets/js/bricks.min.js | 1 year | public, max-age=31536000 |
| pinesrunningco.com/wp-content…oads/pinesrunningco-logo.avif | 1 year | public, max-age=31536000 |
| pinesrunningco.com/wp-content…elay-v3-loader-7.25.00.min.js | 1 year | public, max-age=31536000 |
| pinesrunningco.com/wp-content/uploads/palm-avatar-dark.png | 1 year | public, max-age=31536000 |
No server or caching issues found.
JavaScript
91 KB in 9 requests · 10% of page weight · Mobile
91 KB in 3 requests · 10% of page weight · Desktop
Eliminate render-blocking resources
5 stylesheets and scripts block the first paint.
Evidence
- pinesrunningcocomb3d89.zapwp.com/wp-con…css/frontend-layer.min.css?icv=115d8e1b (1.4 s)
- pinesrunningcocomb3d89.zapwp.com/wp-con…utomatic-css/automatic.css?icv=b1867de7 (1.1 s)
- pinesrunningcocomb3d89.zapwp.com/wp-con…mes/bricks-child/style.css?icv=98c4d884 (751 ms)
Why it matters
The browser cannot draw anything until these files are downloaded and processed, which delays FCP and LCP.
How to fix
Inline the CSS needed for the first screen and load the rest asynchronously; defer scripts that are not needed to render the page.
Related metric: LCP
In Warp PerformanceWarp Performance → CSS → Remove Unused CSSWarp Performance → JavaScript → Defer JavaScriptReduce unused JavaScript
50 KB of downloaded JavaScript was never executed during page load.
Evidence
- pinesrunningco.com/wp-content/themes/bricks/assets/js/bricks.min.js (50 KB could be saved)
Why it matters
Unused code still has to be downloaded, parsed and compiled, which competes with rendering and slows interaction.
How to fix
Load scripts only on the pages that use them, split large bundles, and delay scripts that are not needed until the visitor interacts.
Related metric: LCP
In Warp PerformanceWarp Performance → JavaScript → Delay JavaScript
CSS
65 KB in 7 requests · 8% of page weight · Mobile
66 KB in 7 requests · 8% of page weight · Desktop
No CSS issues found.
Images
395 KB in 3 requests · 46% of page weight · Mobile
395 KB in 3 requests · 46% of page weight · Desktop
Optimize image delivery
Images are larger than they need to be: resizing, recompressing or converting them would save about 173 KB.
Evidence
- pinesrunningcocomb3d89.zapwp.com/wp-con…lime-fresh-mexican-grill-1920x1280.webp (169 KB could be saved)
- pinesrunningco.com/wp-content/uploads/pinesrunningco-logo.avif (4 KB could be saved)
Why it matters
Images are usually the largest part of a page and often the LCP element.
How to fix
Serve images at the size they are displayed, in WebP or AVIF, with sensible compression.
Related metric: LCP
In Warp PerformanceWarp Performance → Media → Local Image OptimizationWarp Performance → Media → Responsive ImagesLoad the LCP image sooner
The largest image on the first screen is not discoverable in the initial HTML or is not prioritized.
Evidence
- LCP resources should not use loading=lazy
Why it matters
LCP cannot happen until this image has downloaded. Anything that delays its request delays LCP directly.
How to fix
Remove lazy-loading from the LCP image, add fetchpriority="high", and preload it if it is set from CSS or JavaScript.
Related metric: LCP
In Warp PerformanceWarp Performance → Media → Preload Critical Images
Fonts
268 KB in 2 requests · 31% of page weight · Mobile
268 KB in 2 requests · 31% of page weight · Desktop
Keep text visible while fonts load
2 web fonts hide text until they have loaded.
Evidence
- pinesrunningco.com/wp-content/themes/br…s/fonts/fontawesome/fa-brands-400.woff2 (160 ms)
- pinesrunningco.com/wp-content/themes/br…ts/fonts/fontawesome/fa-solid-900.woff2 (145 ms)
Why it matters
Visitors see blank space where text should be until the font arrives, which delays FCP and can delay LCP.
How to fix
Use font-display: swap (or optional) so text renders immediately in a fallback font.
Related metric: FCP
In Warp PerformanceWarp Performance → Fonts → Font Display Swap
Third Parties
387 KB from other domains in 13 requests · 45% of page weight
| Service | Transfer size | Requests | Main-thread blocking |
|---|---|---|---|
| Google Fonts | Referenced in the page; not measured during the test | ||
| YouTube | Referenced in the page; not measured during the test | ||
| Vimeo | Referenced in the page; not measured during the test | ||
Reduce the impact of third-party code
Scripts and resources from other companies account for 387 KB of this page.
Evidence
- Third-party code: 387 KB (45% of page weight) across 13 requests
- pinesrunningcocomb3d89.zapwp.com — 387 KB
Why it matters
Tags, widgets and embeds run on the same main thread as your own code and are outside your control. They are a common cause of slow interaction.
How to fix
Remove tags that are no longer used, load the rest after the first interaction, and replace heavy embeds (video, maps, chat) with a lightweight placeholder that loads on click.
Related metric: TBT
In Warp PerformanceWarp Performance → JavaScript → Delay JavaScript
Headers & Delivery
- HTTPS
- Yes
- HSTS
- Not set
- Cache-Control
- public, max-age=300, must-revalidate
- Validators
- ETag / Last-Modified present
- Content-Type
- text/html; charset=UTF-8
- Vary
- Accept-Encoding, Accept-Encoding
Consider a CDN
No CDN was detected in front of this page.
Evidence
- No CDN headers were present in the response
Why it matters
Without a CDN every visitor connects to one origin location, so distant visitors wait longer for every file.
How to fix
Serve static assets, and ideally HTML, through a CDN with locations near your audience.
In Warp PerformanceWarp Performance → CDN → CDN Integration
Technology
-
WordPress Detected
- Asset paths under /wp-content/
- Asset paths under /wp-includes/
- REST API discovery link (api.w.org)
- Generator meta tag: WordPress
-
nginx Detected
- server: nginx
-
PHP Detected
- Implied by WordPress
WordPress
- Theme
- bricks
- REST API
- Advertised
- Plugins visible in the page
- 4 plugins
Optimization tools
Unable to determine. No optimization plugin exposed itself in the page or its headers.
Plugins referenced by asset paths
wp-compress-image-optimizer
automatic-css
web-concierge-ai
classic-monks