Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Como otimizar seu site com lighthouse e core we...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Juliana Negreiros
October 02, 2021
Technology
440
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Como otimizar seu site com lighthouse e core web vitals
He4rtConf 2021
Juliana Negreiros
October 02, 2021
More Decks by Juliana Negreiros
See All by Juliana Negreiros
Um guia para começar no mundo Front End
juunegreiros
0
350
Desmistificando a área de TI
juunegreiros
0
92
Introdução ao Git
juunegreiros
0
68
Webpacker e a Jornada do Heroi
juunegreiros
0
37
Como modularizar seu front-end sem depender de um framework
juunegreiros
0
95
Sopa de Letrinhas CSS | Alphabet soup CSS
juunegreiros
1
85
Pensando logicamente: introdução à lógica de programação | Thinking logically: introduction to programming logic
juunegreiros
0
72
Carreiras em TI
juunegreiros
0
64
Javascript, um menino serelepe | Javascript, a serelepe guy
juunegreiros
0
290
Other Decks in Technology
See All in Technology
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
130
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
160
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
170
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
290
KanaAI
shreyas1009
0
140
Claude起点の仕様駆動開発
tanakaseiya
0
290
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
700
AI Native Platform Engineering 〜PlatformとAgileで“作る速さ”を“価値”へ〜
uya116
0
590
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
800
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
140
React Nativeでの OTA Updateって、 どう説明する?
ichiki1023
0
130
Incremental HTTP
kazuho
5
1.9k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
6.3k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
550
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
500
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
How to Talk to Developers About Accessibility
jct
2
560
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Scaling GitHub
holman
464
140k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
930
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
390
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!