A deep dive into optimizing LCP

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ก.ย. 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

ความคิดเห็น • 67

  • @PaulVoorberg
    @PaulVoorberg 8 หลายเดือนก่อน +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!

  • @latafairam
    @latafairam หลายเดือนก่อน +1

    Who gave Google the authority for such ridiculous rules standards?

  • @SunilKumar-yu2gg
    @SunilKumar-yu2gg 2 ปีที่แล้ว +1

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

  • @Tony.Nguyen137
    @Tony.Nguyen137 4 หลายเดือนก่อน

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

  • @nikitaluparev6478
    @nikitaluparev6478 7 หลายเดือนก่อน

    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

  • @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.

  • @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/

  • @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

  • @Alexsmith54355
    @Alexsmith54355 ปีที่แล้ว +3

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

  • @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.

  • @mikegeyser467
    @mikegeyser467 2 ปีที่แล้ว +5

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

  • @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?

  • @nickwoodward819
    @nickwoodward819 ปีที่แล้ว +1

    youtube's mobile LCP? 6secs :P

  • @SherylThompson-m8f
    @SherylThompson-m8f 15 วันที่ผ่านมา

    Clark Betty Allen Karen Jackson Elizabeth

  • @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.

  • @Apopjak
    @Apopjak 28 วันที่ผ่านมา

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

  • @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: th-cam.com/video/cmtfM4emG5k/w-d-xo.html

  • @groquikman
    @groquikman 2 ปีที่แล้ว +6

    Really clear, well done Philip!

  • @muhammadsaadmansoor7777
    @muhammadsaadmansoor7777 20 วันที่ผ่านมา

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

  • @YouCodeThings
    @YouCodeThings 2 ปีที่แล้ว +9

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

  • @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?

  • @slimanslimane-v4e
    @slimanslimane-v4e 8 หลายเดือนก่อน

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

  • @Aisaneslamchalandar
    @Aisaneslamchalandar 2 หลายเดือนก่อน

    11:09 🎉

  • @nexTabDE
    @nexTabDE 8 หลายเดือนก่อน

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

  • @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.

  • @isagive
    @isagive 9 หลายเดือนก่อน

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

  • @baoyuli1495
    @baoyuli1495 2 ปีที่แล้ว

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

  • @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

  • @shashanktmk5934
    @shashanktmk5934 2 ปีที่แล้ว +1

    Could you please share code example?

  • @aliesmaeili7433
    @aliesmaeili7433 6 หลายเดือนก่อน

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

  • @krizzaa8710
    @krizzaa8710 7 หลายเดือนก่อน

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

  • @romaknafel4116
    @romaknafel4116 2 ปีที่แล้ว

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

  • @saurabhsethi1055
    @saurabhsethi1055 ปีที่แล้ว

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

  • @DigitalTechTube
    @DigitalTechTube ปีที่แล้ว

    Awesome video, how can we optimize wordpress websites?

  • @BalloonSchool
    @BalloonSchool 11 หลายเดือนก่อน

    How can I improve the Load delay?

  • @j.y.
    @j.y. ปีที่แล้ว

    Wow. So helpful. Thank you very much!

  • @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?

  • @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...

  • @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.

  • @Aisaneslamchalandar
    @Aisaneslamchalandar 2 หลายเดือนก่อน

    4:22 yes, exactly.

  • @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.

  • @АндрейАбраров-у6з
    @АндрейАбраров-у6з 2 ปีที่แล้ว

    Optimising LCP! Yes! Finally!

  • @nathankrasney
    @nathankrasney 9 หลายเดือนก่อน

    Excellent !

  • @rinatriyanov8015
    @rinatriyanov8015 2 ปีที่แล้ว

    Can we have a source code to practice?

  • @mingstru
    @mingstru 2 ปีที่แล้ว

    Very helpful. Thank you Phillip.

  • @AlirezaMirhabibi
    @AlirezaMirhabibi 5 หลายเดือนก่อน

    Very useful, Thanks.

  • @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/