How to optimize images for WordPress — beginner guide to compression, resizing, and alt text

How to Optimize Images for WordPress

If you’ve ever uploaded a photo straight from your phone or camera to a blog post without a second thought, I want you to know something: I’ve been exactly where you are. And I also want you to know that single habit is probably one of the biggest things slowing your site down right now.

Learning how to optimize images for WordPress isn’t a “nice to have” skill for later. It’s one of the first things that actually moves the needle on your site speed, your Core Web Vitals scores, and yes, your SEO. I found this out the hard way when I ran my own site through PageSpeed Insights and got flagged specifically for “Improve image delivery” as a savings opportunity. That one line item told me everything: my images were the problem, and I needed to fix them properly instead of guessing.

This post walks you through exactly what image optimization means, why it matters, and how to actually do it, including the real workflow I use myself, free plan limits and all.

Why Unoptimized Images Are Quietly Hurting Your Site

Large unoptimized image slowing down WordPress page speed and Core Web Vitals

Here’s what nobody tells beginners clearly enough: a single unoptimized image can be several megabytes in size. Multiply that by every image in a blog post, and you’ve got a page that takes forever to load, especially for visitors on slower connections or mobile data.

This matters for two big reasons.

First, visitors leave. Every extra second a page takes to load increases the chance someone bounces before they even read your content. You did the work of writing something valuable, and a slow-loading image just cost you the reader.

Second, Google notices. Page speed is a ranking factor, and it’s measured through a set of metrics called Core Web Vitals. The one most directly affected by images is called Largest Contentful Paint (LCP) — it measures how long it takes for the biggest visible element on your page to fully load. On most blog posts, that biggest element is a featured image or a large in-post photo. If your images are bloated, your LCP score suffers, and that’s a direct, measurable hit to your site’s performance in Google’s eyes.

So when people ask how to optimize images for WordPress, they’re really asking, “How do I stop my images from being the reason my site is slow and my Core Web Vitals are failing? The answer isn’t complicated, but it does require understanding a few concepts most beginners skip past.

Compression vs. Resizing: They Are Not the Same Thing

This is where I see most beginners get confused, so let’s clear it up properly.

Compression reduces the file size of an image by removing unnecessary data, without changing its dimensions. A compressed image looks (almost) identical to the original but takes up far less storage space and loads faster.

Resizing changes the actual dimensions of the image: the width and height in pixels. If your camera or phone shoots photos at 4000 x 3000 pixels, but your blog’s content area only displays images at 800 pixels wide, you’re forcing visitors to download an image four to five times larger than what they’ll ever actually see on screen.

Here’s the part that trips people up: you need to do both. Resizing an image to the correct dimensions and then compressing it gives you the smallest, fastest-loading file without sacrificing visible quality. Do only one and you’re leaving performance on the table. Compress a huge image without resizing it, and it’s still needlessly large. Resize an image without compressing it, and you’re missing extra savings that cost you nothing in visual quality.

Choosing the Right File Format: WebP vs JPG vs PNG

Comparison of WebP, JPG, and PNG file formats for WordPress blog images

File format is another piece of the puzzle, and it’s simpler than it sounds once you know what each one is actually for.

JPG (or JPEG) is the standard format for photographs. It compresses well and is supported everywhere. If you’re uploading a photo, JPG is usually your safest default.

PNG is best for images that need transparency or for graphics with sharp lines, text, or flat colors think logos, screenshots with clean edges, or icons. PNG files are generally larger than JPGs, so don’t use PNG for photographs unless you specifically need transparency.

WebP is a newer format built specifically for the web, and it’s genuinely worth using. It typically produces smaller file sizes than JPG or PNG at a similar visual quality, and WordPress and modern browsers support it well. Most good image optimization plugins will automatically convert your uploads to WebP for you, which is one less thing you have to think about manually.

My honest recommendation as a default: let a plugin convert everything to WebP automatically where possible, and treat JPG as your fallback for anything that needs broader compatibility.

What File Size Should You Actually Be Aiming For?

This is the practical number beginners want, so I’ll give it to you straight: aim to keep your blog images under 100–200kb wherever you reasonably can, especially for in-post images. Featured images and hero images can sometimes run slightly larger depending on your theme, but 100–200kb is a solid, achievable target for a beginner blog without a sacrifice in visible quality.

This isn’t an arbitrary number. Images in this range load quickly even on average connections; they won’t tank your LCP score, and they’re realistic to hit with either a plugin or free manual tools, which brings me to the actual workflow.

My Real Workflow: Plugin First, Manual Backup When I Hit My Limit

ShortPixel free plan dashboard showing monthly image compression limit

I’ll be transparent about how I actually do this, because I think beginners need to see a real workflow, not just plugin theory.

I use ShortPixel on the free plan. It automatically compresses images as I upload them to WordPress, converts formats where appropriate, and handles resizing rules I’ve set up. It’s genuinely one of the easiest ways to handle image optimization for WordPress without thinking about it on every single upload. If you want the specifics of how I use it and what I think of it after actually relying on it, I’ve written a full breakdown here: ShortPixel Review.

But here’s the part people don’t talk about enough: free plans have monthly compression limits. ShortPixel’s free plan gives you a set number of image compressions per month, and once you hit that limit, it stops compressing new uploads automatically until the next cycle.

When that happens, I don’t just upload unoptimized images and shrug. I switch to manual compression using free external tools before uploading. I resize the image to the dimensions I actually need, run it through a free online compressor, and check that it’s landed under my 100kb target before it ever touches my media library. It takes a couple of extra minutes per image, but it means my site’s performance never depends entirely on whether I’ve hit a plugin’s free-tier ceiling that month.

