๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?
Development/React.js

SPA / CSR / TTI / TTV / SEO / Metaํƒœ๊ทธ / Opengraph

by DevIseo 2022. 10. 14.

๐Ÿ”ŽSPA (Single Page Application)

  • ์‚ฌ์šฉ์ž๊ฐ€ ํ•œ ํŽ˜์ด์ง€์— ๋จธ๋ฌด๋ฅด๋ฉด์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์™€์„œ ๋ถ€๋ถ„์ ์œผ๋กœ๋งŒ ์—…๋ฐ์ดํŠธ
  • ํ•˜๋‚˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜๋“ฏ ์‚ฌ์šฉ์„ฑ์ด ์ข‹์•„์ง
  • SPA ํŠธ๋ Œ๋“œ + ์‚ฌ์šฉ์ž๋“ค์˜ PC์„ฑ๋Šฅ ํ–ฅ์ƒ + JS ํ‘œ์ค€ํ™” + ๊ฐ•๋ ฅํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ”ํƒ•์œผ๋กœ
    • Angular, Vue, React ๋“ฑ CSR ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๊ฐœ๋ฐœ๋˜์–ด CSR์˜ ์‹œ๋Œ€๋กœ ์ ‘์–ด๋“ฌ!

๐Ÿ”ŽCSR (Client Side Rendering)

  • ๋ชจ๋“ ๊ฒƒ์„ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฒ˜๋ฆฌ ํ•˜๋Š”๊ฒƒ
  • HTML์€ ๋นˆ ํŒŒ์ผ์ด๊ณ , ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” JS์™€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์ธ JSON์„ ๋‹ค์šด๋ฐ›์•„์™€์„œ ํ™”๋ฉด์— ๊ทธ๋ ค์ค€๋‹ค. (์‚ฌ์ดํŠธ์˜ ์š”์†Œ๋“ค์„ ์ง์ ‘ ๋ Œ๋”๋ง)
  • ๋‹จ์ 
    • ํŽ˜์ด์ง€ ๋กœ๋”ฉ์ด ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค.
    • ๋™์  ๋ Œ๋”๋ง์ด๋ผ SEO๊ฐ€ ์ข‹์ง€์•Š๋‹ค.
    • ๊ทœ๋ชจ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ผ๋ฉด ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋Š๋ ค์ง„๋‹ค.
  • ์žฅ์ 
    • ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ถ€๋ถ„์ ์œผ๋กœ ๋ Œ๋”๋ง ๊ฐ€๋Šฅ

๐Ÿ”ŽSSR (Server Side Rendering)

  • ์ด๋ฏธ ๋งŒ๋“ค์–ด์ ธ ์žˆ๋Š” HTML ํŒŒ์ผ์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋„˜๊ฒจ์ค€๋‹ค.
  • ์žฅ์ 
    • ํŽ˜์ด์ง€ ๋กœ๋”ฉ์ด ๋นจ๋ผ์ง„๋‹ค.
    • ์ด๋ฏธ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ SEO๊ฐ€ CSR๋ณด๋‹ค ์ข‹๋‹ค.
  • ๋‹จ์ 
    • ์ƒˆ๋กœ๊ณ ์นจ์ด ์ผ์–ด๋‚ ๋•Œ๋งˆ๋‹ค ์ „์ฒด์ ์ธ ์›น ์‚ฌ์ดํŠธ๋ฅผ ์„œ๋ฒ„์—์„œ ๋‹ค์‹œ ์ƒˆ๋กœ ๋ฐ›์•„์™€์•ผํ•œ๋‹ค.
    • ์„œ๋ฒ„์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.
  • nextJS์—์„œ SSR ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ณ„๋„์˜ ์„œ๋ฒ„๊ฐ€ ๋Œ์•„๊ฐ€์•ผํ•œ๋‹ค.
  • ์„œ๋ฒ„์—์„œ ํŽ˜์ด์ง€์˜ ์š”์†Œ๋“ค ์ค‘ ๋ฐ”๋กœ ๋‚˜ํƒ€๋‚˜์•ผ ํ•˜๋Š” ๊ฒƒ๋“ค์„ ์ง€์ •ํ•˜์—ฌ์„œ ์„œ๋ฒ„์— ๋ฏธ๋ฆฌ ์—…๋กœ๋“œ ํ•œ๋‹ค.
  • ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฒซ ๋กœ๋”ฉ์€ ๋น ๋ฅด๊ฒŒ + CSR์˜ ์žฅ์ ์„ ์‚ด๋ฆฌ๋Š” ์ฝ”๋“œ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ”ŽTTI๋ž€?

  • Time To Interact
  • ์‚ฌ์šฉ์ž๊ฐ€ ํด๋ฆญ์„ ํ•˜๊ฑฐ๋‚˜ ์ธํ„ฐ๋ ‰์…˜์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„

