feat: add BreadcrumbList JSON-LD to game, games, and devices pages (Task 9)

This commit is contained in:
2026-05-25 19:39:43 +08:00
parent 183bdc96c0
commit d4ff5a26a6
3 changed files with 37 additions and 1 deletions
+13 -1
View File
@@ -16,7 +16,7 @@ import {
import { and, desc, eq, sql } from "drizzle-orm"
import { isSyncStale, syncSteamGame, ensureSteamGame } from "@/lib/steam/sync"
import { getR2PublicUrl } from "@/lib/storage"
import { smartTruncate } from "@/lib/utils/seo"
import { smartTruncate, buildBreadcrumbList } from "@/lib/utils/seo"
import { GamePageClient } from "./game-page-client"
// This page needs live data — skip static generation at build time
@@ -379,6 +379,18 @@ export default async function GamePage({
}),
}}
/>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify(
buildBreadcrumbList([
{ name: "Home", url: "https://deckyvault.xyz" },
{ name: "Games", url: "https://deckyvault.xyz/games" },
{ name: game.title, url: `https://deckyvault.xyz/game/${game.id}` },
]),
),
}}
/>
<Suspense fallback={<div className="min-h-screen" />}>
<GamePageClient
game={serializedGame}