@@ -2,7 +2,7 @@ import Head from 'next/head'
22import { useRouter } from 'next/router'
33import siteMetadata from '@/data/siteMetadata'
44
5- const CommonSEO = ( { title, description, ogType, ogImage, twImage } ) => {
5+ const CommonSEO = ( { title, description, ogType, ogImage, twImage, canonicalUrl } ) => {
66 const router = useRouter ( )
77 return (
88 < Head >
@@ -24,6 +24,10 @@ const CommonSEO = ({ title, description, ogType, ogImage, twImage }) => {
2424 < meta name = "twitter:title" content = { title } />
2525 < meta name = "twitter:description" content = { description } />
2626 < meta name = "twitter:image" content = { twImage } />
27+ < link
28+ rel = "canonical"
29+ href = { canonicalUrl ? canonicalUrl : `${ siteMetadata . siteUrl } ${ router . asPath } ` }
30+ />
2731 </ Head >
2832 )
2933}
@@ -67,7 +71,16 @@ export const TagSEO = ({ title, description }) => {
6771 )
6872}
6973
70- export const BlogSEO = ( { authorDetails, title, summary, date, lastmod, url, images = [ ] } ) => {
74+ export const BlogSEO = ( {
75+ authorDetails,
76+ title,
77+ summary,
78+ date,
79+ lastmod,
80+ url,
81+ images = [ ] ,
82+ canonicalUrl,
83+ } ) => {
7184 const router = useRouter ( )
7285 const publishedAt = new Date ( date ) . toISOString ( )
7386 const modifiedAt = new Date ( lastmod || date ) . toISOString ( )
@@ -133,11 +146,11 @@ export const BlogSEO = ({ authorDetails, title, summary, date, lastmod, url, ima
133146 ogType = "article"
134147 ogImage = { featuredImages }
135148 twImage = { twImageUrl }
149+ canonicalUrl = { canonicalUrl }
136150 />
137151 < Head >
138152 { date && < meta property = "article:published_time" content = { publishedAt } /> }
139153 { lastmod && < meta property = "article:modified_time" content = { modifiedAt } /> }
140- < link rel = "canonical" href = { `${ siteMetadata . siteUrl } ${ router . asPath } ` } />
141154 < script
142155 type = "application/ld+json"
143156 dangerouslySetInnerHTML = { {
0 commit comments