If your site is slow and you only have time to fix one thing, fix the images. On most WordPress sites they account for the majority of what a page downloads, and they are the easiest thing on this list to get wrong without noticing.
The reason is simple. Everyone on your team knows how to upload a photo. Nobody was told what to do to it first.
The 4MB photo problem
A modern phone takes photos around 3 to 6MB. A camera can produce far more. That file gets dragged straight into the media library, dropped onto a page, and shipped to every visitor who loads it.
A well-prepared hero image for a website is usually somewhere between 100KB and 300KB. So a single unprocessed photo can be twenty times heavier than it needs to be, and it does not look twenty times better. On a screen, it looks identical.
Now imagine a page with eight of those. Your visitor on mobile data is downloading 30MB to read your services page.
The fix: compress every image before upload. Free tools like Squoosh or TinyPNG will cut most photos by 60 to 80 percent with no visible difference. Make it a rule for anyone who touches the site.
Serving a 3000px image inside a 600px box
This is the second most common mistake and it is invisible in the editor. You upload a huge image, WordPress scales it down in the browser to fit the layout, and it looks perfect. But the browser still downloaded the full size file and then shrank it.
WordPress does generate multiple sizes on upload and can serve the right one, but that only helps if the theme and the block are set up to use them. Plenty of themes, page builders and custom templates end up pointing at the full-size file anyway.
The fix: resize before uploading. If the widest an image will ever display is 800 pixels, do not upload it at 4000. For full-width hero images, around 1920 pixels wide is plenty for almost every site.
You are probably using the wrong file format
Three formats cover nearly everything:
- WebP for photos. Roughly 25 to 35 percent smaller than an equivalent JPEG, and supported by every current browser.
- SVG for logos, icons and simple graphics. It is code, not pixels, so it is tiny and stays sharp at any size. Only accept SVGs from a source you trust, since they can carry scripts.
- JPEG as the safe fallback for photos where WebP is not an option.
PNG deserves a specific warning. It is excellent for graphics that need transparency and terrible for photographs. A photo saved as PNG can easily be five times the size of the same photo as JPEG. If you have PNG photos on your site, that is free speed sitting there.
Lazy loading, and why yours might be misconfigured
Lazy loading tells the browser not to download an image until the visitor scrolls near it. WordPress does this by default now, and it genuinely helps on long pages.
There is one way it backfires. If your hero image, the first thing visible at the top of the page, is lazy loaded, the browser delays the exact image your Largest Contentful Paint score depends on. You end up with a worse score than if you had done nothing. Some optimization plugins lazy load everything indiscriminately and cause this.
The fix: lazy load everything below the fold, load the first visible image normally.
Your media library is also full of files nobody uses
WordPress creates several resized copies of every image you upload, and it keeps the original. Delete a page and the images stay. Change your theme and the old theme's image sizes stay. Over a few years a media library can hold thousands of files that no page on the site references.
This does not slow down page loads directly, but it bloats your backups, makes migrations slower, and fills your disk. It is worth clearing out periodically, carefully, with a backup in hand first.
The part that has to keep happening
Image discipline decays. You can optimize everything on a Tuesday, and by the following spring someone has uploaded thirty new product photos straight off a phone. The score you fixed is gone and nobody noticed, because the site still looks fine to the person who uploaded them.
That is why performance is a maintenance job. Up Speed handles the routine side on every plan, including database cleanup and cache purging so the work does not sit behind a stale cache. If you want the speed side actively managed, with Google PageSpeed scoring and optimization plus a monthly report in plain English, that is the Professional plan. Start with a free site audit if you want to see where your images stand first.