mirror of
https://github.com/hanzo-apps/hanzo.ai.git
synced 2026-10-30 14:58:08 +00:00
page-meta.ts records this class at 33 of 53 URLs in August. Measured against the live site today it is 12 of 136, and they are not one problem but two — which is why they get two answers rather than a title each. Six only forward the reader: /defi to /blockchain, /fintech to /payments, /soc2 to /trust, /sentry to /sentinel, /docs and /status to their own hosts. Left pointing at itself each is a second empty URL competing with the page that holds the words, so each names its destination as canonical and consolidates into it. Six sit behind a sign-in, where a crawler sees the signed-out shell and never the account. Those are kept out of the index, links still followed. Two needed more than a layout. /status carried the go-import tag and nothing else, so a Go module path had no title; it now carries both, and the canonical says nothing to `go get`, which reads the tag. /account's layout is itself a client component and can export no metadata at all — the frame moves to _frame.tsx with every word intact and the server half holds only the metadata. pageMeta gains exactly the two facts these need. They are documented as mutually exclusive: one says consolidate, the other says forget, and a crawler handed both honours neither.
25 lines
988 B
TypeScript
25 lines
988 B
TypeScript
import type { Metadata } from 'next'
|
|
|
|
import { goImport } from '@/lib/go-modules'
|
|
import { pageMeta } from '@/lib/page-meta'
|
|
|
|
// This path is two things at once: the import path of a Go module, and a page
|
|
// that forwards a reader to the live status board. The page is a client
|
|
// component and can carry neither fact, so the segment's layout carries both.
|
|
//
|
|
// It used to carry only the go-import tag, which is invisible to a reader — so
|
|
// the page had no title of its own and served the root's. The canonical names
|
|
// status.hanzo.ai because that is where the availability actually is; it says
|
|
// nothing to `go get`, which reads the tag below and not the canonical.
|
|
export const metadata: Metadata = pageMeta({
|
|
title: 'Status',
|
|
description: 'Live availability for every Hanzo service.',
|
|
path: '/status',
|
|
canonical: 'https://status.hanzo.ai',
|
|
other: goImport('status'),
|
|
})
|
|
|
|
export default function Layout({ children }: { children: React.ReactNode }) {
|
|
return children
|
|
}
|