Next.js Static Export를 사용하여 38페이지 규모의 게임 위키를 구축한 방법
요약
Next.js의 Static Export 기능을 활용하여 Roblox 게임 위키를 구축한 사례를 소개합니다. 서버 비용 없이 CDN을 통해 고성능의 정적 페이지를 제공하며, SEO 최적화를 위한 JSON-LD 구현 방법을 다룹니다.
핵심 포인트
- Next.js Static Export를 통한 서버 비용 제로화 및 고성능 구현
- JSON-LD 구조화 데이터를 활용한 검색 엔진 최적화(SEO) 전략
- 빌드 타임 데이터를 활용한 자동 업데이트 날짜 구현
- Lighthouse 점수 100점 달성 및 빠른 인덱싱 효과
최근 저는 Roblox 격투 게임을 위한 종합 위키인 Gakuran Guide (gakuranguide.wiki)를 구축했습니다. 이 사이트는 38개의 정적 페이지(static pages), 풍부한 SEO 메타데이터를 갖추고 있으며, 30초 이내에 빌드됩니다. 그 방법을 소개합니다.
기술 스택 (The Stack)
- Next.js 14 (App Router 사용)
- Static Export (
output: 'export') - Tailwind CSS (스타일링용)
- JSON-LD Structured Data (모든 가이드 페이지용)
- Dynamic Sitemap (모든 경로 자동 감지)
왜 Static Export인가?
Gakuran 게임 데이터는 매주 변경되지만, 저 또한 매주 다시 빌드하기 때문에 SSR/ISR은 과합니다. Static Export를 사용하면 다음과 같은 이점이 있습니다:
- CDN(Cloudflare Pages — 무료)을 통해 파일 제공
- 서버 비용 없음. 제로(Zero).
- Lighthouse 점수 100/100
- 하이드레이션 (Hydration) 문제 없음
JSON-LD: SSR 없이 구현하는 리치 결과 (Rich Results)
모든 가이드 페이지에는 구조화된 데이터 (structured data)가 포함되어 있습니다:
export default function GuidePage() {
const buildDate = new Date().toLocaleDateString('en-US', {
month: 'short', day: 'numeric', year: 'numeric'
...
Static Export의 경우 new Date()가 빌드 타임 (build time)에 실행되므로, 런타임 오버헤드 없이 항상 최신 날짜를 유지할 수 있습니다.
자동 업데이트되는 빌드 날짜
모든 페이지에는 "Updated [날짜]" 배지가 있습니다. 크론 (cron)이나 API 없이 다음과 같이 구현됩니다:
const buildDate = new Date().toLocaleDateString('en-US', {
month: 'short', day: 'numeric', year: 'numeric'
});
재빌드(Rebuild) → 새로운 날짜. 간단합니다.
SEO 결과 (3주 경과)
- "gakuran tier list" 키워드로 Google 첫 페이지 랭킹 진입
- "gakuran codes" 키워드로 피처드 스니펫 (Featured snippet) 노출
- 48시간 이내에 38개 페이지 모두 인덱싱 완료
핵심 요약 (Key Takeaways)
- Static export는 과소평가되어 있습니다. 콘텐츠 사이트의 경우 SSR보다 빠르고 저렴합니다.
- JSON-LD는 static export와 완벽하게 작동합니다. 빌드 타임에 포함시키기만 하면 됩니다.
- 점진적인 개선이 효과적입니다. 먼저 10개 페이지를 출시한 다음, 더 추가하세요.
- 푸터 (Footer) 구조가 중요합니다. 모든 페이지는 푸터 링크를 통해 도달할 수 있어야 합니다. 저희는 프로젝트 중간에 이 부분을 수정했습니다.
전체 사이트: gakuranguide.wiki
Next.js로 게임 위키를 구축하는 것에 대해 궁금한 점이 있다면 기꺼이 답변해 드리겠습니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기