Website acceleration from 50 to 96 PageSpeed — all metrics in the green zone
Generator repair website. PageSpeed Insights Mobile — 50 points.
Task: bring all metrics into the green zone without changing the design and layout.
What has been done:
Server side. GZIP compression configured via .htaccess — HTML reduced from 62 KB to 18 KB, CSS from 88 KB to 7 KB. Cache-Control headers set: fonts cached for 1 year, images for 30 days, CSS and JS for 7 days. MIME types added for WebP and WOFF2.
Images. Hero photo converted from JPEG 320 KB to WebP: desktop version 148 KB, mobile version 800px — 42 KB. Implemented responsive preload with fetchpriority=high attribute — the browser starts loading the required image before parsing CSS.
Fonts. Google Fonts completely replaced with self-hosted Montserrat: 4 WOFF2 files (Cyrillic and Latin, normal and italic styles) with unicode-range for loading only the required subset. Removed 2 external DNS connections. font-display: optional — zero CLS.
Critical CSS. Four CSS files inlined directly in the head of the page: tilda-grid, tilda-cover, tilda-blocks, fonts. Zero external blocking CSS requests.
Secondary CSS. Three files (animation, cards, forms) switched to asynchronous loading via preload/onload — do not block the first render.
Google Tag Manager. Moved to delayed launch: executes 2 seconds after the window.load event. TBT reduced from 240 ms to 70 ms.
Accessibility. Added aria-label to all CTA buttons and the form submission button. Fixed text contrast in the footer (was 2.3:1 — became 6.1:1). Decorative SVGs in buttons received aria-hidden. Minimum height of touch elements on mobile — 44px.
SEO. lang="uk" attribute on html. Canonical with absolute URL. og:image with absolute URL. DNS-prefetch for GTM and Google Analytics.
Result:
Performance 50 → 96
Accessibility 82 → 97
Best Practices 100
SEO 92 → 100
FCP 3.4s → 1.0s
LCP 6.4s → 1.8s
TBT 240ms → 70ms
CLS 0.113 → 0
Blocking CSS requests 6 → 0
#pagespeed #webperformance #lighthouse #tilda #website_speed #optimization #webp #criticalcss #gzip #accessibility #seo
Task: bring all metrics into the green zone without changing the design and layout.
What has been done:
Server side. GZIP compression configured via .htaccess — HTML reduced from 62 KB to 18 KB, CSS from 88 KB to 7 KB. Cache-Control headers set: fonts cached for 1 year, images for 30 days, CSS and JS for 7 days. MIME types added for WebP and WOFF2.
Images. Hero photo converted from JPEG 320 KB to WebP: desktop version 148 KB, mobile version 800px — 42 KB. Implemented responsive preload with fetchpriority=high attribute — the browser starts loading the required image before parsing CSS.
Fonts. Google Fonts completely replaced with self-hosted Montserrat: 4 WOFF2 files (Cyrillic and Latin, normal and italic styles) with unicode-range for loading only the required subset. Removed 2 external DNS connections. font-display: optional — zero CLS.
Critical CSS. Four CSS files inlined directly in the head of the page: tilda-grid, tilda-cover, tilda-blocks, fonts. Zero external blocking CSS requests.
Secondary CSS. Three files (animation, cards, forms) switched to asynchronous loading via preload/onload — do not block the first render.
Google Tag Manager. Moved to delayed launch: executes 2 seconds after the window.load event. TBT reduced from 240 ms to 70 ms.
Accessibility. Added aria-label to all CTA buttons and the form submission button. Fixed text contrast in the footer (was 2.3:1 — became 6.1:1). Decorative SVGs in buttons received aria-hidden. Minimum height of touch elements on mobile — 44px.
SEO. lang="uk" attribute on html. Canonical with absolute URL. og:image with absolute URL. DNS-prefetch for GTM and Google Analytics.
Result:
Performance 50 → 96
Accessibility 82 → 97
Best Practices 100
SEO 92 → 100
FCP 3.4s → 1.0s
LCP 6.4s → 1.8s
TBT 240ms → 70ms
CLS 0.113 → 0
Blocking CSS requests 6 → 0
#pagespeed #webperformance #lighthouse #tilda #website_speed #optimization #webp #criticalcss #gzip #accessibility #seo