Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Como otimizar seu site com lighthouse e core we...
Search
Juliana Negreiros
October 02, 2021
Technology
0
430
Como otimizar seu site com lighthouse e core web vitals
He4rtConf 2021
Juliana Negreiros
October 02, 2021
Tweet
Share
More Decks by Juliana Negreiros
See All by Juliana Negreiros
Um guia para começar no mundo Front End
juunegreiros
0
340
Desmistificando a área de TI
juunegreiros
0
70
Introdução ao Git
juunegreiros
0
54
Webpacker e a Jornada do Heroi
juunegreiros
0
23
Como modularizar seu front-end sem depender de um framework
juunegreiros
0
87
Sopa de Letrinhas CSS | Alphabet soup CSS
juunegreiros
1
77
Pensando logicamente: introdução à lógica de programação | Thinking logically: introduction to programming logic
juunegreiros
0
61
Carreiras em TI
juunegreiros
0
54
Javascript, um menino serelepe | Javascript, a serelepe guy
juunegreiros
0
240
Other Decks in Technology
See All in Technology
三菱電機・ソニーグループ共同の「Agile Japan企業内サテライト」_2025
sony
0
140
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
2
230
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
360
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
460
Uncle Bobの「プロフェッショナリズムへの期待」から学ぶプロの覚悟
nakasho
2
110
20251007: What happens when multi-agent systems become larger? (CyberAgent, Inc)
ornew
1
200
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
280
衛星画像超解像化によって実現する2D, 3D空間情報の即時生成と“AI as a Service”/ Real-time generation spatial data enabled_by satellite image super-resolution
lehupa
0
140
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
250
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
200
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
710
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Writing Fast Ruby
sferik
629
62k
How to train your dragon (web standard)
notwaldorf
96
6.3k
The Cult of Friendly URLs
andyhume
79
6.6k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.9k
We Have a Design System, Now What?
morganepeng
53
7.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Transcript
Como otimizar seu site com Lighthouse e core web vitals
@juunegreiros FE na Consumer Affairs Instrutora na Alura Rails Girls
Sorocaba e SorocabaJS 2
1. Propósito
2. Web vitals
Web Vitals ➜ Iniciativa do Google ➜ Propósito de simplificação
5
2. Core Web Vitals
Métricas - problemas ➜ Seja mais rápido pra um usuário
do que pra outro ➜ Carregamento rápido, mas demore pra conseguir usar ➜ Rápido, mas as coisas mudam depois 7
Métricas - como medir? ➜ Laboratório ➜ Campo 8
Como medir? - laboratório ➜ Lighthouse ➜ WebPageTest 9
Como medir? - campo ➜ Page Speed Insights ➜ Relatório
de principais métricas ➜ Relatório de Experiência do Usuário 10
LCP Largest Contentful Paint 11 (Carregamento)
Em quanto tempo, após o início da página, o maior
elemento da página é carregado? LCP 12 GOOD NEEDS IMPROVEMENT POOR 2.5 sec 4.0 sec
LCP - Elementos ➜ <img> ➜ <image> dentro de <svg>
➜ <video> ➜ Imagem de fundo carregada com url() ➜ Elemento de bloco 13
E como saber qual é o maior? 14 ➜ Não
é o tamanho em bytes ➜ Ignora coisas que não estão sendo efetivamente mostradas e espaçamentos ➜ Se redimensionado, considera o menor valor ➜ Se um elemento maior carregar depois, troca o maior elemento ➜ Interação do usuário interrompe essa troca
15
Causas mais comuns ➜ Tempo de resposta do servidor ➜
JS e CSS que bloqueiam a renderização ➜ Tempos lentos de carregamentos de recurso ➜ Renderização do lado do cliente 16
Tempo de resposta do servidor 17 ➜ Otimizar o seu
servidor ➜ Usar CDN ➜ Caches ➜ Antecipar a conexão de terceiros <link rel="preconnect" href="" />
CSS e JS 18 ➜ Minificar arquivo ➜ Embutir o
que for crítico ➜ Adiar o que não for crítico - JS: async/defer - CSS: preload/onload ➜ Verifica se ta carregando na hora certa
19
20
21
22 Source > Coverage
23 Source > Coverage
FID First Input Delay 24 (Interatividade)
Depois que o usuário interagir pela primeira vez com algo,
qual o tempo da reação do site? FID 25 GOOD NEEDS IMPROVEMENT POOR 100ms 300ms
FID - o que considera? ➜ Tempo de atraso e
não tempo de processamento ➜ Mesmo se não tiver listener do evento ➜ Só a primeira entrada ➜ Usuários tem pesos diferentes 26
Dicas ➜ Reduzir código de terceiros ➜ Reduzir tempo de
execução do JS ➜ Minimizar trabalho na thread principal ➜ Diminuir o tamanho de transferência ➜ Tudo que falei no anterior 27
CLS Content Layout Shifting 28 (Estabilidade Visual)
Qual a maior quantidade de cadeia de mudanças inesperadas de
conteúdo que a página teve? CLS 29 GOOD NEEDS IMPROVEMENT POOR 0.1 0.25
30
CLS - o que considera? ➜ Apenas as inesperadas ➜
Não considera transform ➜ Fração de impacto * fração de distância 31
32 Fração de impacto 75% 0.75
33 Fração de distância 25% 0.25
Causas mais comuns 34 ➜ Alguma coisa mudou de posição
➜ Alguma coisa mudou de tamanho ➜ Alguma coisa entrou no DOM depois ➜ Animações mudaram algum layout
Imagens 35 ➜ Usar width/height ➜ Aspect-ratio ou content-fit ➜
Elemento pai com aspect-ratio definido ➜ Srcset para imagens dinâmicas <img srcset="a-1000.jpg 1000w, a-2000.jpg 2000w, a-3000.jpg 3000w"/>
Fontes 36 ➜ FOIT X FOUT ➜ Reduzir tamanho do
web-font ➜ Verificar quando sua fonte foi carregada ➜ Font-display: optional
Outras dicas 37 ➜ Não colocar conteúdo dinâmico acima de
conteúdo que já existe ➜ Reservar o local do anúncio antes da lib ➜ Se possível, dê preferência pro transform
38
39
40 É isso, obrigada!