94Overall
Lugh Frontend Health
Category scores
Performance91
ReliabilityN/A
Contract100
Efficiency96
Security90
SEO100
Accessibility87
Run overview
7 pages audited.
31 recommendations generated.
Pages
| Page | p50 | p95 | p99 | Size | Score |
|---|---|---|---|---|---|
| GET / | 73 ms | 110 ms | 111 ms | 2.3 KB | 95 |
| GET /en | 46 ms | 52 ms | 52 ms | 16.1 KB | 97 |
| GET /es | 62 ms | 103 ms | 108 ms | 16.4 KB | 96 |
| GET /en/call | 64 ms | 114 ms | 121 ms | 6.9 KB | 91 |
| GET /es/call | 60 ms | 89 ms | 95 ms | 7.0 KB | 92 |
| GET /en/results/audit-probe | 47 ms | 91 ms | 92 ms | 2.3 KB | 94 |
| GET /__spa-fallback-probe | 55 ms | 101 ms | 103 ms | 2.3 KB | 97 |
Assets
| Largest assets | Kind | Enc | Blocking | Status | Size |
|---|---|---|---|---|---|
| /assets/vendor-CqBbW-N-.js | script | br | No | 200 | 254.0 KB |
| /assets/index-DSQnTvVO.js | script | br | No | 200 | 152.6 KB |
| /fonts/playfair-display.woff2 | font | — | No | 200 | 37.6 KB |
| https://static.cloudflareinsights.com/beacon.min.js | script | gzip | No | 200 | 30.9 KB |
| /assets/index-Df6OAEl0.css | style | br | Yes | 200 | 24.9 KB |
Markup
| Page | Lang | Title | Desc | Canonical | OG | hreflang | Headings |
|---|---|---|---|---|---|---|---|
| GET / | en | Yes | No | No | 0 | 0 | — |
| GET /en | en | Yes | Yes | Yes | 7 | 3 | 1, 2, 2, 3, 3, 3, 2, 2, 2, 2 |
| GET /es | es | Yes | Yes | Yes | 7 | 3 | 1, 2, 2, 3, 3, 3, 2, 2, 2, 2 |
| GET /en/call | en | Yes | Yes | Yes | 7 | 3 | 1, 2, 2, 2 |
| GET /es/call | es | Yes | Yes | Yes | 7 | 3 | 1, 2, 2, 2 |
| GET /en/results/audit-probe | en | Yes | No | No | 0 | 0 | — |
| GET /__spa-fallback-probe | en | Yes | No | No | 0 | 0 | — |
Browser metrics
| Page | LCP | CLS | TBT | Transfer | Completed |
|---|---|---|---|---|---|
| GET / | 292 ms | 0.000 | 0 ms | 1.1 MB | 3 |
| GET /en | 202 ms | 0.000 | 0 ms | 1.1 MB | 3 |
| GET /es | 206 ms | 0.000 | 0 ms | 1.1 MB | 3 |
| GET /en/call | 168 ms | 0.677 | 0 ms | 257.2 KB | 3 |
| GET /es/call | 192 ms | 0.667 | 0 ms | 257.3 KB | 3 |
| GET /en/results/audit-probe | 472 ms | 0.180 | 0 ms | 248.7 KB | 3 |
| GET /__spa-fallback-probe | 192 ms | 0.000 | 0 ms | 238.5 KB | 3 |
Advice
Performance
- GET /: reduce p95 time to first byte (110ms) toward 50ms.
- GET /es: reduce p95 time to first byte (102ms) toward 50ms.
- GET /en/call: reduce p95 time to first byte (114ms) toward 50ms.
- GET /en/call: Cumulative Layout Shift is 0.677 — reduce unstable layout toward 0.1.
- GET /es/call: reduce p95 time to first byte (88ms) toward 50ms.
- GET /es/call: Cumulative Layout Shift is 0.667 — reduce unstable layout toward 0.1.
- GET /en/results/audit-probe: reduce p95 time to first byte (90ms) toward 50ms.
- GET /en/results/audit-probe: Cumulative Layout Shift is 0.180 — reduce unstable layout toward 0.1.
- GET /__spa-fallback-probe: reduce p95 time to first byte (101ms) toward 50ms.
Efficiency
- GET /: 2 render-blocking resources in <head> — defer or inline the non-critical ones.
- GET /: the rendered page transfers 1078KB including runtime-injected resources — trim toward 800KB.
- GET /en: 2 render-blocking resources in <head> — defer or inline the non-critical ones.
- GET /en: the rendered page transfers 1077KB including runtime-injected resources — trim toward 800KB.
- GET /es: 2 render-blocking resources in <head> — defer or inline the non-critical ones.
- GET /es: the rendered page transfers 1084KB including runtime-injected resources — trim toward 800KB.
- GET /en/call: 2 render-blocking resources in <head> — defer or inline the non-critical ones.
- GET /es/call: 2 render-blocking resources in <head> — defer or inline the non-critical ones.
- GET /en/results/audit-probe: 2 render-blocking resources in <head> — defer or inline the non-critical ones.
- GET /__spa-fallback-probe: 2 render-blocking resources in <head> — defer or inline the non-critical ones.
Security
- GET /: Content-Security-Policy is report-only — promote it to enforcing once the reports are clean.
- GET /en: Content-Security-Policy is report-only — promote it to enforcing once the reports are clean.
- GET /es: Content-Security-Policy is report-only — promote it to enforcing once the reports are clean.
- GET /en/call: Content-Security-Policy is report-only — promote it to enforcing once the reports are clean.
- GET /es/call: Content-Security-Policy is report-only — promote it to enforcing once the reports are clean.
- GET /en/results/audit-probe: Content-Security-Policy is report-only — promote it to enforcing once the reports are clean.
- GET /__spa-fallback-probe: Content-Security-Policy is report-only — promote it to enforcing once the reports are clean.
Accessibility
- GET /: 3 of 7 form controls have no <label for>, aria-label or aria-labelledby.
- GET /en: 3 of 7 form controls have no <label for>, aria-label or aria-labelledby.
- GET /es: 3 of 7 form controls have no <label for>, aria-label or aria-labelledby.
- GET /en/call: heading outline: 1 skipped heading level.
- GET /es/call: heading outline: 1 skipped heading level.