I recently built Gakuran Guide (gakuranguide.wiki), a comprehensive wiki for a Roblox fighting game. It has 38 static pages, rich SEO metadata, and builds in under 30 seconds. Here's how.
The Stack
- Next.js 14 with App Router
-
Static Export (
output: 'export') - Tailwind CSS for styling
- JSON-LD Structured Data for every guide page
- Dynamic Sitemap with auto-detection of all routes
Why Static Export?
The Gakuran game data changes weekly, but I rebuild weekly — making SSR/ISR overkill. Static export means:
- Files served from a CDN (Cloudflare Pages — free)
- No server costs. Zero.
- 100/100 Lighthouse scores
- No hydration issues
JSON-LD: Rich Results Without SSR
Every guide page has structured data:
export default function GuidePage() {
const buildDate = new Date().toLocaleDateString('en-US', {
month: 'short', day: 'numeric', year: 'numeric'
});
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify({
"@context": "https://schema.org",
"@type": "Article",
"headline": "Fighting Styles Tier List",
"dateModified": buildDate,
// ...
})
}}
/>
{/* page content */}
</>
);
}
Since new Date() runs at build time for static export, the date is always fresh without any runtime overhead.
Auto-Updating Build Dates
Every page has an "Updated [date]" badge. No cron, no API — it's just:
const buildDate = new Date().toLocaleDateString('en-US', {
month: 'short', day: 'numeric', year: 'numeric'
});
Rebuild → new date. Simple.
SEO Results (3 weeks in)
- First-page Google ranking for "gakuran tier list"
- Featured snippet for "gakuran codes"
- All 38 pages indexed within 48 hours
Key Takeaways
- Static export is underrated. For content sites, it's faster and cheaper than SSR
- JSON-LD works perfectly with static export. Just bake it in at build time
- Incremental improvement works. Ship the first 10 pages, then add more
- Footer architecture matters. Every page should be reachable via footer links — we fixed this mid-project
Full site: gakuranguide.wiki
Happy to answer questions about building game wikis with Next.js!
Top comments (1)
did you run into any issues with the static export build times as the page count grew?