Your portfolio photos are killing your Google ranking

01 / 04

Cabinet makers live and die by the portfolio. A kitchen renovation client spending $30,000–$80,000 makes most of their decision based on photos. Getting those photos online in a way that actually converts browsers into callers is the whole game — but most BC cabinet shops are doing it in a way that actively hurts their Google ranking.

The mistake is almost universal: upload the original camera photos directly to the website. A DSLR or iPhone 15 Pro produces files between 8–20MB per image. A portfolio of 40 photos is 320–800MB of images the browser has to download before showing the visitor anything.

A site with 40 unoptimised photos and a WordPress installation will score 18–35 on Google PageSpeed mobile. The same photos on static HTML, properly compressed, will score 94–98.

The difference between appearing on page 1 for "custom cabinet maker Surrey BC" and page 3 is, in many cases, site speed. Not the quality of the work — the quality of the file management.

How much of a problem is it, exactly?

Google's Core Web Vitals — the scoring system it uses to rank pages — measure how quickly the largest visible element on the page loads (LCP), how stable the layout is (CLS), and how responsive the page is to interaction (INP). Unoptimised portfolio images fail all three tests simultaneously.

iPhone 15 Pro RAW
18 MB +5s load
DSLR JPEG
8.4 MB +3s load
PNG screenshot
3.2 MB +1.8s load
WebP optimised
180 KB Same quality
Avg unoptimised portfolio photo
8.2 MB
Straight from a DSLR or iPhone 15 Pro. Each adds ~3 seconds load time on LTE.
After WebP compression
180 KB
Same visual quality. 97% smaller. Imperceptible difference at screen resolution.
WP cabinet site — PageSpeed
22
Typical score for a BC cabinet shop WordPress site with unoptimised portfolio images.
Static HTML, compressed images
96
Same photos, same quality. 4× faster. Ranks higher in every local search.

The image optimization playbook — what to do with every photo

02 / 04

The good news: image optimization is a solved problem. It requires one tool, one step, and produces dramatically better results. Here is the exact process.

Step 1: Convert everything to WebP

WebP is the image format Google invented for the web. It produces smaller files than JPEG or PNG at equivalent visual quality. For portfolio photos — high-detail woodgrain, cabinetry close-ups, full kitchen shots — WebP typically produces a 75–85% file size reduction with no visible quality loss at screen resolution.

