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) β–ͺ Back/forward cache β–ͺ Speculative prerendering #1 web.dev/articles/top-cwv
  8. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) β€’ LCP phases β—¦ Time

    to First Byte (TTFB) β–ͺ Avoid redirects web.dev/articles/optimize-ttfb
  9. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) β€’ LCP phases β—¦ Time

    to First Byte (TTFB) β–ͺ Use a CDN web.dev/articles/top-cwv #2
  10. @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
  11. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) β€’ LCP phases β—¦ Resource

    load delay β–ͺ Prioritize the image with fetchpriority=high #3 web.dev/articles/top-cwv
  12. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) β€’ LCP phases β—¦ Resource

    load duration β–ͺ Smaller file size web.dev/articles/optimize-lcp
  13. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) β€’ LCP phases β—¦ Resource

    load duration β–ͺ Faster connections web.dev/articles/optimize-lcp
  14. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) β€’ LCP phases β—¦ Element

    render delay β–ͺ Limitations of preloading web.dev/articles/optimize-lcp
  15. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) β€’ LCP phases β—¦ Element

    render delay β–ͺ Web fonts web.dev/learn/performance/optimize-web-fonts
  16. @rick_viscomi LARGEST CONTENTFUL PAINT (LCP) β€’ LCP phases β—¦ Element

    render delay β–ͺ Main thread blocked web.dev/articles/optimize-lcp
  17. @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
  18. @rick_viscomi INTERACTION TO NEXT PAINT (INP) β€’ LCP phases β—¦

    Input delay β–ͺ Avoid unnecessary JavaScript web.dev/articles/top-cwv #4
  19. @rick_viscomi β€’ LCP phases β—¦ Processing duration β–ͺ Yield to

    break up long tasks INTERACTION TO NEXT PAINT (INP) web.dev/articles/top-cwv #5
  20. @rick_viscomi β€’ LCP phases β—¦ Processing duration β–ͺ Avoid large

    rendering updates INTERACTION TO NEXT PAINT (INP) web.dev/articles/top-cwv #6
  21. @rick_viscomi β€’ LCP phases β—¦ Presentation delay β–ͺ Avoid large

    rendering updates INTERACTION TO NEXT PAINT (INP) web.dev/articles/top-cwv #6
  22. @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
  23. @rick_viscomi CUMULATIVE LAYOUT SHIFT (CLS) β€’ Explicitly set sizes on

    content loaded from the page web.dev/articles/cls #7
  24. @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
  25. @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