์ธํ„ฐ๋ ‰์…˜ : ๋‘˜ ์ด์ƒ์˜ ๋ฌผ์ฒด๋‚˜ ๋Œ€์ƒ์ด ์„œ๋กœ ์˜ํ–ฅ์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ์ผ์ข…์˜ ํ–‰๋™

๐Ÿ”ŽTTV๋ž€?

  • Time To View
  • ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ณด๋Š”๋ฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„

๐Ÿ”ŽSEO๋ž€?

  • Search Engine Optimization
  • ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”
  • ๊ฒ€์ƒ‰ ์—”์ง„์—์„œ ์ฐพ์•„์ง€๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๋Š” ๊ฒƒ
  • SEO๋Š” ๊ตฌ๊ธ€, ๋„ค์ด๋ฒ„์™€ ๊ฐ™์€ ๊ฒ€์ƒ‰ ์—”์ง„๋“ค์ด ์„œ๋ฒ„์— ๋“ฑ๋ก๋œ ์›น์‚ฌ์ดํŠธ๋ฅผ ํ•˜๋‚˜ ํ•˜๋‚˜์”ฉ ๋Œ์•„ ๋‹ค๋‹ˆ๋ฉด์„œ ์›น์‚ฌ์ดํŠธ์˜ HTML ๋ฌธ์„œ๋ฅผ ๋ถ„์„ํ•ด์ค๋‹ˆ๋‹ค. ์ด๋•Œ HTML์— ์‚ฌ์šฉ๋œ ํƒœ๊ทธ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒ€์ƒ‰ํ•  ๋•Œ, ์›น์‚ฌ์ดํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค๋‹ˆ๋‹ค.

SEO๋ฅผ ์œ„ํ•œ ์ž‘์—…

  • ๋ฉ”ํƒ€ ํƒœ๊ทธ(Meta Tag)
    • <title> ํƒœ๊ทธ
      • ์›น ํŽ˜์ด์ง€๋ฅผ ๊ฒ€์ƒ‰ ์—”์ง„์— ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ๋…ธ์ถœ ๋˜๋Š” ์ œ๋ชฉ
      • ๋‹จ์ˆœํžˆ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์—๋งŒ ๋…ธ์ถœ ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ธŒ๋ผ์šฐ์ € ํƒญ ์ƒ์—์„œ๋„ ๋…ธ์ถœ๋˜์–ด ์ค‘์š”๋„ ๋†’์Œ
    • <description> ํƒœ๊ทธ
      • ํ•ด๋‹น ์›นํŽ˜์ด์ง€์˜ ์„ค๋ช…์„ ์š”์•ฝํ•œ ํ•œ ๋‘ ์ค„์˜ ๋ฌธ์žฅ
    • <robots> ํƒœ๊ทธ
      • ์›นํŽ˜์ด์ง€ ๋ณ„ ๊ฒ€์ƒ‰ ๋กœ๋ด‡์˜ ์ ‘๊ทผ ์—ฌ๋ถ€๋ฅผ ์„ค์ •ํ•  ๋•Œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ
      • ๊ฒ€์ƒ‰ ์—”์ง„์˜ ์›นํŽ˜์ด์ง€๋ฅผ ํฌ๋กค๋ง ํ•˜๋Š” ๊ฒ€์ƒ‰๋กœ๋ด‡์ด ์žˆ๋Š”๋ฐ, ๋กœ๋ด‡ ํƒœ๊ทธ์˜ ์†์„ฑ์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ, ์ด ๊ฒ€์ƒ‰ ๋กœ๋ด‡์ด ์›นํŽ˜์ด์ง€๋ฅผ ํฌ๋กค๋ง ํ•˜๊ณ  ์ƒ‰์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ฐ›๊ฑฐ๋‚˜ ๋ฐ›์ง€ ๋ชปํ•จ.
      • robots ํƒœ๊ทธ์˜ ์†์„ฑ ์ •์˜๊ฐ€ ๋” ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ์—ฌ๊ธฐ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”
      • ๋กœ๋ด‡ ๋ฉ”ํƒ€ ํƒœ๊ทธ ์‚ฌ์–‘ | Google ๊ฒ€์ƒ‰ ์„ผํ„ฐ | ๋ฌธ์„œ | Google Developers
    • <canonical> ํƒœ๊ทธ
      • ์—ฌ๋Ÿฌ URL์„ ๊ฐ€์ง„ ์›น ํŽ˜์ด์ง€๊ฐ€ ์žˆ์„ ๋•Œ, ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ๋Œ€ํ‘œ URL์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ
      • ํ•œ ํŽ˜์ด์ง€์˜ ๋Œ€ํ‘œ๋˜๋Š” URL์„ ์ง€์ •ํ•จ์œผ๋กœ์จ, ๊ฒ€์ƒ‰ ๋กœ๋ด‡์ด ์›น ํŽ˜์ด์ง€๋ฅผ ํฌ๋กค๋ง ํ•  ๋•Œ ์ค‘๋ณตURL๋กœ ์ธํ•œ ํŒจ๋„ํ‹ฐ๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๊ฒŒ ํ•จ
      • ๊ฐ ํŽ˜์ด์ง€ ๋ณ„ ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ ์šฉํ•˜๋ฉด ์•ˆ๋จ
  • ์˜คํ”ˆ ๊ทธ๋ž˜ํ”„(Open Graph) ํƒœ๊ทธ
