diff --git a/src/components/seo/WebsiteJsonLd.tsx b/src/components/seo/WebsiteJsonLd.tsx new file mode 100644 index 0000000..7ac7260 --- /dev/null +++ b/src/components/seo/WebsiteJsonLd.tsx @@ -0,0 +1,27 @@ +import JsonLd from './JsonLd' + +const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL || 'https://example.com' +const SITE_NAME = process.env.NEXT_PUBLIC_SITE_NAME || 'My Personal Site' + +/** + * Renders Schema.org WebSite + SearchAction structured data. + * Place this in your root layout or homepage. + */ +export default function WebsiteJsonLd() { + const data = { + '@context': 'https://schema.org', + '@type': 'WebSite', + name: SITE_NAME, + url: SITE_URL, + potentialAction: { + '@type': 'SearchAction', + target: { + '@type': 'EntryPoint', + urlTemplate: `${SITE_URL}/blog?q={search_term_string}`, + }, + 'query-input': 'required name=search_term_string', + }, + } + + return +}