Nextjs-Optimizing(3) - Production Checklist(๋ฒ์ญ)
๐์์ํ๋ฉฐ
Next.js ๊ณต์๋ฌธ์๋ฅผ ์ฝ์ ๋๋ง๋ค ๋๋ผ๋ ๊ฑฐ์ง๋ง ์ ๋ง ์ฌ๋์ ์๋๋งํผ ๋ณด์ด๊ณ , ์๋๋งํผ ์ฐ๋ ๊ฒ ๊ฐ๋ค.. ๐ ํนํ ์ด๋ ๊ฒ ์ต๋ํ ์ ์๋ ์ ๋ณด๊ฐ ๋ง์ ๋๋ ๋ด๊ฐ ์ฒํด์๋ ์ํฉ์ ์ด๋ค ์ ๋ณด๊ฐ ๊ฐ์ฅ ํ์ํ์ง ๊ตฌ๋ณํด๋ด๋ ๊ฒ์ด ์ ๋ง ์ด๋ ต์ง๋ง ๊ผญ ํ์ํ ์ผ์ด๊ธฐ๋ ํ๋ค.
์๋ก ์ด ๊ธธ์๋๋ฐ, ์ต๊ทผ Optimizing ๊ด๋ จ ๋ฌธ์๋ฅผ ์ฝ๋ค๊ฐ ํ๊ณ ํ๊ณ .. ๋ค์ด๊ฐ๋ค ๋ณด๋ ๋ง๋ ๋๋ฌด ์ข์ ์ฑํฐ๊ฐ ์์ด์, ๋ด๊ฐ ์ฝ๊ธฐ ์ข๊ฒ ๋ฒ์ญํด๋ณด๋ ค๊ณ ํ๋ค.. (์์ญ/์ค์ญ ๋น์ฐํ!! ์์ ์ ์์)
+ ๋จ์ด์ ๋ป์ด ๋ช ํํ์ง ์์ ๋๊ฐ ์์ด ์๋ ์ฉ์ด ์ค๋ช ์ ์ถ๊ฐํ๋ค!
โ ๋ฐฐํฌ ์ฒดํฌ๋ฆฌ์คํธ
Next.js ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ก๋์ ์ผ๋ก ์ ํํ๊ธฐ ์ ์, ์ฌ์ฉ์ ๊ฒฝํ, ์ฑ๋ฅ ๋ฐ ๋ณด์์ ์ํด ๊ตฌํํด์ผ ํ ์ต์ ํ ํจํด์ด ์๋ค.
1๏ธโฃ ์๋ ์ต์ ํ
์๋๋ Next.js๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ์ต์ ํ ๋ชฉ๋ก์ผ๋ก, ๋ณ๋๋ก ํ์ฑํํ ํ์๊ฐ ์๋ค.
๐น Server Components
Next.js๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฒ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ค. ์๋ฒ ์ปดํฌ๋ํธ๋ ์๋ฒ์์ ์คํ๋๋ฉฐ ํด๋ผ์ด์ธํธ์์ ๋ ๋๋งํ๊ธฐ ์ํด ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์, ํด๋ผ์ด์ธํธ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ๋ค ํฌ๊ธฐ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค.
๐น Code Splitting
์๋ฒ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ฉด route segments์ ๋ฐ๋ผ ์๋ code splitting์ด ๊ฐ๋ฅํ๋ค. ํ์ํ ๊ฒฝ์ฐ์๋ ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ, ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ lazy loading ํ ์๋ ์๋ค.
๐น Prefetching
์ฌ์ฉ์ ๋ทฐํฌํธ์ ์๋ก์ด ๊ฒฝ๋ก๋ก ๊ฐ๋ Link๊ฐ ๋ค์ด์ค๋ฉด, Next.js๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ํด๋น ๊ฒฝ๋ก๋ฅผ prefetcing ํ๋ค. ๋ฐ๋ผ์, ์ฌ์ฉ์๊ฐ ์๋ก์ด ๊ฒฝ๋ก์ ํ์์ด ์ฆ๊ฐ์ ์ผ๋ก ์ด๋ฃจ์ด์ง๊ฒ ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ํ๋ฆฌํจ์นญ์ ํด์ ํ ์ ์๋ค.
๐น Static Rendering
Next.js๋ ์๋ฒ์์ ๋น๋ ํ์์ ์๋ฒ ๋ฐ ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ๋ฅผ ์ ์ ์ผ๋ก ๋ ๋๋งํ๊ณ , ๋ ๋๋ง๋ ๊ฒฐ๊ณผ๋ฅผ ์บ์ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฑ๋ฅ์ ๊ฐ์ ํ๋ค. ํ์ํ ๊ฒฝ์ฐ ํน์ ๊ฒฝ๋ก์ ๋ํด ๋์ ๋ ๋๋ง์ ์ ํํ ์ ์๋ค.
๐น Caching
Next.js๋ ๋ฐ์ดํฐ ์์ฒญ, ์๋ฒ ๋ฐ ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ์ ๋ ๋๋ง ๊ฒฐ๊ณผ, static assets ๋ฑ์ ์บ์ํ์ฌ ์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๋ฐฑ์๋ ์๋น์ค์ ๋ํ ๋คํธ์ํฌ ์์ฒญ ์๋ฅผ ์ค์ธ๋ค. ํ์ํ ๊ฒฝ์ฐ ์บ์ฑ์ ํด์ ํ ์ ์๋ค.
์ด๋ฐ ๊ธฐ๋ณธ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ณ ๊ฐ ๋คํธ์ํฌ ์์ฒญ ์ ์ ์ก๋๋ ๋ฐ์ดํฐ์ ์๊ณผ ๋น์ฉ์ ์ค์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
2๏ธโฃ ๊ฐ๋ฐ ์ ์งํํ ๋ด์ฉ
์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ๋ ์ต์์ ์ฑ๋ฅ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๊ธฐ ์ํด ์๋์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
โค Routing and Rendering
๐น Layouts
๋ ์์ด์์ ์ฌ์ฉํด ํ์ด์ง ๊ฐ UI๋ฅผ ๊ณต์ ํ๊ณ ํ์ด์ง ์ด๋์ ๋ถ๋ถ ๋ ๋๋ง์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
๐น Link ์ปดํฌ๋ํธ
ํด๋ผ์ด์ธํธ ์ธก์์ ํ์ด์ง๋ฅผ ์ด๋ํ๊ฒ ํ๊ฑฐ๋ prefetcing์ ์ํด <Link>
์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ค.
๐น Error Handling
์ฌ์ฉ์ ์ง์ ์ค๋ฅ ํ์ด์ง๋ฅผ ์์ฑํ์ฌ ํฌ๊ด์ ์ธ ์ค๋ฅ, 404 ์ค๋ฅ๋ฅผ ์ฐ์ํ๊ฒ ์ฒ๋ฆฌํ๋๋ก ํ๋ค.
๐น Composition Patterns
์๋ฒ, ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ์ ๋ํ ๊ถ์ฅํ๋ ๊ตฌ์ฑ ํจํด์ ๋ฐ๋ฅด๊ณ , ํด๋ผ์ด์ธํธ ์ธก์ JS ๋ฒ๋ค์ด ๋ถํ์ํ๊ฒ ์ฆ๊ฐํ์ง ์๋๋ก ํ๋ค.
๐น Dynamic APIs
cookie ๋ฐ searchParams ์์ฑ๊ณผ ๊ฐ์ ๋์ API๋ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ๋์ ๋ ๋๋ง์ผ๋ก ์ค์ ํจ์ ์ฃผ์ํ๋ค.(๋ง์ฝ ๋ฃจํธ ๋ ์ด์์์์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ ์ฒด์ ์ผ๋ก ๋์ ๋ ๋๋ง์ด ๋๋ค.) ๋ณธ์ธ์ด ๋์ API๋ฅผ ์๋์ ์ผ๋ก ์ฌ์ฉํ์์ ํ์ธํ๊ณ , <Suspense>
๋ก ๊ฐ์ผ๋ค.
โจGood to know Partial Prerendering (์คํ ๊ธฐ๋ฅ)์ ์ฌ์ฉํ๋ฉด ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ๋์ ๋ ๋๋ง์ผ๋ก ์ ํํ์ง ์๊ณ , ๊ฒฝ๋ก์ ์ผ๋ถ๋ฅผ ๋์ ์ผ๋ก ๋ ๋๋งํ ์ ์๋ค.
๐งก Data fetching and caching
๐นServer Components
์๋ฒ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํด ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ป์ ์ ์๋ ์ด์ ์ ์ฌ์ฉํ๋ค. ๐นRoute Handlers
๋ผ์ฐํฐ ํธ๋ค๋ฌ๋ฅผ ์ฌ์ฉํด ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ์์ ๋ฐฑ์๋ ๋ฆฌ์์ค์ ์ ๊ทผํ๋ค. ๋จ ์ถ๊ฐ ์๋ฒ ์์ฒญ์ ํผํ๊ธฐ ์ํด ์๋ฒ ์ปดํฌ๋ํธ์์ ๋ผ์ฐํธ ํธ๋ค๋ฌ๋ฅผ ํธ์ถํ์ง ์๋ ๊ฒ์ด ์ข๋ค. ๐นStreaming
๋ก๋ฉ UI, React์ <Suspense>
๋ฅผ ์ฌ์ฉํด ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก UI๋ฅผ ์ ์ง์ ์ผ๋ก ๊ฐ์ ธ์ค๋๋ก ํ์ฌ, ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋์ ์ ์ฒด ๊ฒฝ๋ก๊ฐ blocking ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ค. ๐นParallel Data Fetching
์ ์ ํ ๊ฒฝ์ฐ ๋ณ๋ ฌ๋ก ๋ฐ์ดํฐ๋ฅผ fetchingํ์ฌ ๋คํธ์ํฌ waterfalls(์ง์ฐ)์ ์ค์ธ๋ค. ๋ํ ์ ์ ํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ก๋์๋ ๊ฒ๋ ๊ณ ๋ คํ ์ ์๋ค. ๐นData Caching
๋ฐ์ดํฐ ์์ฒญ์ด ์บ์๋๊ณ ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ ๊ฐ๋ฅํ๋ฉด ์บ์ฑ์ ์ ํํ๋ค. ๋ํ fetch๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ ๊ฒฝ์ฐ์๋ ์บ์ฑ์ด ์ ์ฉ๋๋์ง ํ์ธํด์ผ ํ๋ค. ๐นStatic Images
public
๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ static assets (์ด๋ฏธ์ง ๋ฑ)์ ์๋์ผ๋ก ์บ์ฑํ๋ค.
๐ UI and accessibility
๐นForms and Validation
๐นFont Module
๐น<Image>
Component
๐น<Script>
Component
๐นESLint
๐ Security
๐นTainting
๐นServer Actions
๐นEnvironment Variables
๐นContent Security Policy
๐ Metadata and SEO
๐ Type safety
3๏ธโฃ ํ๋ก๋์ ์ ๋ค์ด๊ฐ๊ธฐ ์
ํ๋ก๋์
์ ๋ค์ด๊ฐ๊ธฐ ์ ์ next build
๋ฅผ ์คํํด ๋ก์ปฌ์์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋น๋ํ๊ณ ๋น๋ ์ค๋ฅ๋ฅผ ํ์
ํ ๋ค์, next start
๋ฅผ ์คํํด ํ๋ก๋์
๊ณผ ์ ์ฌํ ํ๊ฒฝ์์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฑ๋ฅ์ ์ธก์ ํ ์ ์๋ค.
๐งก Core Web vitals
๐น Lighthouse ์ํฌ๋ฆฟ ๋ชจ๋์์ Lighthouse๋ฅผ ์คํํ๋ฉด ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์ฌ์ดํธ๋ฅผ ์ด๋ป๊ฒ ๊ฒฝํํ๋์ง ๋ ์ ํํ๊ฒ ํ์ ํ ์ ์๊ณ , ๊ฐ์ ํ ๋ถ๋ถ์ ์ฐพ์ ์ ์๋ค. ํ์ง๋ง ์ด๋ ์๋ฎฌ๋ ์ด์ ๋ ํ ์คํธ์ด๋ฏ๋ก Core Web Vitals ๊ฐ์ ํ๋ ๋ฐ์ดํฐ์ ํจ๊ป ํ์ธํ๋ ๊ฒ์ด ์ข๋ค.
๐น useReportWebVitals
hook ์ด ํ
์ ์ฌ์ฉํด Core Web Vitals๋ฅผ ๋ถ์ ํด์ ์ ์กํ ์ ์๋ค.
๐ Analyzing bundles
@next/bundle-analyzer
ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํด ์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ๋ถ์ํ๊ณ ์ ํ๋ฆฌ์ผ์ด์
์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ๋๊ท๋ชจ ๋ชจ๋๊ณผ ์์ฑ์ ํ์ธํ ์ ์๋ค.
๋ํ, ์๋ก์ด ์ข ์์ฑ(dependencies)๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋์ง ํ์ ํ ์ ์๋ค.
4๏ธโฃ ๋ฐฐํฌ ํ
์ด๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๋์ง์ ๋ฐ๋ผ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๊ณ ๊ฐ์ ํ๋๋ฐ ๋์์ด ๋ ์ ์๋ ์ถ๊ฐ์ ์ธ ๋๊ตฌ๋ ํตํฉ ๊ธฐ๋ฅ์ ์ ๊ทผํ ์ ์๋ค.
Vercel ๋ฐฐํฌ์ ๊ฒฝ์ฐ ์๋์ ์ฌํญ์ ๊ถ์ฅํ๋ค.
๐น Analytics
๊ธฐ๋ณธ ์ ๊ณต์ผ๋ก ๋ถ์์ฉ ๋์๋ณด๋๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์
ํธ๋ํฝ, ์ ๋ฐฉ๋ฌธ์ ์, ํ์ด์ง ์กฐํ์ ๋ฑ์ ์ดํดํ๋๋ฐ ๋์์ ์ค๋ค.
๐น Speed Insights
๋ฐฉ๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ค์ ์ฑ๋ฅ ์ธ์ฌ์ดํธ๋ก, ์น์ฌ์ดํธ๊ฐ ํ์ฅ์์ ์ด๋ป๊ฒ ์๋ํ๋์ง์ ๋ํ ์ค์ง์ ์ธ ์๊ฐ์ ์ ๊ณตํ๋ค.
๐น Logging
๋ฐํ์ ๋ฐ ํ๋ ๋ก๊ทธ๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ๋๋ฒ๊น
ํ๊ณ . ํ๋ก๋์
ํ๊ฒฝ์ ์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ชจ๋ํฐ๋ง ํ ์ ์๋ค.๋์์ผ๋ก third-party ํด์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ์ด๊ณณ์ ์ฐธ์กฐํ๋ค.
โจGood to know
Vercel์์ ์ค์ ์๋น์ค๋ก ๋ฐฐํฌํ ๋ ๊ผญ ํ์ธํด์ผ ํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์์ธํ ์์๋ณด๊ณ , ์น์ฌ์ดํธ ์ฑ๋ฅ์ ๋์ด๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ ์๊ณ ์ถ๋ค๋ฉด Vercel Production Checklist๋ฅผ ์ฐธ๊ณ ํ๋ค.
๐ ์ถ๊ฐ ์ฉ์ด ์ค๋ช
๐ธSegment URL ๊ฒฝ๋ก์ ํน์ ๋ถ๋ถ์ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด๋ณด์.
https://example.com/products/123
์ด๋ ๊ฒฝ๋ก๊ฐ ์ฃผ์ด์ก์ ๋products
์123
์ด ๊ฐ๊ฐ ํ๋์ segment ๋ผ๊ณ ํ ์ ์๋ค.- app router์์๋ app ํด๋ ์๋ url์ ๊ตฌ์ฑํ๊ธฐ ์ํด ๋ง๋ ํด๋ ํ๋๊ฐ ๊ฒฝ๋ก์ segment๊ฐ ๋๋ค.
๐ธPartial Rendering Parial Rendering์ ๋ณ๊ฒฝ๋๋ route segments๋ง client์์ re-render ๋๊ณ , ๊ณต์ segments๋ ์ ์ง๋๋ ๊ฒ์ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด๋ณด์.
/dashboard/settings
์/dashboard/analytics
๊ฐ ๋ด๋น๊ฒ์ด์ ์ ์๋ํ๋ค.- ์ด ๊ณผ์ ์์
/settings
๋ unmount ๋๊ณ ,/analytics
๋ ์ ์ํ๋ก ๋ง์ดํธ ๋๋ค. - ์ด ๋,
/dashboard
์ ๋ ์ด์์์ ๊ทธ๋๋ก ์ ์ง ๋๋ค. - 1~3๋ฒ ๊ณผ์ ์
/blog/[slug]/page
์ ๊ฐ์ ๋์ segment ์์๋ ๋์ผํ๊ฒ ๋ฐ์ํ๋ค.
๐ธPrefetcing
- Prefetcing์ ์ฌ์ฉ์๊ฐ ๊ฒฝ๋ก๋ฅผ ๋ฐฉ๋ฌธํ๊ธฐ ์ ๋ฐฑ๊ทธ๋ผ์ด๋ฐ์์ ๊ฒฝ๋ก๋ฅผ ๋ฏธ๋ฆฌ ๋ก๋ํ๋ค.
- Next.js ์์ ๊ฒฝ๋ก๋ฅผ Prefetcingํ๋ ๋ฐฉ๋ฒ์ ์๋ ๋ ๊ฐ์ง๊ฐ ์๋ค.
<Link>
์ปดํฌ๋ํธ ์ฌ์ฉํ๊ธฐ- route๊ฐ ์ฌ์ฉ์์ ๋ทฐํฌํธ์ ํ์๋ ๋ ์๋์ผ๋ก prefetcing ๋๋ค. (์ฒ์ ๋ค์ด์์ ๋ / ์คํฌ๋กค ํด์ ๋ทฐํฌํธ์ ํ์๋ ๋ ๋ฑ)
router.prefetch()
์ฌ์ฉํ๊ธฐuseRouter
ํ ์ ์ฌ์ฉํด ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ๊ฒฝ๋ก๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ์ ธ์ฌ ์ ์๋ค.
โจGood to know
- Prefetcing์ development์์๋ ๋ถ๊ฐ๋ฅํ๊ณ , production์ผ ๋๋ง ๊ฐ๋ฅํจ์ ์ฃผ์ํ๋ค!
<Link>
์ปดํฌ๋ํธ์ ๋ ์์ธํ ์ค๋ช ์ ์ด์ชฝ์์ ํ์ธํ๋ค.
๐ธStatic Rendering
- Static Rendering(์ ์ ๋ ๋๋ง)์์๋ date Fetching๊ณผ rendering์ด ์๋ฒ์์ ๋น๋ ํ์ ๋๋ data revalidating(๋ฐ์ดํฐ ์ฌ๊ฒ์ฆ)์ ์ผ์ด๋๋ค.
- ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฉ๋ฌธํ ๋ ๋ง๋ค ์บ์๋ ๊ฒฐ๊ณผ๊ฐ ์ ๊ณต๋๋ค.
์ฅ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋ ๋น ๋ฅธ ์น์ฌ์ดํธ
- ๋ฏธ๋ฆฌ ๋ ๋๋ง ๋ ์ฝํ ์ธ ๋ฅผ Vercel๊ณผ ๊ฐ์ ํ๋ซํผ์ ๋ฐฐํฌํ๋ฉด, ์บ์ฑํ์ฌ ์ ์ธ๊ณ์ ๋ฐฐํฌํ ์ ์์ด ์ ์ธ๊ณ ์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ์ ์ฝํ ์ธ ์ ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์ ๊ทผํ ์ ์๋ค.
- ์๋ฒ ๋ถํ ๊ฐ์
- ์ฝํ ์ธ ๊ฐ ์บ์๋๋ฏ๋ก, ๊ฐ๊ฐ์ ์ฌ์ฉ์๋ค ์์ฒญ์ ์ผ์ผํ ์ฝํ ์ธ ๋ฅผ ๋์ ์ผ๋ก ์์ฑํ ํ์๊ฐ ์์ด ์ปดํจํ ๋น์ฉ์ ์ ๊ฐํ ์ ์๋ค.
- SEO
- ๋ฏธ๋ฆฌ ๋ ๋๋ง ๋ ์ฝํ ์ธ ๋ ํ์ด์ง๊ฐ ๋ก๋ค ๋ ๋ ์ด๋ฏธ ์ฝํ ์ธ ๋ฅผ ์ฌ์ฉํ ์ ์์ด, ๊ฒ์ ์์ง ํฌ๋กค๋ฌ๊ฐ ์์ธ์ ์์ฑํ๊ธฐ ๋ ์ฌ์ ๊ฒ์ ์์ง ์์ ํฅ์์ผ๋ก ์ด์ด์ง ์ ์๋ค.
- ๋ ๋น ๋ฅธ ์น์ฌ์ดํธ
- ์ ์ ๋ ๋๋ง์ ๋ฐ์ดํฐ๊ฐ ์๊ฑฐ๋, ์ฌ์ฉ์๋ค์ด ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ณ ์๋ UI (๋ธ๋ก๊ทธ, ์ํ ํ์ด์ง ๋ฑ)์ ์ ์ฉํ๋ค.
- ์ ๊ธฐ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๊ฑฐ๋, ๊ฐ์ธํ ๋ ๋ฐ์ดํฐ๊ฐ ์๋ ๋์๋ณด๋์๋ ์ ํฉํ์ง ์๋ค.
- Dynmaic Rendering(๋์ ๋ ๋๋ง)์์๋ ์ฌ์ฉ์์ ์์ฒญ์ด ๋ฐ์ํ ๋ (์ฌ์ฉ์๊ฐ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ ๋) ์๋ฒ์์ ๋ ๋๋ง ๋๋ค.
- ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ค์๊ฐ ๋ฐ์ดํฐ
- ๋์ ๋ ๋๋ง์ ์ฌ์ฉํ๋ฉด ์ค์๊ฐ์ผ๋ก, ํน์ ์์ฃผ ์ ๋ฐ์ดํธ ๋๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ ์ ์์ด ๋ฐ์ดํฐ๊ฐ ์์ฃผ ๋ณ๊ฒฝ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๊ธฐ ์ข๋ค,.
- ์ฌ์ฉ์๋ณ ์ฝํ
์ธ
- ๋์๋ณด๋๋ ์ฌ์ฉ์ ํ๋กํ๊ณผ ๊ฐ์ ๊ฐ์ธํ ๋ ์ฝํ ์ธ ๋ฅผ ์ ๊ณตํ๊ณ , ์ฌ์ฉ์ ์ํธ ์์ฉ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์ดํธ ํ๊ธฐ ๋ ์ฌ์์ง๋ค.
- ์์ฒญ ์์ ์์์ ์ ๋ณด
- ๋์ ๋ ๋๋ง์ ์ฌ์ฉํ๋ฉด ์ฟ ํค๋ URL ๊ฒ์ ๋งค๊ฐ๋ณ์์ ๊ฐ์ด ์์ฒญ ์์ ์๋ง ์ ์ ์๋ ์ ๋ณด์ ์ก์ธ์ค ํ ์ ์๋ค.
- ์ค์๊ฐ ๋ฐ์ดํฐ