gatsby-plugin-react-helmet
Provides drop-in support for server rendering data added with React Helmet.
React Helmet is a component which lets you control your document head using their React component.
With this plugin, attributes you add in their component, e.g. title, meta attributes, etc. will get added to the static HTML pages Gatsby builds.
This is important not just for site viewers, but also for SEO — title and description metadata stored in the document head is a key component used by Google in determining placement in search results.
⚠️ This package will be deprecated
The gatsby-plugin-react-helmet
package will be deprecated in the future. The new Gatsby Head API is easier to use, more performant, has a smaller bundle size, and supports the latest React features. Update to gatsby@^4.19.0
to use it.
Install
npm install gatsby-plugin-react-helmet react-helmet
How to use
Just add the plugin to the plugins array in your gatsby-config.js
plugins: [`gatsby-plugin-react-helmet`]
Titles don’t appear when opening in the background, while using gatsby-plugin-offline
If you’re using gatsby-plugin-offline
, you might notice that when opening a link in the background, the title doesn’t appear in the tab bar until switching to that tab. This is an upstream issue with React Helmet; however, it can be worked around by passing the defer={false}
prop into your Helmet
component. For example:
<Helmet title="foo bar" defer={false} />
Compatibility with React 16.8 useEffect hook
If you are using this plugin with React hooks, you may notice some errors like maximum call stack size exceeded
. To ensure everything is running smoothly when using these technologies together, make sure to validate the following:
- You have updated to the latest version of
gatsby-plugin-react-helmet
- You are using version 6.0.0-beta or later of
react-helmet
- You are importing React Helmet using
import { Helmet } from 'react-helmet'
rather than the oldimport Helmet from 'react-helmet'