UNPKG

@spoolcms/nextjs

Version:

The beautiful headless CMS for Next.js developers

20 lines (19 loc) 2.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SpoolSEO = SpoolSEO; const jsx_runtime_1 = require("react/jsx-runtime"); const head_1 = __importDefault(require("next/head")); /** * SEO component for Pages Router * @deprecated Use generateSpoolMetadata for App Router instead */ function SpoolSEO({ content, collection, path, siteUrl = '' }) { const title = content.data?.seoTitle || content.data?.title || 'Untitled'; const description = content.data?.seoDescription || content.data?.description || content.data?.excerpt || ''; const canonicalUrl = content.data?.canonicalUrl || `${siteUrl}${path}`; const ogImage = content.data?.ogImage || `${siteUrl}/api/og?title=${encodeURIComponent(title)}`; return ((0, jsx_runtime_1.jsxs)(head_1.default, { children: [(0, jsx_runtime_1.jsx)("title", { children: title }), (0, jsx_runtime_1.jsx)("meta", { name: "description", content: description }), (0, jsx_runtime_1.jsx)("meta", { property: "og:title", content: content.data?.ogTitle || title }), (0, jsx_runtime_1.jsx)("meta", { property: "og:description", content: content.data?.ogDescription || description }), (0, jsx_runtime_1.jsx)("meta", { property: "og:image", content: ogImage }), (0, jsx_runtime_1.jsx)("meta", { property: "og:url", content: canonicalUrl }), (0, jsx_runtime_1.jsx)("meta", { property: "og:type", content: "article" }), (0, jsx_runtime_1.jsx)("meta", { name: "twitter:card", content: "summary_large_image" }), (0, jsx_runtime_1.jsx)("meta", { name: "twitter:title", content: title }), (0, jsx_runtime_1.jsx)("meta", { name: "twitter:description", content: description }), (0, jsx_runtime_1.jsx)("meta", { name: "twitter:image", content: ogImage }), (0, jsx_runtime_1.jsx)("link", { rel: "canonical", href: canonicalUrl }), content.data?.noIndex && (0, jsx_runtime_1.jsx)("meta", { name: "robots", content: "noindex, nofollow" })] })); }