This is the honest, budget-conscious version of image optimization: use a plugin as your primary system, but know how to do it manually so a monthly limit never becomes an excuse for a slow site.

If you’re comparing which plugin might suit your workflow best, I’ve also broken down the differences here: ShortPixel vs Imagify vs Smush.

Step-by-Step: Optimizing an Image Before You Upload

Step-by-step process of resizing, compressing, and renaming an image before uploading to WordPress

Here’s the actual process, step by step, so you can apply it to your very next image.

Step 1: Resize the image to the dimensions you’ll actually display. Check your theme’s content width (most blog content areas are somewhere between 700–900px wide) and resize accordingly. There’s no reason to upload a 4000px-wide image into an 800px-wide content area.

Step 2: Compress the resized image. Whether you’re using a plugin automatically or a free manual tool because you’ve hit your monthly limit, run the resized image through compression before it goes into your media library.

Step 3: Check the file size. Aim for under 100–200kb. If it’s still too large, either the compression setting is too conservative or the dimensions are still bigger than they need to be.

Step 4: Choose the right format. Photographs as JPG or WebP, graphics with transparency or sharp lines as PNG or WebP.

Step 5: Rename the file before uploading. Instead of “IMG_4821.jpg”, rename it to something descriptive like “wordpress-image-compression-example.jpg”. This helps with image SEO and gives context to both search engines and screen readers.

Step 6: Upload and add proper alt text. This step is often treated as an afterthought, but it’s genuinely part of optimization, not a separate task.

Alt Text Is Part of Optimization Too

A lot of beginners think “image optimization” only refers to file size and speed. It doesn’t. Alt text is just as much a part of properly optimizing your images, for two distinct reasons.

For SEO: Alt text tells Google what an image is about, since search engines can’t “see” images the way people do. Well-written, descriptive alt text can help your images show up in image search results and gives search engines more context about your page’s content overall.

For accessibility: Alt text is read aloud by screen readers for visually impaired visitors. Without it, someone relying on assistive technology has no idea what that image contains or why it’s there. This isn’t optional politeness; it’s making your content genuinely usable for more people.

Good alt text is specific and descriptive, not stuffed with keywords. Instead of “image1” or “blog photo,” write something like “laptop screen showing WordPress media library with image file size displayed. Describe what’s actually in the image, in plain language, as if you were explaining it to someone who can’t see it.

Plugins vs. Manual Tools: Which Should You Use?

Comparison of using a WordPress image optimization plugin versus manual free compression tools

Realistically, you don’t have to choose one exclusively; I don’t. Here’s how I think about when each makes sense.

Use a plugin when: you want compression to happen automatically on upload, you’re publishing regularly and don’t want an extra manual step every time, and you’re within your monthly compression allowance.

Use manual/free tools when: you’ve hit your plugin’s free-tier limit for the month, you’re optimizing a batch of images before a big content push, or you want more direct control over the exact compression level for a specific image.

Neither approach is “more advanced” than the other. The goal is simply that every image reaches your site properly resized, properly compressed, and in the right format, however that happens.

If you want the fuller picture of how image optimization fits into overall site speed, this pairs well with How to Speed Up WordPress, since images are usually one piece of a bigger speed puzzle.

For the more technical detail on how Core Web Vitals and Largest Contentful Paint specifically factor into page experience, Google’s own documentation on optimizing LCP is worth a read directly from the source.

FAQ: How to Optimize Images for WordPress

Frequently asked questions about how to optimize images for WordPress

1. What does it actually mean to optimize images for WordPress? It means preparing an image through resizing, compression, and the correct file format, so it loads as quickly as possible without a noticeable drop in visual quality, while also including proper alt text for SEO and accessibility.

2. Is WebP always better than JPG for WordPress images? WebP typically produces smaller file sizes at similar quality, which makes it a strong default. JPG remains a reliable fallback and is universally supported, so many optimization plugins offer WebP with a JPG fallback automatically.

3. What’s a good target file size for blog images? Aiming for under 100–200kb per image is a realistic, achievable target for most blog content without a visible drop in quality.

4. Do I need a plugin to optimize images, or can I do it manually? Either works. A plugin like ShortPixel automates the process, but free manual tools work just as well when you understand what resizing and compression actually need to accomplish, which matters especially once you hit a free plugin’s monthly limit.

5. Does alt text actually affect SEO? Yes. Descriptive alt text gives search engines context about what an image contains, which can help with image search visibility and gives your overall page more relevant, indexable context.

6. Why does Google specifically flag “Improve image delivery” in PageSpeed Insights? This flag appears when your images are larger, in file size or dimensions, than what’s actually needed for how they’re displayed. It’s a direct signal that resizing and/or compression hasn’t been properly applied yet.

Conclusion

Summary checklist for optimizing images for WordPress before publishing

Optimizing images for WordPress isn’t a technical afterthought; it’s one of the most practical, beginner-friendly changes you can make to genuinely improve your site’s speed and search performance. Once you understand that compression and resizing are two different jobs, that file format actually matters, and that a target of under 100–200kb per image is realistic, the whole process stops feeling mysterious.

My own workflow isn’t fancy: I lean on ShortPixel’s free plan to handle compression automatically, and when I hit my monthly limit, I switch to free manual tools to keep every image under my target size before it ever gets uploaded. That combination means my site’s performance never depends entirely on a free-tier ceiling, and yours doesn’t have to either.

Add proper alt text to every image, resize before you compress, choose the right format for the job, and check your file size before hitting upload. Do this consistently, and image optimization stops being a chore you dread and becomes just another normal step in publishing, one that quietly keeps your Core Web Vitals healthy and your readers actually sticking around long enough to read what you wrote.

Similar Posts