Files
hanzo.ai/app/zen/page.tsx
zooqueenandHanzo Dev e763b034e2 seo: cut homepage description by 1/3 and optimize page descriptions across the site
- 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]>
2026-10-16 16:09:35 -07:00

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 />
</>
)
}