mirror of
https://github.com/hanzo-apps/hanzo.ai.git
synced 2026-10-30 14:58:08 +00:00
- Cut root homepage description by 1/3 (170 -> 114 chars) for SERP mobile/desktop truncation threshold - Updated apex gate test in e2e/gates/apex.spec.ts to match the optimized homepage description - Shortened and enriched 70+ page and layout descriptions to the optimal 110-145 character sweet spot - Front-loaded high-intent keywords across agents, foundation models, MCP, benchmarks, and sovereign cloud - Ensured unique titles for all model variant routes to satisfy title uniqueness gates Co-authored-by: Hanzo Dev <[email protected]>
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import type { Metadata } from 'next'
|
|
import ZenLanding from '@/components/zen/ZenLanding'
|
|
import { ProductJsonLd } from '@/components/product/ProductJsonLd'
|
|
import { at } from '@/lib/product'
|
|
import { LINEUP, NEXT } from '@/lib/zen'
|
|
|
|
// The Zen family. At the app ROOT beside /enso and /kai, so only the root layout
|
|
// wraps it and it ships the shared site chrome itself. Its layout carries the
|
|
// go-import tag, because hanzo.ai/zen is also a Go module path.
|
|
|
|
const TITLE = 'The Zen family — Hanzo AI'
|
|
const DESCRIPTION = `Open-weight foundation models for agentic coding. Download weights or run ${LINEUP} directly on Hanzo Cloud.`
|
|
|
|
export const metadata: Metadata = {
|
|
title: TITLE,
|
|
description: DESCRIPTION,
|
|
alternates: { canonical: 'https://hanzo.ai/zen' },
|
|
openGraph: {
|
|
title: TITLE,
|
|
description: DESCRIPTION,
|
|
url: 'https://hanzo.ai/zen',
|
|
siteName: 'Hanzo AI',
|
|
type: 'website',
|
|
},
|
|
twitter: { card: 'summary_large_image', title: TITLE, description: DESCRIPTION },
|
|
}
|
|
|
|
export default function ZenRoutePage() {
|
|
const product = at('/zen')
|
|
return (
|
|
<>
|
|
{product && (
|
|
<ProductJsonLd
|
|
product={product}
|
|
path="/zen"
|
|
description={DESCRIPTION}
|
|
features={[
|
|
'Open weights you can download',
|
|
`${LINEUP} available now`,
|
|
`${NEXT.name} is a research preview, with no public weights and no callable id`,
|
|
]}
|
|
/>
|
|
)}
|
|
<ZenLanding />
|
|
</>
|
|
)
|
|
}
|