PageSpeed Clinic Demo
Clinic-site demo for
before/after comparison
This page is the English overview for the clinic PageSpeed demo. The comparison summary is in English, while the actual before and after demo pages remain in Japanese so the visual comparison stays unchanged.
- The before page keeps layout shift, heavier PNG delivery, third-party libraries, and eager map loading.
- The after page improves LCP image discovery, CSS delivery, responsive image output, and below-the-fold loading order.
- The PSI screenshots below use the actual mobile reports collected for this demo.
PSI report panels
PSI shared links are not ideal for long-term storage, so this page also keeps the actual mobile report screenshots alongside the live links.
After page
What changes between before and after
The content and visual direction stay close, but the implementation layer is reorganized.
Issues kept in the before page
- A notice bar is inserted after load, causing layout shift in the first viewport.
- The logo, hero, doctor photo, gallery, and staff photo are delivered as heavier PNG assets.
- The page loads the slider and multiple external libraries up front.
- Hidden heavy images and legacy reservation-widget style work still run after initial load.
- The Google Maps iframe is eagerly requested during initial rendering.
Main improvements applied
- The hero image uses `preload`, `srcset`, `sizes`, `loading="eager"`, and `fetchpriority="high"` for LCP.
- Critical CSS is inlined in the head, while the remaining CSS is loaded asynchronously.
- Images are converted to WebP and delivered with responsive `srcset` and `sizes`.
- Feature, service, gallery, and staff images start as placeholders and are hydrated only when near the viewport.
- The Google Map is lazy-loaded, and analytics is delayed until interaction or a later timer.
Most important implementation changes
These are the four changes that explain most of the score difference.
LCP image prioritization
The hero image stays as a normal `img`, but now uses `preload`, `srcset`, `sizes`, and `fetchpriority="high"` together.
Critical CSS
Header and hero styles are inlined first, while the rest of the stylesheet is loaded later to reduce render-blocking work.
Responsive image delivery
The site no longer just swaps PNG for WebP. Logo, profile, gallery, and staff images are also served in size variants.
Below-the-fold deferral
Offscreen images hydrate later, the map is lazy-loaded, and analytics is delayed so the first render stays focused.