A 60-Minute Speed Cleanup Checklist
Fix your slow website in one hour with this timed checklist covering image compression, browser caching, script cleanup, font loading, and Core Web Vitals wins.
# A 60-Minute Speed Cleanup Checklist
Your website is slow. You've seen the spinning wheel on your phone, watched customers bounce, maybe even run a speed test and winced at the score. But you don't need a weekend, a developer, or a redesign to make a real difference. You need one focused hour.
This checklist breaks that hour into six timed blocks. Each targets the problems that actually move the needle for small business websites. No theory — just the steps, in order, with the reasoning you need to make smart decisions.
Before you start, open two browser tabs: one with your website, and one with our free speed test. Run a test now and write down your scores. You'll run it again at the end.
Minutes 0–10: Audit and Prioritize
Don't touch anything yet. The first ten minutes are about understanding what's actually wrong.
Run your baseline test. Use FreeSiteAudit's speed test or Google's PageSpeed Insights. You need three numbers:
- Largest Contentful Paint (LCP): How long until the main content appears. Under 2.5 seconds is good.
- Cumulative Layout Shift (CLS): How much the page jumps around while loading. Under 0.1 is good.
- Interaction to Next Paint (INP): How fast the page responds when someone clicks or taps. Under 200 milliseconds is good.
These are the Core Web Vitals that Google uses to evaluate page experience, and they directly affect your search rankings (source).
Identify the top three issues. Every speed test gives you a list of recommendations. Ignore items labeled "minor." Focus on what's flagged as high-impact:
- "Serve images in next-gen formats"
- "Eliminate render-blocking resources"
- "Reduce unused JavaScript"
- "Enable text compression"
Make your hit list. Rank those issues by how easy they are to fix in the next 50 minutes. Images are almost always the fastest win. Render-blocking resources are next. Unused JavaScript usually requires a developer — skip it unless you know exactly which plugin is the culprit.

Mini-Checklist: Audit Phase
- [ ] Run a speed test and record LCP, CLS, and INP scores
- [ ] Screenshot the results for later comparison
- [ ] List the top 3 high-impact issues
- [ ] Rank them by fix difficulty: images first, then scripts, then server
Minutes 10–25: Fix Your Images
Images are the single biggest weight problem on most small business websites. According to the HTTP Archive, images account for roughly 40–50% of total page weight on a typical site. This is where you'll get the most improvement for the least effort.
1. Find the oversized images
Check your homepage and top three most-visited pages. Right-click any large image and select "Open image in new tab." Any image over 200KB above the fold is a candidate for optimization.
Common offenders:
- Hero banners uploaded straight from a camera (often 2–5MB)
- Team photos that are 4000 pixels wide but displayed at 800 pixels
- Logo files saved as PNG when they should be SVG
- Background images nobody notices but every browser downloads
2. Resize and compress
You don't need Photoshop. Use a free tool like Squoosh or TinyPNG:
- Resize first. If your hero banner displays at 1200 pixels wide, resize to 1.5x the display size (1800px) for sharp results on high-density screens.
- Convert to WebP. This format is 25–35% smaller than JPEG at equivalent quality. Every modern browser supports it.
- Set quality to 80. Below 75 you'll notice artifacts. Above 85 you're wasting bytes for invisible gains.
3. Upload the replacements
Swap out the old images in your CMS. If your CMS has lazy loading, enable it for images below the fold — but leave it off for your hero image, which needs to load immediately.

A real-world example
A landscaping company had a homepage hero image shot by a professional photographer — a 4.2MB JPEG at 5472 × 3648 pixels. Their page took 6.8 seconds to load on mobile.
After resizing to 1800px wide, converting to WebP at quality 80, the image dropped to 145KB. Same visual impact. LCP went from 6.8 seconds to 2.1 seconds. That single change moved their PageSpeed score from 34 to 67.
For more on image optimization, see our image optimization guide.
Mini-Checklist: Image Phase
- [ ] Identify images over 200KB on key pages
- [ ] Resize to no more than 1.5x display dimensions
- [ ] Convert to WebP format at quality 80
- [ ] Re-upload and verify pages load correctly
- [ ] Enable lazy loading for below-fold images, disable for hero
Minutes 25–35: Tame Render-Blocking Resources
When your browser loads a page, it reads the HTML top to bottom. When it hits a CSS or JavaScript file in the , it stops everything to download that file before continuing. That's "render-blocking" — and it's why your page might show a blank white screen for several seconds even on a fast connection.
If you're on WordPress:
Install a caching and optimization plugin. Reliable free options:
- LiteSpeed Cache (if your host runs LiteSpeed/OpenLiteSpeed)
- WP Super Cache or W3 Total Cache (for other hosts)
Enable these settings:
- CSS/JS minification — removes whitespace and comments, shrinking files by 10–30%
- Defer JavaScript — loads JS files after the page is visible, not before
- Combine CSS files — reduces the number of separate downloads
If you're on Squarespace, Wix, or Shopify:
These platforms handle most optimization automatically, but you can still help:
- Remove third-party scripts you're not actively using (old chat widgets, abandoned analytics, forgotten social embeds)
- Check for embedded videos that autoplay — these are massive render-blockers
- Move non-critical scripts to the footer if your platform allows it
The plugin audit. Go to your WordPress plugins list and deactivate anything you don't actively need. Every plugin adds JavaScript and CSS. A site with 25 plugins loads dramatically slower than one with 12. If you installed a plugin six months ago for a one-time task, delete it.
For more details, see our render-blocking resources guide.

