Page speed has compounding effects: faster pages convert better, rank better in search, get cited more by AI engines, and produce better user experience. The interventions that consistently produce measurable improvement on most Canadian SMB sites: **Image optimization** — typically the largest single performance win. - Convert images to modern formats: WebP for broad browser support, AVIF for further size reduction on supporting browsers. WebP typically reduces image size 30–40% vs JPEG; AVIF reduces another 30–50% vs WebP. - Resize images to actual display dimensions. Don't serve a 4000px image to a 400px container — that's 100× more pixels than needed. - Implement responsive images via `srcset` and `sizes` so different devices load appropriately-sized variants. - Lazy-load below-fold images via `loading="lazy"` attribute. The browser doesn't load these until they approach the viewport. - Compress images aggressively without visible quality loss using tools like Squoosh, ImageOptim, or build-time pipelines (sharp, imagemin). **Eliminate render-blocking JavaScript and CSS.** - Move non-critical JavaScript to defer or async loading. - Inline critical CSS (the styles needed for above-the-fold content) and load the rest asynchronously. - Remove unused CSS via tools like PurgeCSS or critical-css extraction in build pipelines. - Audit JavaScript bundles for unused code via webpack-bundle-analyzer or similar tools. **Use a CDN with Canadian edge presence.** Most major CDNs (Cloudflare, Fastly, Akamai, AWS CloudFront, BunnyCDN) have edge nodes in Toronto, Montreal, and Vancouver. Serving assets from a Canadian edge instead of the origin server (often US-based) reduces latency 50–200ms for Canadian users, which improves both perceived speed and Core Web Vitals. **Improve server response time.** - Time to First Byte (TTFB) should be under 600ms for most sites. Higher TTFB indicates server-side bottleneck. - Common causes: slow database queries, inefficient API calls, lack of server-side caching, underprovisioned hosting. - Solutions: enable server-side caching (Redis, Memcached, page caching), upgrade hosting tier, optimize database queries, use a faster hosting provider. **Remove unused third-party scripts.** Third-party scripts (analytics, chat widgets, ad scripts, marketing automation) are often the largest single cause of slow INP. Audit ruthlessly: - Do you actually use this script's data? If not, remove. - Can the script be loaded later (on user interaction) instead of on page load? - Is there a lighter-weight alternative? (e.g., self-hosted Plausible vs Google Analytics, on-demand chat vs always-loaded chat widget) **Browser caching.** Configure HTTP caching headers so returning visitors don't re-download unchanged assets. Static assets (images, fonts, CSS, JS bundles with hashed filenames) can be cached for a year or more; HTML and dynamic content cached briefly or revalidated. **HTTP/2 or HTTP/3.** Modern HTTP protocols multiplex requests over a single connection, eliminating the historical performance penalty of many small requests. Most modern hosting and CDNs support HTTP/2 and HTTP/3 by default; legacy hosting may need explicit configuration. **Font loading optimization.** - Self-host webfonts where possible (Google Fonts CDN adds a third-party dependency). - Use `font-display: swap` or `font-display: optional` to prevent invisible text during font load. - Subset fonts to only the characters needed. - Use variable fonts when you need multiple weights. **Measure correctly.** - Google PageSpeed Insights provides both lab data (synthetic test) and field data (real users). Field data is what Google uses for ranking. - Google Search Console's Core Web Vitals report shows real-user data over time, segmented by mobile/desktop and URL pattern. - WebPageTest provides detailed waterfalls showing exactly what loads when. - Test on real mobile devices, not just desktop browser DevTools. **Realistic expectations.** Most Canadian SMB sites have meaningful performance issues. Focused remediation typically achieves 'Good' Core Web Vitals across all three metrics within 4–8 weeks. Sustaining performance requires ongoing discipline — performance regressions accumulate quickly as new content and features are added without performance budgets.