A deep dive into optimizing LCP

Поделиться
HTML-код
  • Опубликовано: 3 окт 2024
  • There is no shortage of advice on the web about improving page load performance, and yet, of the three Core Web Vitals, Largest Contentful Paint (LCP) is still the hardest metric for most sites to consistently meet the recommended "good" threshold. This talk looks at what makes LCP a hard metric to optimize, and offers some concrete strategies to break this complex metric down into a few simple parts, making it much easier to reason about and ultimately improve.
    Resource:
    Optimize LCP → goo.gle/3vhmmSg
    Speaker: Philip Walton
    Watch more:
    All Google I/O 2022 Sessions → goo.gle/IO22_A...
    Web at I/O 2022 playlist → goo.gle/IO22_Web
    All Google I/O 2022 technical sessions → goo.gle/IO22_S...
    Subscribe to Google Chrome Developers → goo.gle/Chrome...
    #GoogleIO

Комментарии • 66

  • @PaulVoorberg
    @PaulVoorberg 9 месяцев назад +19

    12:25 - Point where the practical advise starts
    18:19 - Real website case study

  • @NiteshGarg
    @NiteshGarg Год назад +5

    Extremely simple and helpful explanation. I could bring the LCP that used to stay between 3.5 to 4s, down to 1.5 to 2s. Thanks a lot for creating this video!

  • @CookingForAlba-qh8nq
    @CookingForAlba-qh8nq 10 месяцев назад +2

    I can't exaggerate how helpful this type of learning- and practical material is for us to improve our user experiences and ultimately improving the bottom line (for all you PM's out there). I would strongly urge and request (beg?) that the same format is made but for INP, as we're getting closer to March 2024 and INP becoming de-facto part of Core Web Vitals. Thanks for the extremely well produced and explained material. More of this will make the web a better place for everyone.

    • @RickViscomi
      @RickViscomi 3 месяца назад

      Google just released an INP deep dive video last month: ruclips.net/video/cmtfM4emG5k/видео.html

  • @YouCodeThings
    @YouCodeThings 2 года назад +9

    This was brilliant! Loved the structure of the video and the optimization of the demo at the end!

  • @mikegeyser467
    @mikegeyser467 2 года назад +5

    What a really good talk Phil. Sending it to everyone. :P Thank you.

  • @groquikman
    @groquikman 2 года назад +6

    Really clear, well done Philip!

  • @aliesmaeili7433
    @aliesmaeili7433 6 месяцев назад

    thank you for simple and practical advices. i hope you have simple and practical guidance along your way.

  • @bbrosser694
    @bbrosser694 2 года назад +1

    Thank you so much. You gave me the tools that I need to learn, apply the learning, and combine other functions and information.

  • @nexTabDE
    @nexTabDE 9 месяцев назад

    Thank you for the video; I really liked the practical example at the end and the various breakdowns. 🙂

  • @geopolitics777
    @geopolitics777 2 года назад +6

    Can you give basic instructions to non-coders on how to install the perf.js code with a wordpress site? Thanks

  • @isagive
    @isagive 9 месяцев назад

    תודה רבה, הטיפ הזה על טעינה מראש של תמונות הביא לי לפחות 10 נקודות. כל הזמן הזה ניסיתי לעכב את הטעינה של תמונה בראש הדף במקום לנסות לטעון אותה יותר מהר. 👍

  • @saurabhsethi1055
    @saurabhsethi1055 Год назад

    Amazing, such a great video... Thanks for the insights on this topic

  • @Alexsmith54355
    @Alexsmith54355 Год назад +3

    Thank you for this video its very interesting, but i hava a qestion where I can get perf.js file????

  • @j.y.
    @j.y. Год назад

    Wow. So helpful. Thank you very much!

  • @mingstru
    @mingstru 2 года назад

    Very helpful. Thank you Phillip.

  • @andrewkain7518
    @andrewkain7518 Год назад +3

    For those looking for the perf js file, you'll need to type it out yourself which is shown fully on the screen
    The file is only 36 lines
    I searched on the linked article, the author's github, and the co-author's github and I was unable to find this file

    • @paulydee5650
      @paulydee5650 Год назад +1

      I typed in verbatim the code and it didn't work for me. I'm pretty sure I had everything right; I even put it in chatGPT to make sure I didn't have any typos. Realized that the Web Vitals Extension on Chrome already does this anyway, so no need for the script.

  • @toyflish
    @toyflish Год назад

    working with next and nuxt for years, seeing him copying and pasting the rendered markup into the html page caused a shortcut in my brain :D

  • @romaknafel4116
    @romaknafel4116 2 года назад

    Amazing!!! Its Exactly Just what i looking for to improve Agency websites SEO, thanks A lot! 😬😬😁

  • @АндрейАбраров-у6з
    @АндрейАбраров-у6з 2 года назад

    Optimising LCP! Yes! Finally!

  • @SunilKumar-yu2gg
    @SunilKumar-yu2gg 2 года назад +1

    Sir this amazing but how to do in WordPress without plugin?

  • @Aisaneslamchalandar
    @Aisaneslamchalandar 3 месяца назад

    4:22 yes, exactly.

  • @Apopjak
    @Apopjak Месяц назад

    my LPC was 5000ms and after this tutorial its 10000 :D

  • @AlirezaMirhabibi
    @AlirezaMirhabibi 5 месяцев назад

    Very useful, Thanks.

  • @HubertHeller
    @HubertHeller Год назад +3

    Thank you for your excellent advice! Is LCP computed only for the landing page or for every page a user visits during a session?

  • @BenHewart
    @BenHewart 10 месяцев назад

    How do we fix LCP Preload Largest Contentful Paint image when using native web components I have an example when using the picture tag also using the fetchpriority = hgih which works when its just on the dom, but my question is without using the preload in the how do we fix this issue? as you don't want to preload the image on every page?

  • @nathankrasney
    @nathankrasney 9 месяцев назад

    Excellent !

  • @SaurabhSrivastava-i1q
    @SaurabhSrivastava-i1q Год назад +1

    As amazing this was, the only issue is that nobody codes in plain HTML anymore where we have absolute control to apply optimisation the web standard way. In Next 12, it's annoying to optimise these things when it still fails in mobile after all the best standard framework practices.

    • @shivankbatra5643
      @shivankbatra5643 11 месяцев назад

      yeah the video was amazing but i m facing the same issue. Using next 12, have implemented these things but getting a high LCP on mobile. Did you figure something out?

    • @SaurabhSrivastava-i1q
      @SaurabhSrivastava-i1q 11 месяцев назад

      @@shivankbatra5643 No. Nothing.

  • @nikitaluparev6478
    @nikitaluparev6478 8 месяцев назад

    is it possible to have access to a project you've been working on as a demo? I'd like to follow your steps just to make I can reproduce and see similar results. Thanks

  • @bruceliu2101
    @bruceliu2101 2 года назад

    At 27:43:
    1. Why is london.jpg still loaded?
    2. Why are there only 5 max concurrent requests in flight? I thought Chrome can handle 6 connections to a domain at a time.

  • @MichaelsPaintingChannel
    @MichaelsPaintingChannel 6 месяцев назад +1

    In my eyes everything about LCP is not about the image itself but all the other aspects.. sadly.. And sadly everybody is just talking about the hero image.

  • @DigitalTechTube
    @DigitalTechTube Год назад

    Awesome video, how can we optimize wordpress websites?

  • @Tony.Nguyen137
    @Tony.Nguyen137 4 месяца назад

    why my Timings section doesnt look like his @22:49

  • @shashanktmk5934
    @shashanktmk5934 2 года назад +1

    Could you please share code example?

  • @krizzaa8710
    @krizzaa8710 7 месяцев назад

    Hi is there a video for optimizing website banner images to pass the page insight?

  • @JeffBenusa-x6v
    @JeffBenusa-x6v 9 месяцев назад

    Wonderful illustrations and much appreciated. Are there tools within the Performance test that can help track down the element_render_delay? Looking to pinpoint the javascript files or functions could be causing a long LCP? A stack trace leading to the LCP?

    • @maxzakh
      @maxzakh 2 месяца назад

      Did you find an answer? My other numbers are near zero but all the time saved was relocated to rendering...

  • @GabrielMartinez-gs9bo
    @GabrielMartinez-gs9bo 2 года назад +2

    Is there any reason to believe that using the Link header would offer better performance over using a link tag?

    • @philipwalton3768
      @philipwalton3768 2 года назад +1

      It can, especially if you have a lot of content in the prior to the tag. But on most pages it makes very little difference.

    • @GabrielMartinez-gs9bo
      @GabrielMartinez-gs9bo 2 года назад

      @@philipwalton3768 Thank you very much for your reply!
      I also assume that if we were to use http push for our preloaded link header we could potentially get even better results! I will try to experiment with it, wish me luck!

    • @EricoGuizzo
      @EricoGuizzo 2 года назад

      @@philipwalton3768 At 27:34 how does the browser know to prioritize the london.avif image - without using preload or fetchpriority?

    • @ChromeDevs
      @ChromeDevs  2 года назад +3

      @@EricoGuizzo Because the fetchpriority attribute is applied to the tag within the element, so the URL that gets prioritized is the same one that the browser will ultimately load (after resolving the elements).

    • @EricoGuizzo
      @EricoGuizzo 2 года назад

      @@ChromeDevs I see, very cool. Thanks for the clarification.

  • @baoyuli1495
    @baoyuli1495 2 года назад

    anyone knows when this bug "LCP_SUB_PARTS.forEach(performance.clearMeasures);" can be fixed?

  • @BalloonSchool
    @BalloonSchool 11 месяцев назад

    How can I improve the Load delay?

  • @diegonoxvo
    @diegonoxvo 2 года назад +1

    Where can we get the perf.js code used in the example to measure all the metrics?

    • @philipwalton3768
      @philipwalton3768 2 года назад

      You can find that code in the linked article, Optimize LCP: web.dev/optimize-lcp/

    • @rishabsharma5307
      @rishabsharma5307 2 года назад +1

      @@philipwalton3768 How to add perf.js code in performance tab so that it start showing those bars?

    • @rishabsharma5307
      @rishabsharma5307 2 года назад +1

      @@philipwalton3768 And can you please share the repo link?

  • @Aisaneslamchalandar
    @Aisaneslamchalandar 3 месяца назад

    11:09 🎉

  • @rinatriyanov8015
    @rinatriyanov8015 2 года назад

    Can we have a source code to practice?

  • @slimanslimane-v4e
    @slimanslimane-v4e 8 месяцев назад

    يا صديقي العزيز هل هناك ترجمة لمحتوى الفيديو باللغة العربية

  • @YourProductions1
    @YourProductions1 2 года назад

    I'm unable to replicate the 'document_ttfb", 'resource_load_delay', 'resource_load_time' in the inspector/Performance - where do you see these features? Thanks.

    • @philipwalton3768
      @philipwalton3768 2 года назад +2

      See the Optimize LCP article for the code that outputs those marks: web.dev/optimize-lcp/

  • @latafairam
    @latafairam Месяц назад +1

    Who gave Google the authority for such ridiculous rules standards?

  • @nickwoodward819
    @nickwoodward819 Год назад +1

    youtube's mobile LCP? 6secs :P

  • @voitek777
    @voitek777 2 года назад

    Sorry if this was mentioned in the video (I didn't listen to the whole thing). What type on connection do those times target? Is it 4G, 3G?

    • @philipwalton3768
      @philipwalton3768 2 года назад

      The thresholds for all the Core Web Vitals metrics are based on UX research, so they target all connection types. See: web.dev/defining-core-web-vitals-thresholds/

  • @muhammadsaadmansoor7777
    @muhammadsaadmansoor7777 25 дней назад

    he tilts his head. i think he is an observer!