Mini-Checklist: Render-Blocking Phase
- [ ] Install or configure a caching/optimization plugin
- [ ] Enable CSS and JS minification
- [ ] Enable JavaScript deferral
- [ ] Deactivate and delete unused plugins
- [ ] Remove abandoned third-party scripts
Minutes 35–45: Enable Caching and Compression
Without caching, every page visit forces the browser to re-download everything. With caching, returning visitors load your site almost instantly because their browser remembers files from the last visit.
Browser caching
Most caching plugins handle this automatically. Verify it's working:
- Load your site in Chrome
- Open DevTools (right-click → Inspect → Network tab)
- Reload the page
- Click on any image or CSS file in the network list
- Look for
cache-controlin the response headers — you wantmax-ageset to at least 2592000 (30 days)
If it's missing, check your caching plugin settings for "browser caching" or "expiry headers."
Text compression (GZIP/Brotli)
This compresses HTML, CSS, and JavaScript before sending them to the browser, typically reducing file sizes by 60–80%.
How to check: In the same DevTools Network tab, click on your HTML file and look for content-encoding: gzip or content-encoding: br in the response headers.
If it's missing:
- WordPress: Your caching plugin likely has a "GZIP compression" toggle. Enable it.
- Managed hosts (Netlify, Vercel, Cloudflare Pages): Already enabled.
- Shared hosting: Ask your hosting provider's support to enable GZIP — it's a 30-second task for them.
Mini-Checklist: Caching Phase
- [ ] Verify browser caching is active via response headers
- [ ] Set cache expiry to at least 30 days for static assets
- [ ] Confirm GZIP or Brotli compression is active
- [ ] Contact hosting support if compression is missing
Minutes 45–55: Clean Up Fonts and Third-Party Scripts
These are the sneaky performance killers. They don't show up as dramatically as a 4MB hero image, but they add up — especially on mobile.
Fonts
If your site uses Google Fonts, make sure you're only loading the weights you actually use. A common mistake: loading Regular, Italic, Bold, Bold Italic, Light, and Medium when you only need Regular and Bold. Each unused weight is an extra file download.
What to do:
- Check which font weights your CSS actually references
- Remove unused weights from your Google Fonts embed code
- If you use only one or two fonts, consider self-hosting them — this eliminates the DNS lookup to Google's servers and can save 100–300ms
Third-party scripts
Open DevTools, reload your page, and sort the Network tab by "Size" descending. Look for domains that aren't yours:
| Script | Typical Size | Keep It? |
|---|---|---|
| Google Analytics (GA4) | 30–50KB | Yes, but remove old Universal Analytics if still present |
| Facebook Pixel | 60–80KB | Only if you're actively running Facebook ads |
| Hotjar / FullStory | 80–120KB | Only during active UX research |
| Live chat widgets | 150–400KB | Consider loading only on the contact page |
| Social sharing buttons | 50–200KB | Replace with simple share links (no JS needed) |
For each script, ask: "Did I look at data from this tool in the last 30 days?" If the answer is no, remove it.
Mini-Checklist: Fonts and Scripts Phase
- [ ] Remove unused font weights from your embed code
- [ ] List all third-party scripts loading on your site
- [ ] Remove any you haven't used in 30 days
- [ ] Defer non-critical scripts (chat, social) to load on interaction
Minutes 55–60: Test, Compare, and Document
Time to see what changed.
Run your speed test again. Use the same tool you started with — FreeSiteAudit's speed test or PageSpeed Insights. Compare your new scores to the baseline.
Here's what a typical one-hour cleanup yields for a small business WordPress site:
| Metric | Before | After | Change |
|---|---|---|---|
| PageSpeed Score (mobile) | 38 | 78 | +40 points |
| LCP | 5.2s | 2.0s | -3.2s faster |
| CLS | 0.24 | 0.05 | Stable layout |
| Total Page Weight | 4.8MB | 1.1MB | -77% smaller |
If you followed the steps — especially image optimization and plugin cleanup — a 20–40 point improvement is realistic.

Document what you changed. A quick note matters for three reasons:
- If something breaks, you can trace it back
- When you hire a developer later, they'll know what's done
- Next month, you'll know your baseline
What comes next
This hour got you the quick wins. But some issues — server response time, theme JavaScript bloat, database query performance — require deeper investigation. If your scores are still below 50 after this cleanup, the bottleneck is likely structural.
Start with a full audit. Run a free website audit with FreeSiteAudit to get a complete breakdown of what's slowing your site down, what's affecting your search rankings, and exactly what to fix next — prioritized by impact.
Final Mini-Checklist
- [ ] Re-run your speed test and record new scores
- [ ] Screenshot the results
- [ ] Document all changes made during this session
- [ ] Schedule a reminder to re-test in 30 days
- [ ] Run a full site audit to catch issues beyond speed
Sources
Related Tools
Related Fixes
Check your website for free
Get an instant score and your top 3 critical issues in under 60 seconds.
Get Your Free Audit →