Free tools: Squoosh.app (Google's own tool, browser-based, drag and drop), ImageOptim (Mac desktop app), or tinypng.com (web-based, handles bulk uploads). Any of these will take a 10MB JPEG and produce a 180–350KB WebP in under 30 seconds.

Step 2: Resize to display dimensions

A portfolio gallery on a desktop displays images at roughly 800–1200px wide. There is zero benefit to uploading a 6000px wide photo — it downloads the whole file and then the browser scales it down. Resize to 1400px max width before compression. This alone cuts file size by 60–70% before any format conversion.

Every cabinet maker's website should load in under 2 seconds on a phone. Most people browsing for a kitchen renovation are doing it from their couch, on a phone, on a 5G connection that's actually doing LTE speeds. Two seconds is the threshold between "this looks professional" and "something's wrong with this site."

Step 3: Lazy load images below the fold

Lazy loading means images only download when the visitor scrolls toward them — not all at once when the page loads. This is a single HTML attribute: `loading="lazy"` on any `<img>` tag that isn't in the first screen of content. Every Rainmaker-built site includes this by default. WordPress themes often don't, or implement it incorrectly through a plugin that adds overhead.

Recommended max image width
1,400 px
No screen displays portfolio images wider than this. Upload larger and you're loading data nobody sees.
WebP quality setting
80%
In Squoosh: set quality to 80. The human eye cannot distinguish 80% from 100% on a screen.
File size target per image
150 KB
For a full portfolio page of 20 images: 3MB total download. Target for under-2s load on LTE.
Max 20 images per page
Best free tool
Squoosh.app
Made by Google. Drag-drop interface. Side-by-side quality comparison before you export. Free forever.

Portfolio structure that converts — not just looks good

03 / 04

Speed gets the visitor to your portfolio. Structure is what converts them into a caller. Most cabinet maker portfolios fail at the structure — they're galleries of unlabelled photos with no context for what the viewer is looking at.

A cabinet renovation client isn't just looking at aesthetics. They're asking: "Can these people do what I need? Have they done something similar to my project? What's the price range?" A well-structured portfolio answers all three questions before they have to ask.

Avg time on portfolio page
38 sec
If no call-to-action appears before they leave, they're gone. Structure the page to capture them.
Structure 01
Label every project

Don't show photos — show projects. "Kitchen renovation, Langley BC — full custom cabinets, island, pantry, quartz countertops." Each project gets a title, a location, and a brief scope line. Gives the viewer context and gives Google content to index.

Structure 02
Group by type, not chronology

Organize by project type: kitchens, bathrooms, offices, built-ins. A prospect looking for a bathroom vanity should land immediately in bathroom projects — not scroll through 40 kitchen photos to find them.

Structure 03
Show 6–8 per project, not 40

Curate ruthlessly. A before, a wide shot, a detail, and a finished reveal is more compelling than 15 process photos. Quality over quantity — it also means faster load times and a tighter, more professional presentation.

Structure 04
CTA after every 3rd project

"Like what you see? Get a quote." After every third project block. A visitor who's made it through 3 projects is already qualifying themselves. Put the contact action where they are, not just at the top and bottom of the page.

Structure 05
Alt text on every image

"Custom white shaker kitchen cabinets, Langley BC" — not "IMG_4892.jpg". Alt text is what Google reads when it can't process the image. It's also how visually-impaired visitors understand your work. 5 seconds per image, significant SEO return.

Structure 06
One portfolio page, not many

A single well-structured /portfolio page concentrates all your SEO authority in one place. Splitting into multiple pages (/kitchens, /bathrooms) dilutes link authority. One page, well-organized, with anchor links to each section.

What a properly built cabinet maker site looks like — the full picture

04 / 04

Put it all together: optimised WebP images, lazy loading, clean portfolio structure, and a static HTML foundation. Here is how that combination compares to the typical BC cabinet shop website.

Factor WordPress (typical) Static HTML (Rainmaker)
Image format JPEG, PNG — uploaded from camera WebP, compressed to 150–300KB per image
Lazy loading Requires plugin. Often breaks on updates. Native HTML attribute. Zero plugin dependency.
PageSpeed mobile 18–35 with large portfolios. Penalised by Google. 94–98. Positive ranking signal for local searches.
Monthly cost $30–$150/month hosting + maintenance $0/month. Domain ~$15/yr only.
Update workflow Upload via Media Library → correct alt text → check display across devices Edit HTML, drag to Netlify. Live in 30 seconds.
The cabinet maker's advantage: Your work is physical, expensive, and custom — it speaks for itself in photos. The only technical job the website has is to show those photos to the right person, fast enough that they don't leave before seeing them. A static HTML site with properly compressed WebP images does exactly that, costs nothing monthly, and ranks better than every competitor still running unoptimised WordPress.
WP cabinet site — LCP (load time)
6.2 s
Typical Largest Contentful Paint for a BC cabinet shop WordPress site with portfolio images. "Poor" by Google's standard.
Static HTML — LCP
<0.9 s
"Good" by Google's standard. The threshold that moves you from page 2 to page 1 for local searches.
Ryxen SiteQueue
Coming soon
A Ryxen tool for managing job intake and client queues for millwork and cabinet shops. Built for the same businesses this article is written for.
Typical BC cabinet shop site — PageSpeed
22
Unoptimised JPEG portfolio images on WordPress. Every competitor with a faster site outranks this.
Image size reduction (JPEG → WebP)
97%
An 8MB JPEG becomes a 180KB WebP. Same visual quality at screen resolution. No visible difference.