Speed Optimization Roadmap: 30/60/90 Day Plan
A structured 90-day plan to take your website from slow to fast. Actionable steps organized by priority and effort level.
You've decided to invest in performance. Now you need a plan. This 90-day roadmap takes you from "our site is slow" to "our site is a competitive advantage."
Before Day 1: Baseline
Before making any changes, establish your baseline:
- Run Lighthouse on top 10 pages (mobile + desktop)
- Record all Core Web Vitals (LCP, INP, CLS)
- Note page weight, HTTP requests, and TTFB for each page
- Set up monitoring (so you can track progress)
- Check Google Search Console → Core Web Vitals report
- Pull current bounce rate and conversion rate from analytics
Save this data. You'll compare against it at 30, 60, and 90 days.
Days 1-30: Quick Wins
Week 1: Images (Biggest Impact)
| Task | Effort | Impact |
|---|---|---|
| Convert images to WebP/AVIF | 2-4 hours | High |
| Resize oversized images | 2-3 hours | High |
| Add width/height attributes | 1-2 hours | Medium (CLS) |
| Lazy load below-fold images | 1-2 hours | Medium |
| Preload LCP image | 30 min | High (LCP) |
Expected improvement: +10-20 Lighthouse points
Week 2: Third-Party Scripts
| Task | Effort | Impact |
|---|---|---|
| Audit all third-party scripts | 1 hour | — |
| Remove unused scripts | 1 hour | High |
| Defer non-critical scripts | 1-2 hours | High |
| Move analytics to async | 30 min | Medium |
| Load chat widgets on interaction | 1 hour | Medium |
Expected improvement: +5-15 Lighthouse points
Week 3: Caching and Compression
| Task | Effort | Impact |
|---|---|---|
| Enable Gzip/Brotli compression | 30 min | Medium |
| Set Cache-Control headers | 1 hour | Medium |
| Configure CDN caching | 1-2 hours | Medium |
| Add resource hints (preconnect) | 30 min | Low-Medium |
Expected improvement: +5-10 Lighthouse points
Week 4: Fonts and CSS
| Task | Effort | Impact |
|---|---|---|
| Add font-display: swap | 30 min | Medium (LCP) |
| Reduce font weights | 1 hour | Medium |
| Self-host Google Fonts | 1 hour | Medium |
| Remove unused CSS | 2-3 hours | Medium |
| Inline critical CSS | 1-2 hours | Medium (LCP) |
Expected improvement: +5-10 Lighthouse points
Day 30 Checkpoint
- Re-run Lighthouse on all 10 pages
- Compare to baseline
- Expected total improvement: +25-50 Lighthouse points
- Share results with stakeholders
Days 31-60: Medium Effort Optimizations
Weeks 5-6: JavaScript Optimization
| Task | Effort | Impact |
|---|---|---|
| Implement code splitting | 4-8 hours | High |
| Tree-shake unused imports | 2-4 hours | Medium |
| Defer non-critical JS | 2-3 hours | Medium |
| Audit and remove unused npm packages | 2-3 hours | Medium |
| Move to dynamic imports for heavy components | 4-6 hours | High |
Weeks 7-8: Layout and Rendering
| Task | Effort | Impact |
|---|---|---|
| Fix all CLS issues | 4-8 hours | Medium (CLS) |
| Optimize above-fold rendering | 4-6 hours | High (LCP) |
| Reduce DOM size | 4-8 hours | Medium |
| Optimize CSS selectors | 2-4 hours | Low |
| Implement responsive images (srcset) | 4-6 hours | Medium |
Day 60 Checkpoint
- Re-run all benchmarks
- Expected total improvement: +35-65 Lighthouse points from baseline
- Update stakeholders with business impact data
- Adjust remaining priorities based on results
Days 61-90: Architecture and Process
Weeks 9-10: Architecture Improvements
| Task | Effort | Impact |
|---|---|---|
| Evaluate SSR/SSG for key pages | 8-16 hours | High |
| Implement service worker | 4-8 hours | Medium |
| Set up performance budgets | 2-4 hours | Ongoing |
| Add Lighthouse CI to deployment | 4-6 hours | Ongoing |
Weeks 11-12: Process and Culture
| Task | Effort | Impact |
|---|---|---|
| Document performance best practices | 4-6 hours | Ongoing |
| Train team on performance basics | 2-4 hours | Ongoing |
| Set up automated reporting | 1-2 hours | Ongoing |
| Create performance review checklist | 1-2 hours | Ongoing |
| Plan quarterly performance audit | 1 hour | Ongoing |
Day 90 Checkpoint
- Final benchmark comparison to Day 0
- Expected total improvement: +40-70 Lighthouse points from baseline
- Present full ROI report to leadership
- Transition to maintenance mode (monthly audits)
After Day 90: Maintenance
The ongoing commitment:
- Weekly: Check monitoring dashboard (5 min)
- Monthly: Run detailed audit using monthly checklist (1-2 hours)
- Quarterly: Competitive analysis and budget review (4 hours)
- Per-deploy: Automated Lighthouse CI check (automated)
Track Your 90-Day Progress
BadPageSpeed provides the historical data you need to show improvement over time. Start monitoring on Day 0.
Ready to stop wasting ad spend?
Track your landing page performance, monitor Core Web Vitals, and calculate exactly how much slow pages cost you.
Start Free — No Credit Card