Add schema.org for blog posts
This commit is contained in:
@@ -4,39 +4,92 @@ import ImgIntro from '../images/web-development-company.svg'
|
|||||||
|
|
||||||
class SEO extends Component {
|
class SEO extends Component {
|
||||||
render() {
|
render() {
|
||||||
const { siteTitle, siteDescription, siteImage, siteUrl} = this.props
|
const { siteTitle, siteDescription, siteImage, siteUrl, postSEO } = this.props
|
||||||
|
|
||||||
let title = siteTitle ? siteTitle : 'Saburly - App Development & Mobile Design agency that makes you stand out'
|
let title = siteTitle
|
||||||
let desc = siteDescription ? siteDescription : 'We are in the business of solving real-world problems with digital solutions. Our mission is to make you stand out with the help of modern technologies'
|
? siteTitle
|
||||||
|
: 'Saburly - App Development & Mobile Design agency that makes you stand out'
|
||||||
|
let desc = siteDescription
|
||||||
|
? siteDescription
|
||||||
|
: 'We are in the business of solving real-world problems with digital solutions. Our mission is to make you stand out with the help of modern technologies'
|
||||||
let img = siteImage ? siteImage : ImgIntro
|
let img = siteImage ? siteImage : ImgIntro
|
||||||
|
let blogUrl = 'https://www.saburly.com/blog'
|
||||||
|
let pageUrl = siteUrl ? siteUrl : 'https://www.saburly.com'
|
||||||
|
|
||||||
|
const schemaOrgJSONLD = [
|
||||||
|
{
|
||||||
|
'@context': 'http://schema.org',
|
||||||
|
'@type': 'WebSite',
|
||||||
|
url: blogUrl,
|
||||||
|
name: title,
|
||||||
|
alternateName:
|
||||||
|
'Saburly - App Development & Mobile Design agency that makes you stand out',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
if (postSEO) {
|
||||||
|
schemaOrgJSONLD.push(
|
||||||
|
{
|
||||||
|
'@context': 'http://schema.org',
|
||||||
|
'@type': 'BreadcrumbList',
|
||||||
|
itemListElement: [
|
||||||
|
{
|
||||||
|
'@type': 'ListItem',
|
||||||
|
position: 1,
|
||||||
|
item: {
|
||||||
|
'@id': pageUrl,
|
||||||
|
name: title,
|
||||||
|
image,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'@context': 'http://schema.org',
|
||||||
|
'@type': 'BlogPosting',
|
||||||
|
url: blogURL,
|
||||||
|
name: title,
|
||||||
|
alternateName:
|
||||||
|
'Saburly - App Development & Mobile Design agency that makes you stand out',
|
||||||
|
headline: title,
|
||||||
|
image: {
|
||||||
|
'@type': 'ImageObject',
|
||||||
|
url: img,
|
||||||
|
},
|
||||||
|
desc,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Helmet>
|
<Helmet>
|
||||||
<title>
|
<title>{title}</title>
|
||||||
{title}
|
<meta name="description" content={desc} />
|
||||||
</title>
|
<meta name="image" content={img} />
|
||||||
<meta name="description" content={desc} />
|
|
||||||
<meta name="image" content={img} />
|
<script type="application/ld+json">
|
||||||
|
{JSON.stringify(schemaOrgJSONLD)}
|
||||||
<meta name="og:title" content={title} />
|
</script>
|
||||||
<meta name="og:description" content={desc} />
|
|
||||||
<meta name="og:image" content={img} />
|
<meta name="og:title" content={title} />
|
||||||
<meta name="og:url" content={siteUrl ? siteUrl : 'https://www.saburly.com'} />
|
<meta name="og:description" content={desc} />
|
||||||
<meta name="og:site_name" content="Saburly.com" />
|
<meta name="og:image" content={img} />
|
||||||
<meta name="fb:app_id" content="1896398823783343" />
|
<meta name="og:url" content={siteUrl ? siteUrl : blogUrl} />
|
||||||
<meta name="og:type" content="website" />
|
<meta name="og:site_name" content="Saburly.com" />
|
||||||
|
<meta name="fb:app_id" content="1896398823783343" />
|
||||||
<meta itemprop="name" content={title} />
|
<meta name="og:type" content="website" />
|
||||||
<meta itemprop="description" content={desc} />
|
|
||||||
<meta itemprop="image" content={img} />
|
<meta itemprop="name" content={title} />
|
||||||
|
<meta itemprop="description" content={desc} />
|
||||||
<meta name="twitter:card" content="summary" />
|
<meta itemprop="image" content={img} />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary" />
|
||||||
<meta name="twitter:title" content={title} />
|
<meta name="twitter:title" content={title} />
|
||||||
<meta name="twitter:description" content={desc} />
|
<meta name="twitter:description" content={desc} />
|
||||||
<meta name="twitter:site" content="@saburly" />
|
<meta name="twitter:site" content="@saburly" />
|
||||||
<meta name="twitter:creator" content="@saburly" />
|
<meta name="twitter:creator" content="@saburly" />
|
||||||
<meta name="twitter:image:src" content={img} />
|
<meta name="twitter:image:src" content={img} />
|
||||||
</Helmet>
|
</Helmet>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class PostDefault extends Component {
|
|||||||
const { data } = this.props
|
const { data } = this.props
|
||||||
return (
|
return (
|
||||||
<PageTransition>
|
<PageTransition>
|
||||||
<SEO siteTitle={data.wordpressPost.title} siteDescription="We are always on a lookout for exciting challenges. Feel free to contact us if you want to start something great or just have any questions" siteImage={data.wordpressPost.featured_media.source_url} siteUrl={`https://www.saburly.com/blog/${data.wordpressPost.slug}`} />
|
<SEO postSEO siteTitle={data.wordpressPost.title} siteDescription="We are always on a lookout for exciting challenges. Feel free to contact us if you want to start something great or just have any questions" siteImage={data.wordpressPost.featured_media.source_url} siteUrl={`https://www.saburly.com/blog/${data.wordpressPost.slug}`} />
|
||||||
<Helmet
|
<Helmet
|
||||||
link={[
|
link={[
|
||||||
{ rel: 'shortcut icon', type: 'image/png', href: `${favicon32}` },
|
{ rel: 'shortcut icon', type: 'image/png', href: `${favicon32}` },
|
||||||
|
|||||||
Reference in New Issue
Block a user