Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rick Viscomi - Optimizing Web Vitals

Rick Viscomi - Optimizing Web Vitals

Tech SEO Connect

October 23, 2024
Tweet

More Decks by Tech SEO Connect

Other Decks in Marketing & SEO

Transcript

  1. @rick_viscomi 9 WAYS TO BOOST YOUR WEBSITE SPEED IN 2024:

    THE ULTIMATE GUIDE TO CORE WEB VITALS NEAR ME Number 4 will shock you! 😱 web.dev/articles/top-cwv
  2. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • Loading performance ◦ <=

    2500ms "Good" ◦ > 4000ms "Poor" • Percent of websites with good LCP ◦ 73% on desktop ◦ 61% on mobile web.dev/articles/lcp
  3. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • Special considerations ◦ LCP

    changes as the page loads ◦ LCP stops at user interaction web.dev/articles/lcp
  4. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • Special considerations ◦ Elements

    that are NOT considered ▪ Fullscreen images ▪ Invisible content ▪ Image placeholders web.dev/articles/lcp
  5. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • Special considerations ◦ LCP

    is affected by viewport size ◦ LCP is affected by user state web.dev/articles/lcp
  6. @rick_viscomi • Special considerations ◦ One LCP for all soft

    navigations in single page apps LARGEST CONTENTFUL PAINT (LCP) developer.chrome.com/docs/web-platform/soft-navigations-experiment
  7. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Time

    to First Byte (TTFB) web.dev/articles/top-cwv
  8. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Time

    to First Byte (TTFB) ▪ Back/forward cache ▪ Speculative prerendering #1 web.dev/articles/top-cwv
  9. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Time

    to First Byte (TTFB) ▪ Avoid redirects web.dev/articles/optimize-ttfb
  10. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Time

    to First Byte (TTFB) ▪ Use a CDN web.dev/articles/top-cwv #2
  11. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Resource

    load delay ▪ Make the image discoverable in the HTML source ▪ Avoid loading=lazy (and data-src) web.dev/articles/top-cwv #3
  12. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Resource

    load delay ▪ Prioritize the image with fetchpriority=high #3 web.dev/articles/top-cwv
  13. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Resource

    load duration ▪ Smaller file size web.dev/articles/optimize-lcp
  14. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Resource

    load duration ▪ Faster connections web.dev/articles/optimize-lcp
  15. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Element

    render delay ▪ Limitations of preloading web.dev/articles/optimize-lcp
  16. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Element

    render delay ▪ Web fonts web.dev/learn/performance/optimize-web-fonts
  17. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) • LCP phases ◦ Element

    render delay ▪ Main thread blocked web.dev/articles/optimize-lcp
  18. @rick_viscomi INTERACTION TO NEXT PAINT (INP) • Interaction responsiveness ◦

    <= 200ms "Good" ◦ > 500ms "Poor" • Percent of websites with good INP ◦ 97% on desktop ◦ 76% on mobile web.dev/articles/inp
  19. @rick_viscomi INTERACTION TO NEXT PAINT (INP) • LCP phases ◦

    Input delay ▪ Avoid unnecessary JavaScript web.dev/articles/top-cwv #4
  20. @rick_viscomi • LCP phases ◦ Processing duration ▪ Yield to

    break up long tasks INTERACTION TO NEXT PAINT (INP) web.dev/articles/top-cwv #5
  21. @rick_viscomi • LCP phases ◦ Processing duration ▪ Avoid large

    rendering updates INTERACTION TO NEXT PAINT (INP) web.dev/articles/top-cwv #6
  22. @rick_viscomi • LCP phases ◦ Presentation delay ▪ Avoid large

    rendering updates INTERACTION TO NEXT PAINT (INP) web.dev/articles/top-cwv #6
  23. @rick_viscomi CUMULATIVE LAYOUT SHIFT (CLS) • Layout stability ◦ <=

    0.10 "Good" ◦ > 0.25 "Poor" • Percent of websites with good CLS ◦ 72% on desktop ◦ 79% on mobile web.dev/articles/cls
  24. @rick_viscomi CUMULATIVE LAYOUT SHIFT (CLS) • Explicitly set sizes on

    content loaded from the page web.dev/articles/cls #7
  25. @rick_viscomi • Source of truth for CWV "How slow are

    my users' experiences?" • Not a substitute for diagnostic tools "Why are they slow?" CHROME UX REPORT (CrUX) developer.chrome.com/docs/crux/methodology
  26. @rick_viscomi REAL USER MEASUREMENT (RUM) • Diagnostic data for CWV

    "Why are user experiences slow?" • Additional metrics and info ◦ Where the time was spent ◦ What the user was doing web.dev/articles/vitals-measurement-getting-started