og:title => ์›นํŽ˜์ด์ง€ ์ œ๋ชฉ
og:description => ์›นํŽ˜์ด์ง€ ์ƒ์„ธ ์„ค๋ช…
og:image => ์›นํŽ˜์ด์ง€ ์นด๋“œ์— ๋‚˜ํƒ€๋‚˜๋Š” ์ธ๋„ค์ผ (๊ถŒ์žฅ ์‚ฌ์ด์ฆˆ 1200x630)
og:type => ์›นํŽ˜์ด์ง€ ์œ ํ˜•
og:url => ์›นํŽ˜์ด์ง€ ์ฃผ์†Œ
  • ์›น ํŽ˜์ด์ง€์˜ ๋งํฌ๊ฐ€ ๊ณต์œ ๋  ๋•Œ ์–ด๋–ป๊ฒŒ ๋…ธ์ถœ๋  ์ง€๋ฅผ ์ •์˜ ํ•ด์ฃผ๋Š” ์—ญํ• 
  • ๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ํ•ด๋‹น ์›นํŽ˜์ด์ง€๊ฐ€ SNS์— ์–ผ๋งˆ๋‚˜ ๊ณต์œ ๋˜๊ณ  ์žˆ๋Š”์ง€ (ํ˜น์€ ์–ผ๋งˆ๋งŒํผ์˜ ํŠธ๋ž˜ํ”ฝ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€) ํŒ๋‹จํ•˜๋Š” ๊ธฐ์ค€์ด ๋˜์–ด ๊ฒ€์ƒ‰ ์ƒ์œ„ ๋…ธ์ถœ์„ ์œ„ํ•œ ํ’ˆ์งˆ ํ‰๊ฐ€์—๋„ ์˜ํ–ฅ์„ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•œ ์—ญํ• 

 

Reference

๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”(SEO)๋ž€? | ์š”์ฆ˜IT

SSR, CSR, SSG, TTV, TTI ๊ฐœ๋… ์ •๋ฆฌ

SPA, SEO, SSR, CSR, TTV, TTI (nextJS)

SPA vs MPA์™€ SSR vs CSR ์žฅ๋‹จ์  ๋œป์ •๋ฆฌ - ํ•˜๋‚˜๋ชฌ

SSR, SSG, JAM Stack์ด ๋ญ”๊ฐ€์š”? (+ CSR, SEO, Next.js, Nuxt.js, Gatsby)

์„œ๋ฒ„์‚ฌ์ด๋“œ ๋ Œ๋”๋ง (๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์ƒ์‹์œผ๋กœ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š” ๊ฐœ๋… ์ •๋ฆฌ โญ๏ธ)

๋Œ“๊ธ€