๐Ÿ‘จโ€๐Ÿ’ป ๋ธ”๋กœ๊ทธ ์ œ์ž‘ ์ผ์ง€(1)

๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ gatsby + netlify ์กฐํ•ฉ์„ ์„ ํƒํ–ˆ๋‹ค.

gatsby๋Š” React + GraphQL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ SSG(์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ๊ธฐ)๋‹ค. React๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๊ฐ€์ง€ SSG์ค‘ Next.js์™€ gatsby๋ฅผ ๋‘๊ณ  ๊ณ ๋ฏผํ–ˆ๋Š”๋ฐ, ์†Œ๊ทœ๋ชจ์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ•˜๊ธฐ์— ๋” ์ ํ•ฉํ•œ gatsby๋ฅผ ํƒํ–ˆ๋‹ค. SSG์— ๋Œ€ํ•ด์„œ๋Š” ์ด๊ณณ์— ์ •๋ฆฌํ•ด ๋‘์—ˆ๋‹ค. Netlify๋Š” ํด๋ผ์šฐ๋“œ/์›น ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค๋‹ค. ์š”์ฆ˜ ๋งŽ์ด๋“ค ์‚ฌ์šฉํ•˜๋Š” ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค์ธ ๊ฒƒ ๊ฐ™์•„์„œ ๋‚˜๋„ ํ•œ ๋ฒˆ ์จ๋ดค๋‹ค.

1. Gatsby Starter Template์œผ๋กœ ๋ธ”๋กœ๊ทธ ๋งŒ๋“ค๊ธฐ

JBEE๋‹˜์ด ๋งŒ๋“  ์Šคํƒ€ํ„ฐ ํ…Œ๋งˆ gatsby-starter-bee๋ฅผ ์ด์šฉํ•ด์„œ ๋งค์šฐ ์‰ฝ๊ฒŒ ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ๋‹ค.

gatsby-starter-bee๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•œ๋‹ค.

npm i -g gatsby-cli
gatsby new my-blog-starter https://github.com/JaeYeopHan/gatsby-starter-bee
cd my-blog-starter
npm start

2. Netlify๋กœ ๋ธ”๋กœ๊ทธ ๋ฐฐํฌํ•˜๊ธฐ

Github Repo๋ฅผ ์ƒ์„ฑํ•œ ๋’ค Netlify์— ์ ‘์†ํ•˜์—ฌ ํ•ด๋‹น Repo๋ฅผ ์—ฐ๋™ํ•ด์ฃผ๋ฉด ๊ธˆ์ƒˆ ์‚ฌ์ดํŠธ๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค. ๋ธ”๋กœ๊ทธ์— ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉด ๊นƒ์— ํ‘ธ์‰ฌํ•ด์ฃผ๋Š” ๊ฒƒ๋งŒ์œผ๋กœ Netlify๊ฐ€ ์ž๋™์œผ๋กœ ํ†ตํ•ฉํ•˜๊ณ  ๋ฐฐํฌํ•ด์ค€๋‹ค.

3. ์ปค์Šคํ„ฐ๋งˆ์ด์ง•

๊ฒŒ์‹œ๊ธ€์— ์ธ๋„ค์ผ์„ ์ฃผ๊ณ  ์‹ถ์—ˆ๋‹ค. hexdrinker๋‹˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ๋”ฐ๋ผ ๊ณ ์ณค๋‹ค.

4. ๊ตฌ๊ธ€ SEO ์ตœ์ ํ™”

์ž˜ ์ •๋ฆฌ๋œ ๋ธ”๋กœ๊ทธ๋ฅผ ์ ๊ทน ์ฐธ๊ณ ํ–ˆ๋‹ค. Gatsby Blog ๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”๋„ ์ฐธ๊ณ ํ–ˆ๋‹ค.

Sitemap.xml ์ƒ์„ฑ

sitemap์€ ๊ตฌ๊ธ€ ์›น ํฌ๋กค๋Ÿฌ๊ฐ€ ๋‚ด ๋ธ”๋กœ๊ทธ๋ฅผ ํฌ๋กค๋งํ•˜๊ธฐ ์œ„ํ•œ ์ด์ •ํ‘œ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

 plugins: [
     ...
    'gatsby-plugin-sitemap',
    ...
  ]
