How I Built a Game Wiki with 38 Pages Using Next.js Static Export

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. 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 The Gakuran game data changes weekly, but I rebuild weekly — making SSR/ISR overkill. Static export means: Files served from a CDN (
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 */}
</>
);
}
Enter fullscreen mode Exit fullscreen mode
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'
});
Enter fullscreen mode Exit fullscreen mode
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!



