How to handle images in a theme.

Responsive Images Done Correctly

I’ve spent the better part of a decade inheriting “beautiful” client sites that are actually just bloated, heavy nightmares held together by sheer luck and massive unoptimized files. Most people think the secret to a pretty site is just finding a high-end photographer, but they completely ignore how to handle images in a theme once the assets actually hit the server. I still have a folder on my drive dedicated to the absolute disasters I’ve had to un-build—sites where a single hero banner was somehow five megabytes because the developer decided that resolution matters more than actual loading speed. It’s a ridiculous way to build, and frankly, it’s exhausting to fix.

I’m not here to give you a lecture on theoretical design or sell you on some expensive, bloated page builder that promises “drag-and-drop magic.” Instead, I’m going to show you the actual, practical way to audit the decisions a theme makes regarding your visual assets. We’re going to talk about intentionality—from how the theme calls up your files to how you should be prepping them before they ever touch your media library. No fluff, just the technical reality of keeping your site fast and your design sharp.

Table of Contents

Audit Their Image File Formats for Web Choices

Audit Their Image File Formats for Web Choices.

When I’m tearing into a new theme, the first thing I look at isn’t the hero section; it’s the file types the developer is forcing on you. If I see a theme that defaults to heavy, unoptimized JPEGs for everything, I’m already reaching for my coffee. You need to check if they’ve baked in support for modern image file formats for web, like WebP or AVIF. If the theme is stuck in 2015, you’re going to spend half your life fighting a losing battle against bloat just to get a decent PageSpeed score.

I also dig into how the theme handles scaling. A lot of “premium” builders claim to be lightweight, but then they completely ignore srcset attribute implementation. If the theme is serving a massive 3000px image to a mobile device because it doesn’t know how to serve different sizes for different screens, that’s not a design choice—it’s a failure. I want to see a theme that respects the user’s bandwidth by offering a range of resolutions. If they haven’t thought about how the browser handles different viewports, you’re essentially inheriting a performance debt that you’ll eventually have to pay back in slow load times and frustrated clients.

Dont Ignore Their Srcset Attribute Implementation Strategy

Dont Ignore Their Srcset Attribute Implementation Strategy

When I’m auditing a new theme, I don’t just look at the files; I look at how the code actually talks to the browser. Most developers claim to be “responsive,” but that’s a lazy buzzword. I want to see their srcset attribute implementation actually working under the hood. If a theme is serving a massive 2000px hero image to a mobile device because the developer didn’t bother setting up a proper range of descriptors, you’re looking at a performance nightmare. A well-coded theme should be doing the heavy lifting for you, offering a variety of image widths so the browser can pick the most efficient one.

If you find yourself digging through a theme only to realize it’s serving the same bloated file to every viewport, you’ve inherited a bad set of decisions. You shouldn’t have to write custom functions just to fix a lack of basic web performance optimization. I’ve seen too many “premium” themes skip this step entirely, forcing you to rely on heavy plugins to fix what should have been baked into the core template. If the theme isn’t providing a logical path for different screen densities, you aren’t just buying a design—you’re buying a technical debt headache.

Stop letting your theme make these five expensive mistakes

  • Check how they handle lazy loading. If the theme is hard-coding a script that forces every single image to load via JavaScript, you’re going to tank your LCP scores before the user even scrolls. I’d much rather see native browser lazy loading than some bloated third-party library that breaks the second a plugin updates.
  • Audit the container logic. I’ve inherited so many “modern” themes where the developer decided to wrap every single image in five layers of nested divs just to achieve a specific parallax effect. It’s DOM bloat, plain and simple, and it makes debugging CSS a nightmare.
  • Look for “hidden” image dependencies. Some themes bake huge, unoptimized hero images directly into the CSS as background properties. You can’t easily swap them out via the customizer, and you certainly can’t optimize them with a standard plugin. It’s a trap.
  • Verify the aspect ratio handling. I hate themes that use “object-fit: cover” as a universal band-aid for every image container. It might look fine on a desktop, but it’s a recipe for cropped-out heads and lost context once you hit mobile breakpoints.
  • Inspect the icon strategy. If a theme is loading a massive 500KB font file just to display five simple SVG icons, I’m already reaching for my uninstaller. A good theme uses inline SVGs or a targeted sprite; it doesn’t force a heavy font library on your visitors for the sake of convenience.

Stop inheriting bad decisions

Stop inheriting bad decisions with optimized images.

At the end of the day, handling images isn’t just about hitting “upload” and hoping for the best. It’s about looking under the hood to see how a theme is actually treating your assets. You’ve audited the file formats to make sure they aren’t serving heavy JPEGs where WebP should be, and you’ve checked that the `srcset` implementation isn’t just a hollow promise of responsiveness. If the theme is making lazy decisions about how it scales or compresses your files, it is your job to catch them. Don’t let a poorly coded theme turn your beautiful high-res photography into a bloated, slow-loading nightmare that kills your Core Web Vitals before the page even finishes rendering.

I’ve spent way too many hours un-building sites that were crippled by bad image handling, and I don’t want you to do the same. Building a site is an act of curation, and that includes curating the code that manages your visual content. When you stop treating themes like magic boxes and start treating them like a set of pre-made technical decisions, everything changes. You gain control. So, go ahead—break open that theme, inspect the way it handles your pixels, and refuse to settle for mediocrity just because it came pre-packaged in a zip file.

About Rasheeda Volkov

A theme is a set of decisions somebody else made. I read them before installing.

Author photo