Key Takeaways
- Unoptimised images are the number one reason gym websites load slowly — and slow sites lose members
- WebP is the best format for most gym website images in 2026, with JPEG as a solid fallback
- Descriptive file names and alt text help Google understand your images and improve local search visibility
- Lazy loading means images below the fold only load when someone scrolls to them, cutting initial page load dramatically
- Compression can reduce image file sizes by 60-80% without any visible quality loss
Introduction
Here's a scenario I see all the time. A gym owner hires a photographer to shoot their facility — beautiful shots of the training floor, members in action, the whole lot. They get the photos back, upload them straight to their website, and wonder why the site takes eight seconds to load on mobile.
Those photos are probably 3-5MB each. Multiply that across a homepage with ten images and you've got a 40MB page. Your average mobile user on 4G is going to bounce before it even finishes loading.
Google has been clear: page speed is a ranking factor. Specifically for mobile — and 70% of local searches happen on mobile. If your gym's website is slow because of bloated images, you're hurting your SEO and losing potential members before they even see your offer.
The good news? Image optimisation isn't complicated. This guide covers exactly what to do — from file formats to compression to alt text — so your site loads fast and ranks better.
Image Formats: WebP, JPEG, and PNG
Not all image formats are equal. The format you choose affects file size, quality, and browser compatibility. Here's what gym owners need to know:
WebP — The Best Choice for Most Gym Images
WebP is a modern format developed by Google that delivers significantly smaller file sizes than JPEG or PNG — typically 25-35% smaller at equivalent quality. Every major browser supports it now (Chrome, Firefox, Safari, Edge).
Use WebP for:
- Facility photos
- Action shots of members training
- Team and coach photos
- Class photos
- Any photo on your site that isn't a logo
Example: A CrossFit box in Wollongong switched all their website images from JPEG to WebP. Page load time dropped from 4.2 seconds to 1.8 seconds. Their bounce rate fell by 23% in the following month.
JPEG — The Reliable Fallback
JPEG has been around forever and it's still solid for photographs. If you can't use WebP for some reason (older CMS, compatibility issues), JPEG at 80% quality is your go-to.
Use JPEG for:
- Fallback images for older browsers
- Email newsletter images
- Any platform that doesn't support WebP
PNG — Only When You Need Transparency
PNG files are significantly larger than WebP or JPEG. The only reason to use PNG is when you need transparency — like a logo with a transparent background that sits on top of different coloured sections.
Use PNG for:
- Logos with transparent backgrounds
- Graphics with text overlays that need crisp edges
- That's basically it
What About AVIF?
AVIF is newer than WebP and offers even better compression. Browser support is growing but not universal yet. If your website platform supports it, great — use it. If not, WebP is more than enough.
Compression: Shrink Files Without Losing Quality
This is where the biggest wins are. Most gym owners upload photos at full resolution straight from their camera or phone. A single photo from an iPhone can be 5-8MB. You need to get that down to 100-300KB without the image looking noticeably worse.
How to Compress Images
Free online tools:
- Squoosh — Google's free tool. Drag and drop, adjust quality, see the before/after side-by-side. Brilliant for one-off images.
- TinyPNG — Works for PNG and JPEG despite the name. Batch upload up to 20 images at once.
- ShortPixel — Has a free tier and a WordPress plugin that auto-compresses on upload.
WordPress plugins:
- ShortPixel or Imagify — both compress images automatically when you upload them to your media library. Set it once and forget about it.
Target file sizes:
- Hero images (full-width): 150-300KB
- Inline photos (within content): 50-150KB
- Thumbnails (class cards, team grid): 20-50KB
Quality Settings
For JPEG, 80% quality is the sweet spot. Below 70% and you'll start seeing artefacts. Above 85% and the file size jumps without any visible improvement.
For WebP, 75-80% quality delivers excellent results. The compression algorithm is more efficient, so you can go slightly lower than JPEG.
Pro tip: Nobody is zooming into your gym photos to inspect pixel quality. They're scrolling on a phone. An image compressed to 80% quality at the right dimensions looks identical to the original to the human eye.
Alt Text: What Google Reads When It Can't See
Google can't "see" your images the way humans can. It relies on alt text (alternative text) to understand what an image shows. Good alt text helps your images appear in Google Image Search and reinforces the local SEO signals on your page.
How to Write Alt Text for Gym Images
The formula: Describe what's in the image, include your gym type and suburb if natural.
Good examples:
alt="Members doing boxing pad work at a gym in Bankstown"alt="CrossFit class performing barbell cleans during morning WOD"alt="Front entrance of Iron Athletics martial arts academy in Penrith"alt="Personal trainer coaching a member through kettlebell swings"
Bad examples:
alt="IMG_4523.jpg"— meaningless to Googlealt="gym"— too vaguealt="best boxing gym near me Bankstown boxing classes cheap boxing"— keyword stuffing, and Google will ignore or penalise thisalt=""— empty alt text, tells Google nothing
Alt Text Tips
- Keep it under 125 characters
- Describe the image as if you're telling someone who can't see it what's happening
- Include your suburb naturally, not forced. If the image shows your Marrickville facility, mention Marrickville. If it's a generic action shot, don't shoehorn in a location.
- Every image on your site should have alt text. No exceptions.
File Naming Conventions
Before you even upload an image to your website, rename the file. Google reads file names as another signal about what the image contains.
The formula: lowercase, hyphens between words, descriptive.
Good file names:
boxing-gym-training-floor-cronulla.webpcrossfit-class-morning-wod.webpcoach-dave-pad-work-session.webpfront-entrance-iron-athletics-penrith.webp
Bad file names:
IMG_4523.jpg— camera default, tells Google nothingphoto1.png— meaninglessgym_photo_FINAL_v2_edited.jpeg— messy and non-descriptive
Pro tip: Build a naming convention and stick to it. Something like: [subject]-[action-or-detail]-[location].webp. It takes an extra ten seconds per image but compounds over time as Google indexes more and more correctly-named images from your site.
Lazy Loading: Only Load What's Visible
Lazy loading means images that are below the visible area of the screen (below the fold) don't load until the user scrolls down to them. This dramatically reduces initial page load time.
Why It Matters for Gyms
Think about your homepage. You might have a hero image at the top, then a classes section with six photos, then a testimonials section with member photos, then a team section with coach photos. That's potentially 15-20 images.
Without lazy loading, all 15-20 images load when someone first opens the page — even though they can only see the first two or three. With lazy loading, only the visible images load immediately. The rest load as the user scrolls.
How to Implement Lazy Loading
Native HTML (easiest): Add loading="lazy" to your <img> tags:
`html
<img src="boxing-class-bankstown.webp" alt="Boxing class at a gym in Bankstown" loading="lazy">
`
WordPress: Most modern themes have lazy loading built in. If yours doesn't, plugins like WP Rocket or Perfmatters add it automatically.
Important: Don't lazy load your hero image or any image that's visible when the page first loads. Those should load immediately (use loading="eager" or just leave the attribute off). Lazy loading is only for images below the fold.
Image Dimensions and Responsive Images
Another common mistake: uploading a 4000x3000 pixel image when it only displays at 800x600 on the page. The browser downloads the full-size image and then shrinks it to fit — wasting bandwidth and slowing everything down.
Right-Size Your Images
Before uploading, resize images to the largest size they'll ever display:
- Hero images: 1920px wide maximum
- Content images: 800-1200px wide
- Thumbnails: 400-600px wide
- Team headshots: 400x400px
Responsive Images (srcset)
If your website serves different image sizes for different screen sizes (which it should), use the srcset attribute. Most CMS platforms handle this automatically — WordPress generates multiple sizes when you upload an image.
If you're on a platform that doesn't do this automatically, ask your web developer to set it up. The difference on mobile is significant.
Image CDNs: Speed From the Edge
A Content Delivery Network (CDN) serves your images from servers geographically close to your visitors. If your website is hosted in the US but most of your visitors are in Sydney, a CDN serves images from a Sydney server instead.
Popular image CDNs:
- Cloudflare (free tier includes basic CDN and auto image optimisation)
- Bunny CDN (affordable, excellent for Australian traffic)
- Cloudinary (auto-format, auto-compress, auto-resize — set it and forget it)
For a single-location gym, Cloudflare's free tier is usually enough. It sits in front of your website, caches your images globally, and can auto-convert to WebP. Set it up once and your images load faster for everyone.
Testing Your Image Performance
After optimising, test your results:
Google PageSpeed Insights (pagespeed.web.dev) — Enter your URL and check both mobile and desktop scores. Look specifically at "Largest Contentful Paint" (LCP) — this is usually your hero image. If LCP is under 2.5 seconds, you're in good shape.
GTmetrix (gtmetrix.com) — Shows a waterfall view of every resource loading on your page. You can see exactly which images are too large or loading too slowly.
What to aim for:
- Total page size under 2MB (ideally under 1MB)
- No individual image over 300KB
- Mobile PageSpeed score above 80
- LCP under 2.5 seconds
A martial arts academy in Newcastle went from a PageSpeed score of 34 to 89 just by compressing their images and adding lazy loading. No other changes. That's how much impact images have on page speed.
Common Mistakes
Uploading straight from camera: The biggest one. Always compress and resize before uploading. A raw photo from your phone is 5-10x larger than it needs to be.
Ignoring alt text entirely: Every image without alt text is a missed SEO opportunity. Google can't read images — alt text is how you tell it what's there.
Using generic file names: IMG_4523.jpg tells Google nothing. Rename every image before uploading with descriptive, hyphenated text.
Only using PNG: Some gym owners save everything as PNG because "it's higher quality." For photos, PNG files are enormous compared to WebP or JPEG with no visible quality difference. Reserve PNG for logos with transparency.
Not lazy loading: If your homepage has more than five images, lazy loading should be active. Without it, you're forcing every visitor to download every image before the page becomes usable.
Forgetting mobile: Your images might look perfect on desktop but take forever on mobile. Always test with PageSpeed Insights on the mobile tab — that's where your members are searching.
Next Steps
Images are one piece of on-page optimisation. Make sure your photos on Google Business Profile are just as dialled in — read our GBP photos guide for gyms.
For the complete picture on technical and on-page SEO, check out our local SEO checklist for gyms.
Want a professional eye on your site speed and image setup? Get a free GBP audit — we'll check your website performance as part of the review.
WANT US TO DO THIS FOR YOU?
Get a free Lead Audit and we'll show you exactly where your gym is losing leads online.
Get Your Free Lead Audit