
Last week I ran my own website through Google PageSpeed Insights on mobile and got a score of 59. For someone who builds websites for a living, that stung a little. The bigger problem was the number underneath it: the main content took almost 10 seconds to show up on a phone.
So I treated my site like a client project. Same audit, same fixes, same testing. A few hours later the mobile score was 88, the main content loaded in 2.7 seconds, and the homepage dropped from 11.5 MB to about 3.2 MB.
Here is exactly what I changed, in the order I changed it, so you can do the same on your WordPress site.
Why speed matters more than most business owners think
Speed is not just a technical score. It decides whether people stay long enough to read your offer.
- Visitors leave slow pages. Most people browse on their phone, often on mobile data. If the first screen is blank for a few seconds, a lot of them simply go back to Google and click the next result.
- Google measures it. Core Web Vitals, which include how fast your main content appears (LCP) and how stable the layout is (CLS), are part of how Google evaluates page experience.
- Every second costs you inquiries. A slow site makes your ads, your SEO and your social posts work harder for the same number of leads.
Step 1: Find out what is actually slow
Before changing anything, I listed every file the homepage loaded and sorted them by size. This is the step most people skip, and it is the one that tells you where the time is going.
On my site, the top offenders were obvious once I looked:
- A 1.9 MB background video that also played on phones
- A decorative glow image saved as a 1 MB PNG
- Around 50 screenshots and mockups saved as PNG and JPG, about 9.5 MB in total
- An icon font of roughly 450 KB, loaded for six small arrow and envelope icons
- A reCAPTCHA script loading on every page because of a popup form
- Two copies of the Google Analytics tag, from two different plugins
None of these are unusual. I see the same pattern on most WordPress and Elementor sites I audit.
Step 2: Convert images to WebP
This was the biggest single win. I converted every heavy PNG and JPG on the page to WebP and kept the same dimensions. The 9.5 MB of images became about 2.5 MB, and they look the same to the eye.
If you do this yourself, a few tips:
- Use WebP or AVIF for photos and screenshots. Keep SVG for logos and simple icons.
- Do not upload a 3000 pixel wide image to show it at 600 pixels. Resize first.
- A quality setting around 75 to 85 is usually invisible to the eye and much smaller.
Step 3: Stop loading things nobody sees
Two changes here made a big difference on mobile:
- The video. On phones it now shows a still image instead of a 1.9 MB video. On desktop the video only starts loading when you scroll near it.
- Duplicated sections. My services and features sections existed twice, one version for desktop and a hidden one for mobile. Hidden sections still add weight to the page. I rebuilt each one as a single responsive component that looks the same as before on both screen sizes. The page went from about 6,100 HTML elements to about 1,600.
Step 4: Turn on proper caching and optimization
My host runs LiteSpeed, so I used the LiteSpeed Cache plugin. The settings that mattered:
- Page caching and browser caching
- CSS and JavaScript minification
- Deferred JavaScript, so scripts stop blocking the first paint
- Lazy loading for images below the fold
- Font display swap, so text shows immediately instead of waiting for web fonts
Turn these on one at a time and check your pages after each one. Deferring JavaScript in particular can break sliders or menus if a script depends on jQuery loading first.
Step 5: Remove scripts you do not need
This is the quiet part of speed work. I swapped six icon font icons for lightweight inline SVG versions, so the 450 KB font file no longer downloads. I replaced reCAPTCHA on the popup form with a honeypot field, which stops most spam bots without loading Google’s script on every page. And I removed the duplicate analytics tag, which also fixed visits being counted twice.
Step 6: Help the most important content show up first
Google measures how fast your biggest above-the-fold element appears. On my site, the hero heading faded in with an animation, which delayed it on phones. I kept the animation on desktop and removed it on mobile. I also moved the mobile hero background onto my own domain instead of loading it from another site.
The results
| Mobile PageSpeed test | Before | After |
|---|---|---|
| Performance score | 59 | 88 |
| Largest Contentful Paint | 9.9 s | 2.7 s |
| Homepage size | 11.5 MB | 3.2 MB |
| HTML elements on the page | about 6,100 | about 1,600 |
Lab scores move a little between runs, so treat them as a direction, not an exact number. What matters is that the site now feels instant on a phone.
A quick checklist you can use today
- Run your homepage through PageSpeed Insights on mobile and note the LCP.
- List your largest files and start with the biggest one.
- Convert images to WebP and resize anything oversized.
- Do not autoplay video on phones.
- Enable caching and minification, one setting at a time.
- Check for duplicate tracking codes and unused plugins.
- Retest, then check the site on a real phone.
If your site is slow and you would rather have someone handle it, send me a message. I do the same audit for clients, and I will tell you honestly what is worth fixing.

