Skip to main content
·11 min read·Tools

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.

A small business owner at a standing desk with a timer app showing 60:00, browser open to a slow-loading bakery website with a visible loading spinner over the hero banner
A small business owner at a standing desk with a timer app showing 60:00, browser open to a slow-loading bakery website with a visible loading spinner over the hero banner

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 split-screen mobile phone view showing a restaurant website: left side with a massive uncompressed hero photo causing a white-screen delay, right side showing the same page loading instantly with an optimized WebP image
A split-screen mobile phone view showing a restaurant website: left side with a massive uncompressed hero photo causing a white-screen delay, right side showing the same page loading instantly with an optimized WebP image

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:

  1. CSS/JS minification — removes whitespace and comments, shrinking files by 10–30%
  2. Defer JavaScript — loads JS files after the page is visible, not before
  3. 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.

A WordPress plugin dashboard mid-cleanup showing a cache plugin being activated, a list of render-blocking scripts being deferred, and a progress bar at 40 percent complete
A WordPress plugin dashboard mid-cleanup showing a cache plugin being activated, a list of render-blocking scripts being deferred, and a progress bar at 40 percent complete

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:

  1. Load your site in Chrome
  2. Open DevTools (right-click → Inspect → Network tab)
  3. Reload the page
  4. Click on any image or CSS file in the network list
  5. Look for cache-control in the response headers — you want max-age set 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:

ScriptTypical SizeKeep It?
Google Analytics (GA4)30–50KBYes, but remove old Universal Analytics if still present
Facebook Pixel60–80KBOnly if you're actively running Facebook ads
Hotjar / FullStory80–120KBOnly during active UX research
Live chat widgets150–400KBConsider loading only on the contact page
Social sharing buttons50–200KBReplace 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:

MetricBeforeAfterChange
PageSpeed Score (mobile)3878+40 points
LCP5.2s2.0s-3.2s faster
CLS0.240.05Stable layout
Total Page Weight4.8MB1.1MB-77% smaller

If you followed the steps — especially image optimization and plugin cleanup — a 20–40 point improvement is realistic.

A before-and-after PageSpeed Insights result side by side — left showing a red 38 score with failing Core Web Vitals, right showing a green 81 score with all metrics passing
A before-and-after PageSpeed Insights result side by side — left showing a red 38 score with failing Core Web Vitals, right showing a green 81 score with all metrics passing

Document what you changed. A quick note matters for three reasons:

  1. If something breaks, you can trace it back
  2. When you hire a developer later, they'll know what's done
  3. 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

Check your website for free

Get an instant score and your top 3 critical issues in under 60 seconds.

Get Your Free Audit →