diff --git a/gatsby-config.js b/gatsby-config.js index a09077e..937ce6a 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -7,9 +7,10 @@ module.exports = { siteMetadata: { title: 'devthread.ru', + siteName: 'Cборник статей и руководств - devthread.ru', titleTemplate: '%s · статьи и руководства по веб-разработке', - description: 'сборник статей и руководств по тематике веб-разработки и IT для того чтобы помочь вам', - url: 'https://devthread.ru', + description: 'Cборник статей и руководств по тематике веб-разработки и IT для того чтобы помочь вам', + url: 'https://devthread.netlify.app', menuLinks: [ { name: 'Статьи', diff --git a/src/components/Article/Article.js b/src/components/Article/Article.js index 744bbc1..7a2166d 100644 --- a/src/components/Article/Article.js +++ b/src/components/Article/Article.js @@ -2,6 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types' import SEO from '../SEO/SEO' import Img from "gatsby-image" +import useSiteMetadataQuery from '../../hooks/useSiteMetadataQuery' import slugify from '../../helpers/slugify' import { Link } from 'gatsby' import './Article.scss' @@ -12,9 +13,11 @@ import TwitterIcon from '../../images/twitter-icon__large.svg' import FacebookIcon from '../../images/facebook-icon__large.svg' const Article = ({ data: { slug, title, image, description, category, tags, time, date }, html }) => { + const { siteMetadata: { siteUrl } } = useSiteMetadataQuery() + return ( <> - +
@@ -42,13 +45,13 @@ const Article = ({ data: { slug, title, image, description, category, tags, time
Поделиться: diff --git a/src/components/SEO/SEO.js b/src/components/SEO/SEO.js index 17f6ea9..7d7ac30 100644 --- a/src/components/SEO/SEO.js +++ b/src/components/SEO/SEO.js @@ -4,12 +4,15 @@ import PropTypes from 'prop-types' import { Helmet } from 'react-helmet' import { useLocation } from '@reach/router' -const SEO = ({ title, description }) => { +const SEO = ({ title, description, image, type }) => { const { pathname } = useLocation() const { siteMetadata } = useSiteMetadataQuery() const seo = { title: title || siteMetadata.title, + siteName: siteMetadata.siteName, + type: type || 'website', + image: image || 'custom image url...', description: description || siteMetadata.description, url: `${siteMetadata.siteUrl}${pathname}` } @@ -17,7 +20,16 @@ const SEO = ({ title, description }) => { return ( + + + {seo.type && ( + + )} + {seo.image && ( + + )} {seo.description && ( )} diff --git a/src/hooks/useSiteMetadataQuery.js b/src/hooks/useSiteMetadataQuery.js index 33033a6..e568e80 100644 --- a/src/hooks/useSiteMetadataQuery.js +++ b/src/hooks/useSiteMetadataQuery.js @@ -7,6 +7,7 @@ const useSiteMetadata = () => { siteMetadata { title titleTemplate + siteName description siteUrl: url menuLinks {