
The practices with the best clinical photography documentation are often the ones with the worst Core Web Vitals scores. That is the paradox. It is solvable.
The Big Idea: Google officially grades your website on “Core Web Vitals”—a fancy term for how fast and stable your site feels to a patient. If your site is slow, Google hides you from potential clients.
Google tracks three specific “Vital” signs:
Why it matters: In a crowded local market, Google uses these grades to decide who gets the top spot. A “Poor” grade means you’re handing patients to the competitor next door.
The Big Idea: To sell aesthetic treatments, you need high-end photography. But those same high-res photos are often the exact things dragging your website’s speed into the mud.

Why your site is struggling:
The paradox is not between quality and speed. It’s between unoptimized quality and speed. The same image at the same visual quality, in the right format, at the right size, with the right loading strategy, can be 80 to 90% smaller. The solution is not removing the photography. It’s removing the technical overhead from delivering it.
On a typical MedSpa website, the hero image is the Largest Contentful Paint element: the browser records how long the largest visible element took to render. If the hero image loads slowly, LCP scores poorly.

Five factors most commonly cause hero image LCP failures, in order of impact:
If your gallery page “jumps” or shifts as photos load, it’s because the browser didn’t know how much space to save for them. This creates a frustrating experience for patients, especially on mobile, and Google penalizes this lack of stability.
The Action: Ensure your gallery plugin or website settings explicitly define the width and height of every image. This forces the screen to reserve the correct space before the photo even appears, keeping the page perfectly still.
You can have high-resolution results without the massive file sizes. By using modern image formats and smart compression, your site will load significantly faster while looking identical to the patient.
The Action: Instruct your team to serve images in WebP or AVIF formats instead of standard JPEGs. These modern formats are 30% to 50% smaller. Additionally, set target file sizes: under 400kb for your main hero photos and under 150kb for individual gallery shots.
The Business Benefit: “Responsive sizing” ensures a phone user isn’t forced to download a massive desktop-sized image. This saves data and makes your site feel “instant” on mobile devices.
A gallery with dozens of photos shouldn’t try to load everything at once. Smart structuring allows the page to load the first few images immediately while deferring the rest until they are needed.
The Action: Ask your developer to implement “lazy loading” for any photos below the initial screen. You should also use a “thumbnail-first” setup, where small, fast-loading images are shown first, and the full-resolution version only loads if a patient clicks to see more detail.
The Business Benefit: This reduces the initial data “weight” of your gallery from hundreds of megabytes to less than ten, ensuring patients don’t abandon the page because it’s taking too long to load.
These technical instructions and code snippets should be shared with your development team to implement the improvements mentioned above.

Browsers need explicit dimensions in the website settings to reserve space. Without them, the background workload shifts the layout during render.
<!– CLS-preventing: explicit dimensions –>
<img src=”before-after-morpheus8.webp”
alt=”Morpheus8 before and after results”
width=”800″
height=”600″>
Use the <picture> element to handle format selection (AVIF/WebP) and the srcset attribute to serve appropriate resolutions based on the user’s screen width.
<picture>
<source srcset=”hero-image.avif” type=”image/avif”>
<source srcset=”hero-image.webp” type=”image/webp”>
<img src=”hero-image.jpg” alt=”MedSpa treatment results”
width=”1440″ height=”800″ fetchpriority=”high”>
</picture>
<img
src=”before-after-medium.webp”
srcset=”before-after-small.webp 480w,
before-after-medium.webp 800w,
before-after-large.webp 1200w”
sizes=”(max-width: 600px) 480px, (max-width: 900px) 800px, 1200px”
alt=”Morpheus8 results” width=”1200″ height=”900″>
Ensure the hero image bypasses lazy loading and uses fetchpriority=”high”. All images should be served via a CDN rather than directly from the main storage to reduce travel distance. Use loading=”lazy” strictly for images appearing below the fold.
For WordPress, which powers most MedSpa websites, the optimization stack is well-developed.
For Squarespace and Wix: platform-level optimization is more limited but improving. Both support WebP delivery and lazy loading natively. Standard page configurations generally pass Core Web Vitals thresholds, though with less granular control than WordPress.
Three tools provide everything needed to identify and prioritize problems:
Sequence these by impact:
The before/after gallery is not the enemy of page speed. An unoptimized before/after gallery is.
Every high-resolution before/after image on a MedSpa website can be delivered in a format that’s 80% smaller, loads in a fraction of the original time, and produces zero CLS. Without any visible difference in image quality for the patient looking at it.
The practices that solve this problem aren’t just improving their Google rankings. They’re delivering a faster, more stable experience to the majority of website visitors who arrive on mobile. Page speed is a user experience problem before it’s a ranking problem.
The solution stack is documented. The tools are available. In most local MedSpa markets, the competitive implementation gap is wide open. The practice that passes Core Web Vitals across its gallery and treatment pages is the exception. The practices in the Poor category are the rule.
Fix the images. Win the technical ground. Let the photography do what it’s supposed to do.
learn more
learn more
REQUEST BETA ACCESS
learn more