react-seo-component
v2.0.2
Published
[![CodeFactor](https://www.codefactor.io/repository/github/spences10/react-seo-component/badge)](https://www.codefactor.io/repository/github/spences10/react-seo-component) ![bundlephobia min](https://badgen.net/bundlephobia/min/react-seo-component) ![bund
Downloads
324
Maintainers
Readme
React SEO Component
Use it for adding canonical links, metadata and OpenGraph information to your React projects!
Use it!
Install it from npm!
yarn add react-seo-component
# peer dependency of react helmet
yarn add react-helmet
If you are using it with Gatsby you will also need to install the Gatsby plugin:
yarn add react-seo-component
yarn add react-helmet
yarn add gatsby-plugin-react-helmet
# or in one command
yarn add react-seo-component react-helmet gatsby-plugin-react-helmet
This will create the meta tags at build time.
Examples:
For an index page:
<SEO
title={title}
titleTemplate={siteName}
titleSeparator={`-`}
description={description || 'nothin’'}
image={image}
pathname={siteUrl}
siteLanguage={siteLanguage}
siteLocale={siteLocale}
twitterUsername={twitterUsername}
/>
For a blog post:
<SEO
title={title}
titleTemplate={siteName}
titleSeparator={`-`}
description={description}
image={image}
pathname={siteUrlPlusSlug}
siteLanguage={siteLanguage}
siteLocale={siteLocale}
twitterUsername={twitterUsername}
author={authorName}
article={true}
publishedDate={createdDate}
modifiedDate={updatedDate}
/>
Props
| Prop | Type | Default |
| --------------- | ------------------------------- | ------------ |
| title | Page title | '' |
| titleTemplate | Page Title + Site title | '' |
| titleSeparator | Between Page Title + Site title | · |
| description | Page description | '' |
| pathname | Full Page URL | '' |
| article | article
or website
| website
|
| image | Full image URL | '' |
| siteLanguage | Content Language | en
|
| siteLocale | Content Locale | en_gb
|
| twitterUsername | can be empty | '' |
| author | can not be empty | 'J Doe' |
| datePublished | ISO date string | Date.now()
|
| dateModified | ISO date string | Date.now()
|
To test locally
Use npm pack
or yarn pack
to create a .tgz
of the project you
can install locally on your project to test with.
# from here
yarn pack
# copy to project to test
cp react-seo-component-2.0.1.tgz ../project-to-test-with/
# ~/project-to-test-with
yarn add file:react-seo-component-2.0.1.tgz
Thanks:
LekoArts for the initial components detailed in his Gatsby Prismic starter.
Leigh Halliday for the primer video on using TSDX
Jared Palmer for TSDX
Resources
https://medium.com/recraftrelic/building-a-react-component-as-a-npm-module-18308d4ccde9
https://github.com/recraftrelic/dummy-react-npm-module/blob/master/package.json