import Head from 'next/head' import { useRouter } from 'next/router' import siteMetadata from '@/data/siteMetadata' export const PageSeo = ({ title, description, taxonomy }) => { const router = useRouter() return ( {title} {taxonomy && ( )} ) } export const BlogSeo = ({ authorDetails, title, summary, date, lastmod, url, images = [] }) => { const router = useRouter() const publishedAt = new Date(date).toISOString() const modifiedAt = new Date(lastmod || date).toISOString() let imagesArr = images.length === 0 ? [siteMetadata.socialBanner] : typeof images === 'string' ? [images] : images const featuredImages = imagesArr.map((img) => { return { '@type': 'ImageObject', url: `${siteMetadata.siteUrl}${img}`, } }) let authorList if (authorDetails) { authorList = authorDetails.map((author) => { return { '@type': 'Person', name: author.name, } }) } else { authorList = { '@type': 'Person', name: siteMetadata.author, } } const structuredData = { '@context': 'https://schema.org', '@type': 'Article', mainEntityOfPage: { '@type': 'WebPage', '@id': url, }, headline: title, image: featuredImages, datePublished: publishedAt, dateModified: modifiedAt, author: authorList, publisher: { '@type': 'Organization', name: siteMetadata.author, logo: { '@type': 'ImageObject', url: `${siteMetadata.siteUrl}${siteMetadata.siteLogo}`, }, }, description: summary, } return ( <> {title} {featuredImages.map((img) => ( ))} {date && } {lastmod && }