WordPress
Marketing site CWV remediation
Five-page WordPress marketing site stuck in "Needs Improvement" for LCP. Image optimization, critical CSS extraction, and CDN configuration brought LCP from 3.4s to 1.9s in two weeks.
For Core Web Vitals work
PSI gives you the numbers. This tool tells you what to do with them. Enter a URL to pull your Core Web Vitals from Google, or type them in, pick your stack, and get a ranked fix list with starting prices that assume AI-assisted delivery. Contact us for an accurate quote.
We'll send the full report to your inbox + a shareable link you can pass to your team. Reports stay live for 7 days.
✓ Saved.
How we calibrated the numbers
Effort ranges come from real OST work across stacks. Each example sits in a different starting condition so you can see what realistic improvement looks like.
WordPress
Five-page WordPress marketing site stuck in "Needs Improvement" for LCP. Image optimization, critical CSS extraction, and CDN configuration brought LCP from 3.4s to 1.9s in two weeks.
OpenCart e-commerce
OpenCart catalog with 20,000+ products. JS bundle audit, deferred third-party scripts, and lazy-loaded product images cut INP from 480ms to 180ms across mobile.
Drupal multi-site
Drupal multi-site network with persistent layout shift on article pages. Reserved image dimensions, font-display tuning, and ad slot pre-allocation dropped CLS from 0.28 to 0.06.
Methodology
Every metric is scored against Google's official Core Web Vitals thresholds (CrUX 75th percentile, mobile-first):
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| LCP (Largest Contentful Paint) | ≤ 2.5s | ≤ 4.0s | > 4.0s |
| INP (Interaction to Next Paint) | ≤ 200ms | ≤ 500ms | > 500ms |
| CLS (Cumulative Layout Shift) | ≤ 0.10 | ≤ 0.25 | > 0.25 |
For each metric outside the Good threshold, the tool generates candidate fixes from a stack-specific catalog. WordPress sites get cache plugin and image optimization recommendations. Drupal gets BigPipe and Twig template tuning. React apps get bundle splitting and hydration deferral. Each fix carries an effort rating (low, medium or high) and an expected impact rating.
The top three are picked using a simple impact-for-effort score. We do not optimize for "easiest wins" because those rarely fix the underlying issue. We optimize for the fix that moves the needle most for the effort.
The deeper version pulls your CrUX history, profiles your actual code paths, identifies the third-party scripts holding you back, and produces a milestone-tracked roadmap. 60 minutes, includes a written report.