refactor: update schema handling and improve SEO metadata
- Changed schema type from WithContext<Thing> to Thing[] in Head, BaseLayout, and JsonLd components for better flexibility. - Added optional robots meta tag to Head component. - Updated JSON-LD generation in JsonLd component to include a structured payload. - Enhanced page and blog schemas to support breadcrumb and person schemas for improved SEO. - Introduced new utility schemas for website and person to streamline schema generation. - Refactored existing schemas to align with the new structure and ensure consistency across components.
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
import type { Person } from "schema-dts";
|
||||
import { config } from "../../config";
|
||||
import { personId } from "./ids";
|
||||
|
||||
export type PersonSchemaParams = {
|
||||
readonly siteUrl: string;
|
||||
};
|
||||
|
||||
export default ({ siteUrl }: PersonSchemaParams): Person => ({
|
||||
"@type": "Person",
|
||||
"@id": personId(siteUrl),
|
||||
"name": config.author.name,
|
||||
"url": config.author.url,
|
||||
"email": config.author.email,
|
||||
"image": new URL(config.og.defaultPreview, siteUrl).toString(),
|
||||
"sameAs": config.author.sameAs,
|
||||
});
|
||||
Reference in New Issue
Block a user