Problém: Skokový propad v Core Web Vitals
Před přechodem z FID na INP byly téměř všechny stránky Fotocasa v kategorii "Dobré". Po přechodu na INP v březnu 2024 se však téměř všechny stránky propadly do kategorie "Vyžaduje zlepšení" nebo dokonce "Špatné", protože hodnoty INP konzistentně přesahovaly 200 milisekund.
Proč INP odhalilo skryté problémy
Zatímco FID měřil pouze zpoždění úplně první interakce, INP hodnotí responzivitu všech interakcí a zahrnuje:
Toto širší měření odhalilo problémy, které FID nikdy nezachytil.
Diagnostické nástroje
1. Google Chrome DevTools
Záložka Performance byla použita pro:
2. Vlastní RUM systém v Datadog
S využitím knihovny web-vitals vytvořil tým Fotocasa systém pro real-time monitoring:
3. React Developer Tools
Profiler byl použit pro:
Řešení: Cílené optimalizace v Reactu
Odstranění zbytečných překreslení (rerenders)
Tým Fotocasa identifikoval dva hlavní scénáře způsobující zbytečné překreslení:
Kolokace stavu (State Colocation)
Přesunutí stavu blíže k místu, kde je skutečně používán, snížilo rozsah překreslení. Místo ukládání stavu filtrů na nejvyšší úrovni byl přesunut do komponenty, která ho skutečně používá.
Odložení nekritických úkolů
Pro plynulé UI interakce byly nekritické aktualizace stavu odloženy pomocí:
startTransition pro aktualizace s nižší prioritouVýsledky
| Metrika | Před | Po | Zlepšení |
|---------|------|-----|----------|
| INP (4x CPU) | 440 ms (Vyžaduje zlepšení) | 64 ms (Dobré) | 85% rychlejší |
| INP (6x CPU) | 633 ms (Špatné) | 222 ms (Dobré) | 65% rychlejší |
| Kontakty/Leady | Základ | +27% | 27% růst |
| Desktop URL | "Vyžaduje zlepšení" | 100% "Dobré" | 100% úspěšnost |
| Mobil URL | "Špatné"/"Vyžaduje zlepšení" | "Dobré" | Výrazné zlepšení |
Klíčové poznatky
---
> Zdroj a atribuce: Tento obsah vychází z případové studie "How improving Fotocasa's INP contributed to 27% growth in key metrics" publikované na web.dev pod licencí Creative Commons Attribution 4.0. Původní autoři: Andrés Alvarez, Oriol Hilari, Nacho Rodriguez, Joan León.