๐ ์ฌ์ ์ง์
๐ฌ Pre-rendering
- ๋ง๊ทธ๋๋ก ํ์ด์ง๋ฅผ ๋ฏธ๋ฆฌ ๋ ๋๋งํ๋ ๊ฒ
- ๋ฆฌ์กํธ๋ฅผ ์์๋ก ๋ค์ด๋ณด๋ฉด ์ฌ์ฉ์๊ฐ ์ฒ์ ํ์ด์ง์ ์ ์ํ๋ฉด ํ๋ฉด์ ๊ทธ๋ฆด๋๊น์ง
๋ก๋ฉ ์๊ฐ์ด ์กฐ๊ธ ๊น
- ๋ก๋ฉ ์๋ ๊ฐ์ ๊ณผ ๊ทธ๋ก ์ธํ UX ๊ฐ์ ์ ์ํด ๋ฏธ๋ฆฌ ๋ ๋๋งํ๋ ๊ฒ
๐ฌ TTV & TTI
- TTV(Time To View) : ํ๋ฉด์ด ๊ทธ๋ ค์ง๊ณ ์ ์ ๊ฐ ์ฌ์ดํธ๋ฅผ ํ์ธํ ์ ์๋ ์ํ๊ฐ ๋๋ ์๊ฐ
- TTI(Time To Interact) : ํด๋ฆญ์ ๋น๋กฏํ ๊ฐ์ข
์ธํฐ๋ ์
์ด ๊ฐ๋ฅํด์ง๋ ์๊ฐ
- TTV๋ณด๋ค TTI๊ฐ ๋ฆ๋ค๋ฉด ํ๋ฉด์ด ๊ทธ๋ ค์ก์ด๋ ์ ์ ๋ ํ์ด์ง ๋ด์์ ์๋ฌด๋ฐ ํ๋์ ํ ์๊ฐ ์์
๐ฌ SEO
- ๊ฒ์ ์์ง์ ํฌ๋กค๋ฌ๋ผ๋ ์๋ํ๋ ๋ก๋ด์ผ๋ก ์น์ฌ์ดํธ๋ฅผ ์ฝ์ผ๋ฉด์ ๋์๋ค๋
- ํฌ๋กค๋ฌ์๋ JS๋ฅผ ํด์ํ ์ ์๋ ์์ง์ด ์์ด์ ์น์ฌ์ดํธ ์ฝ์ ๋
JS๋ฅผ ํด์ ๋ฐ ์คํ์ ํ ์ ์์ (์์ธ์ ์ผ๋ก ๊ตฌ๊ธ์ ํฌ๋กค๋ฌ์ JS์์ง ์์)
- Search Engine Optimization : ๊ฒ์ ์์ง ์ต์ ํ
- ํํ์ด์ง ์ ์ ์ ๊ฒ์ ์์ง์ ๋ ์ ๋
ธ์ถ๋์ด ๋ ๋ง์ ์ ์ ๋ค์ด ์ ์
์ด
๋ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์๋น์ค ์ฑ์ฅ์ ์ข์ ์ํฅ์ ๋ฏธ์น๊ธฐ์ SEO ๋์์ด ์ค์ํจ
๐ ๋ ๋๋ง ๋ฐฉ์์ ์ข
๋ฅ
๐ฌ CSR (Client Side Rendering)
์ ์ ์ ํฐํคํ์นด๊ฐ ์ฆ์ ๊ฒฝ์ฐ ์ ํฉ
๐ ์๋ ๋ฐฉ์
- ์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ์ ์์ฒญ(์ ์, ์ฃผ์์ฐฝ ์
๋ ฅ)ํ๋ฉด HTMLํ์ผ๊ณผ JSํ์ผ๋ก ์ ๊ทผํ ์ ์๋
๋งํฌ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋
- ํด๋ผ์ด์ธํธ๋ HTML / CSS๊ณผ JSํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ (ํ๋ฉด์ ์๋ฌด๊ฒ๋ ์์)
- ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๋ฉด JS ์คํ๋์ด ๋ฐ์ดํฐ๋ค์ ํธ์ถ
(์ด๋๋ ์์ง ๋ฐ์ดํฐ๊ฐ ์์ด placeholder๋ฅผ ๋ณด๊ณ ์์)
- ๋ฐ์ดํฐ๊ฐ ํธ์ถ์ด ์๋ฃ๋๋ฉด placeholder ์๋ฆฌ์ ๋ฐ๊ฟ์น๊ธฐ
๐ ์ฅ๋จ์
- ์ด๊ธฐ ๋ก๋ฉ ์๋๋ ๋๋ฆฌ์ง๋ง ๋ ๋๋ง์ด ์๋ฃ๋ ํ์๋ ๋ถ๋๋ฌ์ด UX๋ฅผ ์ ๊ณตํจ (TTV ๋๋ฆผ)
1. URL์ด ๋ฐ๋๋๋ผ๋ ๊ธฐ์กด์ ๋ฐ์์จ ํ์ผ์์ ํด๋ผ์ด์ธํธ๊ฐ ์ฒ๋ฆฌํด ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ
- ๋ํ ๋ ๋๋ง์ด ์๋ฃ๊ฐ ๋์๋ค๋ฉด ๋ฐ๋ก ์ฌ์ฉ์๊ฐ ์ธํฐ๋ ์
์ด ๊ฐ๋ฅํจ (TTI ๋น ๋ฆ)
- ํ์ง๋ง ๋ฒ๋ค ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ฉด ์ปค์ง์๋ก ๋ก๋ฉ ์๋๊ฐ ๊ทธ๋งํผ ๋ ๋๋ ค์ง
- ๋ํ ์ฌ์ฉ์์ ์์ฒญ์ด ๋ค์ด์จ ๋ค์ ํด๋ผ์ด์ธํธ์์ HTML ์ปจํ
์ธ ์ ์์ฑํ๊ธฐ ๋๋ฌธ์ SEO ๋์์ด ์ด๋ ค์
๐ ์ฒดํฌ๋ฆฌ์คํธ
- ๊ฒ์ ์์ง์ ๋
ธ์ถ๋์ง ์์๋๋๋(์์์ผํ๋) ํ์ด์ง์ธ๊ฐ?
- ์ ์ ์์ ์ธํฐ๋ ์
์ด ์ฆ์๊ฐ?
- ํ๋ฉด์ ์
๋ฐ์ดํธ ๋ฐ ๋ ๋๋ง์ด ์ฆ์๊ฐ?
- ์ด๊ธฐ ๋ก๋ฉ ์๋๊ฐ ์กฐ๊ธ ๋๋ฆฌ๋๋ผ๋ ๋ถ๋๋ฌ์ด UX๊ฐ ์ค์ํ๊ฐ?
- ๋คํธ์ํฌ๊ฐ ๋น ๋ฅธ๊ฐ? (๋๋ฆฌ๋ค๋ฉด ๋ก๋ฉ์๋๊ฐ ๋์ฑ ๋๋ ค์ง)
- ๋ฉ์ธ ์คํฌ๋ฆฝํธ๊ฐ ์์ ํธ์ธ๊ฐ?
๐ฌ SSR (Server Side Rendering)
๋น๊ต์ ์ธํฐ๋ ์
์ด ์ ๊ณ ๋ฐ์ดํฐ๊ฐ ์์ฒญ๋ง๋ค ํ ๋ฒ๋ง ์ฒ๋ฆฌ๋์ด๋ ์ถฉ๋ถํ ๊ฒฝ์ฐ์ ์ ํฉ
๐ ์๋ ๋ฐฉ์
- ์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ์ ์์ฒญ(์ ์, ์ฃผ์์ฐฝ ์
๋ ฅ)ํ๋ฉด ์ฆ์ ๋ ๋๋ง์ด ๊ฐ๋ฅํ HTML ์ปจํ
์ธ ๋ฅผ
๋ง๋ค์ด ์ฌ์ฉ์์๊ฒ ์ ๋ฌ
- HTML ์ปจํ
์ธ ๋ ์ด๋ฏธ ๋ ๋๋ง ์ค๋น๊ฐ ๋์ด์๊ธฐ ๋๋ฌธ์ ํ๋ฉด์ ๋ณผ ์ ์์(์ด๋ฒคํธ ๋ฑ์ ์กฐ์์ ๋ถ๊ฐ๋ฅ)
๊ทธ๋์ ํด๋ผ์ด์ธํธ์์ JSํ์ผ ๋ค์ด๋ก๋
- JS๊ฐ ๋ค์ด๋ก๋ ๋๋ ๋์ ์งํ๋ ์ฌ์ฉ์์ ์กฐ์(์คํ๋์ง ์์ ์กฐ์)์ JS๊ฐ ์ปดํ์ผ์ด ๋์์ ๋ ์คํ
๐ ์ฅ๋จ์
- ์๋ฒ์ธก์์ HTML ์ปจํ
์ธ ์ ๋ง๋ค์ด์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ TTV๊ฐ ๋น ๋ฆ
- JSํ์ผ์ ํ๋ฉด์ ๋ณด์ฌ์ค ํ์ ๋ฐ๊ธฐ๋๋ฌธ์ ์ธํฐ๋ ์
์ ๋ถ๊ฐํ์ฌ TTI๋ ๋๋ฆผ
- ๋ํ URL์ด ๋ฐ๋๋ฉด ์๋ฒ๋ก๋ถํฐ ๋ฌธ์๋ฅผ ๋ค์ ๋ฐ์์ค๊ธฐ ๋๋ฌธ์ ์๋ฒ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ธฐ ์ฌ์
- ํ์ง๋ง HTML ์ปจํ
์ธ ๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ SEO ๋์์ด ๊ฐ๋ฅํจ
๐ ์ฒดํฌ๋ฆฌ์คํธ
- ๊ฒ์ ์์ง์ ๋
ธ์ถ์ด ํ์ํ ํ์ด์ง์ธ๊ฐ?
- ์ ์ ์์ ์ธํฐ๋ ์
์ด ์ ์๊ฐ?
- ์ด๊ธฐ ๋ก๋ฉ ์๋๊ฐ ์ค์ํ๊ฐ?
- ๋ ๋๋ง ํ ์ฌ์ฉ์์์ ์ฆ๊ฐ์ ์ธ ์ธํฐ๋ ์
์ด ์ค์ํ๊ฐ?
- ๋คํธ์ํฌ๊ฐ ๋๋ฆฐ๊ฐ?
- ๋ฉ์ธ ์คํฌ๋ฆฝํธ๊ฐ ํฐ ํธ์ธ๊ฐ?
๐ฌ SSG (Static Site Generation)
์
๋ฐ์ดํธ๊ฐ ์ ๊ฑฐ๋ ๊ณ ์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ํ์ด์ง์ ์ ํฉ
๐ ์๋ ๋ฐฉ์
- build ์ ๊ณ ์ ๋ ๋ฐ์ดํฐ๋ค์ ๋ชจ๋ ๋ด์ ์ ์ html ํ์ผ์ ์์ฑํ์ฌ ์ฌํ์ฉ
- pre-render์ ํ์ํ ํ์ด์ง์ ๊ฐ์๋งํผ ์ ์ ํ์ผ์ด ์์ฑ
1. ์์๋ก ๊ฒ์๊ธ์ด 10๊ฐ ์๊ณ ๊ฐ๊ฐ์ ์์ธํ์ด์ง๊ฐ ์์
- ๊ทธ๋ ๋ค๋ฉด build ์ 10๊ฐ์ HTML ํ์ผ์ด ์์ฑ๋จ
- ๋๋ฌธ์ ๋๋ฌด ๋ง์ ์์ ํ์ด์ง๊ฐ ์์ฑ๋์ด์ผํ๋ฉด ์ ํฉํ์ง ์์
๐ ์ฅ๋จ์
- React framework์ธ Next.js์ ๊ณต์๋ฌธ์์์๋ SSG ๋ฐฉ์์ ๊ถ์ฅ
- CSR & SSR๊ณผ ๋น๊ตํ์ ๋ ๋ ๋ฉ ์๋๋ ๋น ๋ฆ
- ์
๋ฐ์ดํธ๊ฐ ์ฆ์ง ์์ ํ์ด์ง์ ๋ํด์ ๋ถํ์ํ ํต์ ๊ณผ ๋ฆฌ๋ ๋๋ง์ ์ค์ฌ์ค
๐ ์ฒดํฌ๋ฆฌ์คํธ
- ์
๋ฐ์ดํธ๊ฐ ์๊ฑฐ๋ ํ์ ํ ์ ์๊ฐ?
- ์์ฑ๋๋ ์ ์ ํ์ผ์ ๊ฐ์๊ฐ ๋๋ฌด ๋ง์ง๋ ์์๊ฐ?
๐ฌ ISR (Incremental Static Regeneration)
SSG์ ๋จ์ ์ ๋ณด์ํ ๋ฐฉ์์ผ๋ก, revalidate๊ฐ ํ์ํ SSG ํ์ด์ง์ ์ ํฉ
๐ ์๋ ๋ฐฉ์
- ISR๋ SSG์ฒ๋ผ build ์ ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ด์ง๋ฅผ ์์ฑํ๊ณ ๋ณด์ฌ์ค
- ํ์ง๋ง ์ง์ build๋ฅผ ํ์ง ์์ผ๋ฉด ๋ณํจ์ด ์๋ SSG์๋ ๋ฌ๋ฆฌ,
ISR์ ์ค์ ๋ ์๊ฐ์ด ์ง๋๋ฉด ์๋์ผ๋ก re-buildํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์
๋ฐ์ดํธ(revalidate)ํจ
1. ํ์ด์ง ๋ฐฉ๋ฌธ์๊ฐ ์์ผ๋ฉด ์
๋ฐ์ดํธ๋ ์งํํ์ง ์์ง๋ง, ๋๊ตฌ๋ ๋ฐฉ๋ฌธํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์
๋ฐ์ดํธ
๐ ์ฅ๋จ์
- React framework์ธ Next.js์ ๊ณต์๋ฌธ์์์๋ SSG ๋ฐฉ์์ ๊ถ์ฅ
- CSR & SSR๊ณผ ๋น๊ตํ์ ๋ ๋ ๋ฉ ์๋๋ ๋น ๋ฆ
- ์
๋ฐ์ดํธ๊ฐ ์ฆ์ง ์์ ํ์ด์ง์ ๋ํด์ ๋ถํ์ํ ํต์ ๊ณผ ๋ฆฌ๋ ๋๋ง์ ์ค์ฌ์ค
๐ ์ฒดํฌ๋ฆฌ์คํธ
- ํ์ด์ง์ ๋ฐฉ๋ฌธ์์ ์์์ ๋ง์ถ์ด ์
๋ฐ์ดํธ๊ฐ ํ์ํ๊ฐ?
- revalidate์์ ์
๋ฐ์ดํธ ๋๋ ๋ฐ์ดํฐ์ ์์ด ๋๋ฌด ๋ง์ง๋ ์์๊ฐ?
๐ก ๋ต๋ณ
์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง์ด๋?
์๋ฒ์ธก์์ ์ฆ์ ๋ ๋๋ง์ด ๊ฐ๋ฅํ HTML ์ปจํ
์ธ ๋ฅผ ๋ง๋ค์ด ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๋ ๋ฐฉ์์
๋๋ค.
JSํ์ผ์ ํ์ ๋ค์ด๋ก๋ ๋ฐ๊ธฐ์ ์ธํฐ๋ ์
์ด ๊ฐ๋ฅํ TTI๋ ๋ฆ์ง๋ง TTV๋ ๋น ๋ฆ
๋๋ค.
๋ํ ์ฆ์ ๋ ๋๋ง์ด ๊ฐ๋ฅํ HTML ์ปจํ
์ธ ๊ฐ ์์ด SEO ๋์์ด ๊ฐ๋ฅํฉ๋๋ค.
ํ์ง๋ง URL์ด ๋ฐ๋๋ฉด ์๋ฒ๋ก๋ถํฐ ๋ฌธ์๋ฅผ ๋ค์ ๋ฐ์์ค๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ธฐ ์ฝ์ต๋๋ค.
SEO๋?
๊ฒ์ ์์ง ์ต์ ํ๋ฅผ ๋งํ๋ ๊ฒ์ด๋ฉฐ
๊ฒ์ ์์ง์ ๋
ธ์ถ์ด ์๋๊ฒํ์ฌ ์ฌ์ฉ์์ ์ ์
์ด ๋๋ ค ์๋น์ค์ ์ฑ์ฅ์ ๋์์ด ๋๊ฒ๋
ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๊ฒ์ ์์ง์ ํฌ๋กค๋ฌ๋ผ๋ ์๋ํ๋ ๋จธ์ ์ด ์น์ฌ์ดํธ๋ฅผ ์ฝ์ผ๋ฉฐ ๋์๋ค๋๋๋ฐ JS๋ฅผ ํด์ํ๋
ํ๋ ์์ง์ด ์์ด CSR๊ฐ์ ๊ฒฝ์ฐ์๋ SEO ๋์์ด ์กฐ๊ธ ์ด๋ ต์ต๋๋ค.