Address the Layout Shift Issues ν΄κ²°, νμ΄μ§ μ±λ₯κ³Ό SEO κ°μ
λ μ΄μμ μννΈ λ¬Έμ ν΄κ²°νκΈ°: μ¬μ©μ κ²½νκ³Ό SEO κ°μ
λ μ΄μμ μννΈλ μ¬μ©μ κ²½νκ³Ό SEO μ±λ₯μ ν° μν₯μ λ―ΈμΉ©λλ€. μ΄λ¬ν λ¬Έμ κ° λ°μνλ μμΈκ³Ό ν¨κ³Όμ μΈ ν΄κ²° λ°©λ²μ μ΄ν΄λ³΄κ² μ΅λλ€.
λ μ΄μμ μννΈ μ΄ν΄νκΈ°
λ μ΄μμ μννΈλ νμ΄μ§ λ‘λ© κ³Όμ μμ μμλ€μ΄ μκΈ°μΉ μκ² μ΄λνλ νμμ λλ€. λμ λ μ΄μμ μννΈ(CLS) μ§νλ μ΄λ¬ν μκ°μ λΆμμ μ±μ μΈ‘μ νλ©°, Googleμ μ΅μ μ μ¬μ©μ κ²½νμ μν΄ 0.1 λ―Έλ§μ μ μλ₯Ό κΆμ₯ν©λλ€.
λ μ΄μμ μννΈκ° λ°μνλ μΌλ°μ μΈ μν©:
- ν¬κΈ°κ° μ μλμ§ μμ μ΄λ―Έμ§ λ‘λ©
- λ¦κ² λ‘λλλ μΉ ν°νΈλ‘ μΈν ν μ€νΈ μ¬λ°°μΉ
- λμ μ½ν μΈ μ½μ (κ΄κ³ , νμ λ±)
- μλνν° λ¦¬μμ€κ° νμ΄μ§ λ μ΄μμμ μν₯μ λ―ΈμΉλ κ²½μ°
μ£Όμ ν΄κ²° λ°©λ²
1. μ΄λ―Έμ§ μ΅μ ν
<img src="hero.jpg" alt="νμ΄λ‘ μ΄λ―Έμ§">
<!-- μ¬λ°λ₯Έ μμ -->
<img src="hero.jpg" width="800" height="400" alt="νμ΄λ‘ μ΄λ―Έμ§">
μ΄λ―Έμ§κ° λ‘λλκΈ° μ μ 곡κ°μ ν보νκΈ° μν΄ νμ μ΄λ―Έμ§ ν¬κΈ°λ₯Ό μ§μ νμΈμ. μ΅μ λΈλΌμ°μ λ μ’ ν‘λΉλ₯Ό μ‘΄μ€νλ―λ‘, CSSλ₯Ό μ¬μ©νμ¬ κ³΅κ°μ μ μ§νλ©΄μ μ΄λ―Έμ§λ₯Ό λ°μνμΌλ‘ λ§λ€ μ μμ΅λλ€:
2. ν°νΈ λ‘λ© μ λ΅
ν°νΈ λ‘λ© μ΅μ ν λ°©λ²:
- λΆλλ¬μ΄ ν μ€νΈ λ λλ§μ μν΄ font-display: swap μ¬μ©
- μ€μ ν°νΈ 미리 λ‘λ
- μ΄κΈ° λ λλ§μ μμ€ν ν°νΈ μ¬μ© κ³ λ €
- μλΉμ€ μ컀λ₯Ό μ¬μ©ν ν¨κ³Όμ μΈ ν°νΈ μΊμ±
3. μ½ν μΈ κ³΅κ° κ΄λ¦¬
min-height: 250px;
width: 100%;
}
λμ μ½ν μΈ λ₯Ό μν ν:
- μ΅μ ν¬κΈ°λ‘ κ³΅κ° ν보
- μ€μΌλ ν€ λ‘λ© μν ꡬν
- λ μ΄μμ λ³κ²½μ λ°μμν€λ μμ± λμ CSS λ³ν μ¬μ©
4. placeholder(νλ μ΄μ€νλ) ꡬν
if (loading) {
return (
<div className="article-skeleton">
<div className="title-placeholder"></div>
<div className="content-placeholder"></div>
</div>
);
}
return <Article />;
}
μ±λ₯ μΈ‘μ
CLS μ μ λͺ¨λν°λ§ λꡬ:
- Chrome DevTools μ±λ₯ ν¨λ
- Lighthouse κ°μ¬
- Chrome μ¬μ©μ κ²½ν λ³΄κ³ μμ μ€μ λ°μ΄ν°
- Web Vitals JavaScript λΌμ΄λΈλ¬λ¦¬
μμ
- μμΈ‘ λ‘λ©
document.head.innerHTML += `
<link rel="preload" href="critical-image.jpg" as="image">
<link rel="preload" href="main-font.woff2" as="font" type="font/woff2" crossorigin>
`;
- μ½ν μΈ μ°μ μμν
<style>
/* μ€μ CSS μΈλΌμΈ */
.hero { min-height: 500px; }
</style>
- λ°μν κ³΅κ° κ΄λ¦¬
contain: layout size;
content-visibility: auto;
}
SEOμ λ―ΈμΉλ μν₯
λ μ΄μμ μμ μ± κ°μ μ λ€μκ³Ό κ°μ μ΄μ μ μ 곡ν©λλ€:
- Core Web Vitals μ μ ν₯μ
- νμ΄μ§ λνΉ μμΉ
- μ¬μ©μ μ°Έμ¬λ μ¦κ°
- μ΄νλ₯ κ°μ
- μ νμ¨ κ°μ
λ μ΄μμ μννΈλ λ¨μν μ§νκ° μλ μ¬μ©μκ° μ½ν μΈ μ μνΈμμ©νλ λ°©μμ μ§μ μ μΈ μν₯μ λ―ΈμΉ©λλ€. μμ μ μΈ λ μ΄μμμ μ λ’°λ₯Ό ꡬμΆνκ³ μ¬μ©μκ° μ½ν μΈ μ λΆνΈν¨ μμ΄ μ°Έμ¬ν μ μλλ‘ λ³΄μ₯ν©λλ€.
μ΄λ¬ν μ루μ μ ꡬνν νμλ CLS μ μλ₯Ό μ§μμ μΌλ‘ λͺ¨λν°λ§νμΈμ. μλ‘μ΄ μ½ν μΈ λ κΈ°λ₯μ΄ μκΈ°μΉ μμ μννΈλ₯Ό λ°μμν¬ μ μμ΅λλ€. λ€μν λλ°μ΄μ€μ μ°κ²° μλμμμ μ κΈ°μ μΈ κ°μ¬μ ν μ€νΈλ μ΅μ μ μ±λ₯μ μ μ§νλ λ° λμμ΄ λ©λλ€.
λ μ΄μμ μννΈλ₯Ό 체κ³μ μΌλ‘ ν΄κ²°ν¨μΌλ‘μ¨ κΈ°μ μ μ§νλ₯Ό κ°μ ν λΏλ§ μλλΌ, λ μ λ¬Έμ μ΄κ³ μ λ’°ν μ μμΌλ©° μ¬μ©μ μΉνμ μΈ μΉ κ²½νμ λ§λ€ μ μμ΅λλ€.
μ΄λ¬ν κ΄νμ μΌνμ± μμ μ΄ μλ μ κΈ°μ μΈ κ°λ° μν¬νλ‘μ°μ μΌλΆκ° λμ΄μΌ ν©λλ€. μΉ κΈ°μ μ΄ λ°μ ν¨μ λ°λΌ λ μ΄μμ μμ μ±μ λν λͺ¨λ² μ¬λ‘λ₯Ό μ§μμ μΌλ‘ μ λ°μ΄νΈνλ κ²μ΄ κ³ νμ§ μΉ μ ν리μΌμ΄μ μ μ μ§νλ λ° μ€μν©λλ€.