Files
school_compare/nextjs-app/lib/jsonld.ts
T

34 lines
1.1 KiB
TypeScript
Raw Normal View History

2026-09-02 16:22:52 +01:00
import { SITE_URL, absoluteUrl } from '@/lib/site';
/**
* The site's author entity.
*
* First name only, by choice — see /about. That makes this a weaker search
* signal than a fully identified author would be, which is why the About page
* carries a substantial methodology section: the credibility has to come from
* stated provenance rather than from a corroborable identity.
*
* Everything that needs an author — the About page, every post byline —
* references this one shape, so search engines resolve them all to one entity.
*/
export function personJsonLd() {
return {
'@type': 'Person',
'@id': `${SITE_URL}/about#tudor`,
name: 'Tudor',
url: absoluteUrl('/about'),
image: absoluteUrl('/brand/tudor.jpg'),
description:
'Parent in south-west London who built schoolcompare while looking for a primary school.',
} as const;
}
export function organizationJsonLd() {
return {
'@type': 'Organization',
'@id': `${SITE_URL}#organization`,
name: 'schoolcompare',
url: SITE_URL,
logo: absoluteUrl('/icon-512.png'),
} as const;
}