To make your website faster: compress images to WebP, enable browser caching, remove unused scripts, use a free CDN like Cloudflare, defer JavaScript, minimize CSS, switch to faster hosting like Vercel, and lazy load images below the fold.
A 1-second delay in page load reduces conversions by 7%. A 3-second delay loses nearly half your visitors. If your website takes more than 3 seconds to load, you are paying for traffic that never sees your content.
The good news: most speed problems have free fixes. You do not need to hire a developer or rebuild your site from scratch. These 8 fixes address the issues that cause 90% of slow load times, and you can do most of them this afternoon.
Step 1: Test your current speed
Before you fix anything, you need a number. Go to Google PageSpeed Insights and enter your URL. It will score your site from 0 to 100 for both mobile and desktop.
Here is what the scores mean:
- 90-100: Your site is fast. Minor tweaks only.
- 50-89: Needs improvement. The fixes below will help significantly.
- 0-49: Critically slow. Optimization alone may not be enough — you may need a rebuild.
Pay attention to the mobile score specifically. Google uses mobile performance for search rankings, and most of your visitors are on phones. A site that scores 95 on desktop and 38 on mobile is a slow site in Google's eyes.
The 8 free fixes
1. Compress your images
Images are the single biggest cause of slow websites. A single uncompressed photo from your phone can be 4-8 MB. Your entire page should be under 1.5 MB total.
Here is how to fix it:
- Convert images to WebP format. WebP files are 25-35% smaller than JPEG with no visible quality loss.
- Use TinyPNG or Squoosh to compress images before uploading. Both are free.
- Resize images to the actual display size. If your image displays at 800px wide, do not upload a 4000px original.
This single fix often cuts page weight by 60-80%. If you only do one thing on this list, compress your images.
2. Enable browser caching
Browser caching tells returning visitors to reuse files they already downloaded. Without it, every page visit re-downloads your logo, fonts, and stylesheets from scratch.
If you are on WordPress, install a free caching plugin like WP Super Cache or LiteSpeed Cache. If you are on a static host like Vercel or Netlify, caching headers are set automatically.
3. Remove unused plugins and scripts
Every plugin on your WordPress site adds JavaScript and CSS that loads on every page. Most sites have 5-10 plugins they installed once and forgot about.
- Deactivate and delete any plugin you are not actively using.
- Check for plugins that do the same thing (two SEO plugins, two analytics scripts, two popup builders).
- Remove third-party chat widgets, social share buttons, and tracking scripts you do not check.
Each plugin you remove can save 50-200ms of load time. Removing five unused plugins can cut a full second off your page load.
4. Use a CDN
A Content Delivery Network stores copies of your site on servers around the world. When someone in Mumbai visits your site hosted in Virginia, they get it from a nearby server instead of waiting for data to cross the ocean.
Cloudflare's free tier is enough for most small business websites. Setup takes 15 minutes: you point your domain's nameservers to Cloudflare, and they handle the rest. You also get free SSL and basic DDoS protection.
5. Defer JavaScript loading
By default, JavaScript blocks your page from rendering. The browser stops everything to download and run each script before showing any content.
Adding defer or async to your script tags tells the browser to load them in the background while the page renders. If your developer added scripts without these attributes, this fix alone can cut perceived load time by 1-2 seconds.
In WordPress, plugins like Autoptimize (free) can handle this automatically.
6. Minimize CSS
CSS files control how your site looks. Large, unminified CSS files slow down the first paint — the moment your visitor sees something on screen instead of a blank white page.
- Minify your CSS to remove whitespace and comments. This typically reduces file size by 15-25%.
- Remove unused CSS. Most WordPress themes load 200-400 KB of CSS, but any given page only uses 20-40 KB of it. Tools like PurifyCSS can identify what to cut.
- Inline critical CSS. The styles needed for the first screen can be placed directly in your HTML so the browser does not need a separate request.
7. Choose faster hosting
Cheap shared hosting ($3-5/month plans) puts your site on an overloaded server with hundreds of other sites. When any of those sites gets traffic, yours slows down.
Modern hosting platforms are free or nearly free for small sites and dramatically faster:
- Vercel — Free tier, global edge network, instant deploys. This is what we use for all Brandcrackers client sites.
- Netlify — Free tier, similar to Vercel, great for static sites.
- Cloudflare Pages — Free tier, built-in CDN.
Switching from shared hosting to an edge platform can cut Time to First Byte (TTFB) from 800ms to under 50ms.
8. Lazy load images below the fold
Lazy loading means images below the visible screen do not load until the visitor scrolls to them. This reduces the initial page weight dramatically, especially on pages with many photos (portfolios, galleries, product listings).
In modern HTML, it is one attribute: loading="lazy" on your <img> tags. No plugin needed. Every modern browser supports it.
Do not lazy load your hero image or anything visible on the first screen. Those should load immediately. Only apply lazy loading to images the visitor has to scroll to see.
What "fast" actually means
Google measures website speed with Core Web Vitals. Two metrics matter most:
LCP (Largest Contentful Paint) measures how long it takes for the main content to appear. Under 2.5 seconds is good. Over 4 seconds is poor.
TBT (Total Blocking Time) measures how long the page is unresponsive to clicks and taps. Under 200 milliseconds is good. Over 600 milliseconds means your JavaScript is blocking the page.
If both numbers are green in PageSpeed Insights, your site is fast. If either is red, start with the fixes above that target that specific metric — images and hosting affect LCP, while scripts and plugins affect TBT.
When to rebuild vs optimize
If your Lighthouse score is under 50, optimization alone probably will not save it. Here is why:
- WordPress sites with 20+ plugins have fundamental architecture problems. Removing a few plugins helps, but the theme itself may load 1 MB of JavaScript.
- Page builders (Elementor, Divi, WPBakery) generate bloated HTML and CSS. A single section in Elementor can output 400+ lines of nested divs. No amount of caching fixes that.
- Sites built 5+ years ago often use outdated libraries (jQuery UI, Bootstrap 3, Font Awesome with 1,500 unused icons) that add hundreds of kilobytes.
A clean rebuild on a modern stack (static HTML, Vercel hosting, no page builder) can take a site from a Lighthouse score of 30 to 95+. The rebuild pays for itself through better rankings, more conversions, and zero ongoing plugin costs.
Every site we build at Brandcrackers ships as a single HTML file with zero external dependencies beyond fonts. No WordPress, no page builder, no plugins. The result is consistent 95+ Lighthouse scores and sub-2-second load times on mobile.
Want a free speed audit?
We will run Lighthouse on your site and tell you exactly what to fix — with priority order and estimated impact for each change.