티스토리 뷰
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로 자동 배포하는 방법을 알아보겠습니다!
'study > 프론트엔드' 카테고리의 다른 글
GatsbyJS에서 Headless CMS(Contentful, Strapi) 연동하기: 콘텐츠 관리 자동화 (0) | 2025.03.24 |
---|---|
GatsbyJS 프로젝트를 CI/CD로 자동 배포하기 (GitHub Actions, Netlify, Vercel 활용) (0) | 2025.03.23 |
GatsbyJS에서 Open Graph 및 Twitter Card 설정하기 (SNS 미리보기 최적화) (0) | 2025.03.21 |
GatsbyJS에서 Sitemap(사이트맵) 생성 및 SEO 최적화하기 (0) | 2025.03.20 |
GatsbyJS에서 RSS 피드 생성하기: 블로그 구독 기능 추가 (0) | 2025.03.20 |
- Total
- Today
- Yesterday
- AI챗봇
- Ktor
- Python
- App Router
- 프론트엔드
- fastapi
- Prisma
- JAX
- 백엔드개발
- PostgreSQL
- nodejs
- CI/CD
- 프론트엔드면접
- llm
- SEO 최적화
- nextJS
- 파이썬알고리즘
- 딥러닝
- rag
- Docker
- Next.js
- SEO최적화
- 웹개발
- kotlin
- 개발블로그
- gatsbyjs
- NestJS
- REACT
- flax
- seo 최적화 10개
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |