티스토리 뷰

반응형

GatsbyJS 웹사이트 성능 최적화 가이드: 속도 향상과 SEO를 동시에 잡는 법

GatsbyJS는 정적 사이트 생성기(SSG)로 기본적으로 빠르지만, 올바른 설정과 최적화를 하지 않으면 성능과 SEO 점수는 떨어질 수 있습니다.
이번 글에서는 Gatsby 웹사이트의 실제 속도 향상과 SEO 점수 향상을 위한 최적화 전략을 소개합니다. 🚀


1. 왜 Gatsby 최적화가 중요한가?

최적화 효과 요약

최적화 항목 효과

이미지 최적화 페이지 로딩 속도 개선, Core Web Vitals 향상
코드 스플리팅 초기 로딩 시간 단축
Lazy Loading 불필요한 리소스 지연 로딩
SEO 메타 데이터 구성 검색 엔진 노출 향상
PWA 적용 오프라인 사용 및 모바일 최적화 가능

🚀 성능 개선은 사용자 경험(UX)과 검색엔진 노출(SEO) 모두를 향상시킵니다!


2. 이미지 최적화: gatsby-plugin-image + gatsby-plugin-sharp

✅ 관련 플러그인 설치

npm install gatsby-plugin-image gatsby-plugin-sharp gatsby-transformer-sharp

✅ gatsby-config.js에 설정 추가

plugins: [
  `gatsby-plugin-image`,
  `gatsby-plugin-sharp`,
  `gatsby-transformer-sharp`,
]

✅ 예제 이미지 사용법

import { GatsbyImage, getImage } from "gatsby-plugin-image";

<GatsbyImage image={getImage(data.file.childImageSharp.gatsbyImageData)} alt="설명 텍스트" />
반응형

🚀 이미지를 자동으로 WebP로 변환하고 Lazy Load를 지원합니다.


3. 코드 스플리팅 및 지연 로딩 (Code Splitting + Lazy Load)

✅ 동적 import를 통한 코드 스플리팅

const Comments = React.lazy(() => import("../components/Comments"));

<Suspense fallback={<div>로딩 중...</div>}>
  <Comments />
</Suspense>

✅ React 컴포넌트 Lazy Load로 초기 로딩 속도 향상

🚀 필요한 컴포넌트만 로드되어 페이지 진입 속도가 빨라집니다.


4. 불필요한 폰트, CSS, JS 제거 (Tree-shaking + PurgeCSS)

✅ gatsby-plugin-postcss + TailwindCSS 사용 시

npm install gatsby-plugin-postcss

📌 postcss.config.js 예시

module.exports = {
  plugins: [
    require("tailwindcss"),
    require("autoprefixer"),
  ],
};

📌 gatsby-config.js

plugins: [
  `gatsby-plugin-postcss`,
  `gatsby-plugin-minify-classnames`, // 선택
]

🚀 사용하지 않는 CSS 클래스가 제거되어 번들 사이즈가 줄어듭니다.


5. SEO 최적화: gatsby-plugin-react-helmet, gatsby-plugin-sitemap, robots.txt

✅ 설치

npm install gatsby-plugin-react-helmet react-helmet
npm install gatsby-plugin-sitemap
npm install gatsby-plugin-robots-txt

✅ SEO 구성요소 체크리스트

  • title / meta description
  • canonical URL
  • OG & Twitter Card
  • sitemap.xml
  • robots.txt

🚀 검색엔진 최적화를 통해 더 많은 트래픽 유입 가능!


6. PWA 지원 (gatsby-plugin-offline)

✅ 오프라인 지원 플러그인 추가

npm install gatsby-plugin-offline

📌 gatsby-config.js

plugins: [
  `gatsby-plugin-offline`,
]

🚀 PWA 적용으로 오프라인에서도 페이지가 로드되고, 모바일 환경에서 빠르게 동작합니다.


7. Bundle 분석 도구 사용 (gatsby-plugin-webpack-bundle-analyser-v2)

✅ 설치 및 설정

npm install gatsby-plugin-webpack-bundle-analyser-v2

📌 gatsby-config.js

plugins: [
  {
    resolve: `gatsby-plugin-webpack-bundle-analyser-v2`,
    options: {
      analyzerMode: "static",
      reportFilename: "report.html",
      openAnalyzer: false,
    },
  },
]

🚀 불필요하게 큰 JS 번들을 시각화해서 최적화할 수 있습니다.


8. Lighthouse 테스트로 점수 확인하기

중점 체크 항목:

  • Performance (90점 이상)
  • Accessibility (100점 가능)
  • Best Practices
  • SEO (메타 태그, 링크 구조, 접근성 등)

🚀 정기적으로 테스트하여 성능을 유지하세요!


9. 결론

이번 글에서는 Gatsby 웹사이트의 성능과 SEO 점수를 모두 높이기 위한 핵심 최적화 전략을 정리했습니다.

✔ gatsby-plugin-image로 이미지 최적화
✔ 코드 스플리팅과 Lazy Load로 초기 로딩 최적화
✔ 사용하지 않는 CSS 제거 (Tailwind + PurgeCSS)
✔ react-helmet, sitemap, robots.txt로 SEO 강화
✔ PWA 적용으로 오프라인 지원
✔ Webpack Bundle 분석으로 무거운 리소스 제거
✔ Lighthouse로 실제 성능 점검

🚀 다음 글에서는 Gatsby를 CI/CD로 자동 배포하는 방법을 알아보겠습니다!


 

※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함
반응형