44 lines
1.0 KiB
JavaScript
44 lines
1.0 KiB
JavaScript
|
import { NextSeo, ArticleJsonLd } from 'next-seo'
|
|||
|
import siteMetadata from '@/data/siteMetadata'
|
|||
|
|
|||
|
const BlogSeo = ({ title, summary, date, url, image }) => {
|
|||
|
const publishedAt = new Date(date).toISOString()
|
|||
|
const featuredImage = {
|
|||
|
url: `${siteMetadata.url}${image}`,
|
|||
|
alt: title,
|
|||
|
}
|
|||
|
|
|||
|
return (
|
|||
|
<>
|
|||
|
<NextSeo
|
|||
|
title={`${title} – ${siteMetadata.title}`}
|
|||
|
description={summary}
|
|||
|
canonical={url}
|
|||
|
openGraph={{
|
|||
|
type: 'article',
|
|||
|
article: {
|
|||
|
publishedTime: publishedAt,
|
|||
|
},
|
|||
|
url,
|
|||
|
title,
|
|||
|
description: summary,
|
|||
|
images: [featuredImage],
|
|||
|
}}
|
|||
|
/>
|
|||
|
<ArticleJsonLd
|
|||
|
authorName={siteMetadata.author}
|
|||
|
dateModified={publishedAt}
|
|||
|
datePublished={publishedAt}
|
|||
|
description={summary}
|
|||
|
images={[featuredImage]}
|
|||
|
publisherLogo="/static/favicons/android-chrome-192x192.png"
|
|||
|
publisherName={siteMetadata.author}
|
|||
|
title={title}
|
|||
|
url={url}
|
|||
|
/>
|
|||
|
</>
|
|||
|
)
|
|||
|
}
|
|||
|
|
|||
|
export default BlogSeo
|