npm add gatsby-plugin-sitemap
gatsby develop

localhost:8000/sitemap.xml ์— ์ ‘์†ํ•˜์—ฌ sitempa์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธ

Google Search ์ฝ˜์†”์— ๋“ฑ๋กํ•˜๊ธฐ

  1. Google Search Console์— ์ ‘์†
  2. ์šฐ์ธก URL ์ ‘๋‘์–ด๋ฅผ ์„ ํƒํ•˜๊ณ  ์ธ์ฆ์šฉ html ํŒŒ์ผ์„ ๋‹ค์šด
  3. html ํŒŒ์ผ์„ ๋ฃจํŠธํด๋”์— ๋ณต์‚ฌํ•œ๋’ค package.json์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •
// package.json
"scripts": {
    "build": " gatsby build && cp google์–ด์ฉŒ๊ตฌ.html public/",
    ...
  },
yarn build
gatsby serve
  1. localhost:9000/google์–ด์ฉŒ๊ตฌ.html๋กœ ์ ‘์†ํ•˜์—ฌ ์ธ์ฆ์šฉ HTML ๋‚ด์šฉ์ด ์ž˜ ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ™•์ธ
  2. Git์— ์ปค๋ฐ‹ ํ›„ ํ‘ธ์‹œํ•˜์—ฌ netlify์— publish. ์ดํ›„ ๊ตฌ๊ธ€ ์„œ์น˜ ์ฝ˜์†”๋กœ ์™€์„œ ์ธ์ฆ ์™„๋ฃŒ.

5. Naver SEO ์ตœ์ ํ™”

๋„ค์ด๋ฒ„ ์‚ฌ์ดํŠธ ๊ฐ„๋‹จ ์ฒดํฌ์— ์ ‘์†ํ•˜์—ฌ ๋ธ”๋กœ๊ทธ URL์„ ์ž…๋ ฅํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•œ๋‹ค. robots.txt ํ•ญ๋ชฉ์—๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

robots.txt๋Š” ๊ฒ€์ƒ‰๋กœ๋ด‡์—๊ฒŒ ์‚ฌ์ดํŠธ ๋ฐ ์›นํŽ˜์ด์ง€๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ์ œํ•œํ•˜๋Š” ๊ตญ์ œ ๊ถŒ๊ณ ์•ˆ์ž…๋‹ˆ๋‹ค.

robots.txt ์ž‘์„ฑ

npm add gatsby-plugin-robots-txt

yarn build gatsby serve ์ž…๋ ฅ ํ›„ http://localhost:9000/robots.txt์— ์ ‘์†ํ•˜์—ฌ ํ™•์ธ. ๊นƒ์— ์ปค๋ฐ‹ํ•˜์—ฌ netlify์— publish๋œ ๊ฒƒ์„ ํ™•์ธ.

๋„ค์ด๋ฒ„ ์›น ๋งˆ์Šคํ„ฐ์— ๋“ฑ๋กํ•˜๊ธฐ

๋„ค์ด๋ฒ„ ์›น ๋งˆ์Šคํ„ฐ ์‚ฌ์ดํŠธ ๋“ฑ๋ก ํŽ˜์ด์ง€ ์—์„œ sitemap.html์„ ๋‹ค์šด๋ฐ›๊ณ  ๊ตฌ๊ธ€์— ๋“ฑ๋กํ–ˆ์„ ๋•Œ์™€ ๋˜‘๊ฐ™์ด ๋“ฑ๋กํ•˜๋ฉด ๋œ๋‹ค.

๊ฒฐ๋ก 

๋‹ค์Œ์—” ToC(Table of Contents), ๋งจ ์œ„๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ณผ์ •์„ ์ž˜ ์ •๋ฆฌํ•ด์„œ ์˜ฌ๋ ค๋ณด์ž.


Written by@Lechuck
์ดˆ๋ณด ๊ฐœ๋ฐœ์ž

GitHub