PERFORMANCE · SEO GLOSSARY

Beauty Salon Core Web Vitals

CWV issues specific to beauty salon websites — before/after gallery image CLS (missing width/height), Fresha/Treatwell booking widget iFrame CLS, Instagram feed embed CLS, booking slot selection INP, and hero image LCP optimisation.

Definition

Beauty salon website CWV: (1) **Before/after gallery CLS**: before/after photo galleries are the most common CWV failure on beauty salon websites — images without explicit width and height attributes cause layout shift as each image loads; fix by adding `width` and `height` attributes to every `<img>` tag matching display dimensions; (2) **Booking widget iFrame CLS**: Fresha and Treatwell booking widgets embed via iFrame that resizes after JavaScript loads; without an explicit container height, the iFrame resize causes CLS on every page load; fix with `min-height: 600px` (or appropriate height) on the containing `<div>`; (3) **Instagram embed CLS**: live Instagram oEmbed blocks resize asynchronously as the Instagram API responds — each embedded Instagram post is a CLS event; fix: use static screenshots instead of live embeds; (4) **INP on booking slots**: selecting a date, viewing availability, and choosing a slot in Fresha/Treatwell widgets is the highest-value INP event on a beauty salon website; if competing JavaScript (chat widget, Instagram feed, analytics) occupies the main thread, slot selection exceeds 200ms response time; minimise concurrent JavaScript on booking pages; (5) **LCP optimisation**: the hero image (typically a before/after or treatment room photo) is usually the LCP element; serve as WebP, add `fetchpriority="high"` and explicit dimensions, preload in `<head>` for above-fold images; (6) **Chat widget on booking page**: live chat buttons (Tidio, Crisp, Tawk.to) add JavaScript competing for main thread during booking interactions.

Why it matters for SEO

Beauty salon clients book on mobile after a Google Maps or search result click — the session is typically short, intent is high, and CWV failures on the booking page directly lose bookings to competitors. Before/after gallery CLS is the most common easily-fixable issue: adding explicit width and height to every image element prevents layout shift with zero design change.

How DeepSEOAnalysis checks this

DeepSEOAnalysis measures CLS from images without explicit dimensions, identifies iFrame sources causing layout shift (Fresha/Treatwell widget), measures INP on booking interaction events, flags Instagram embeds as CLS sources, and checks LCP element for fetchpriority and size optimisation on beauty salon landing pages.

Useful tools and resources

See how your site scores on Beauty Salon Core Web Vitals.

The free DeepSEOAnalysis audit checks beauty salon core web vitals and 100+ other signals. Full report, no signup.

Run a free audit →