Gatsbyがはじめての方は下記の記事も参考にしてください。
インストール
下記コマンドでプラグインをインストールします。
react-helmetはReactのコンポーネントですが、それをGatsbyのプラグインで利用できるようにしたのがgatsby-plugin-react-helmetですね。
$ npm install --save gatsby-plugin-react-helmet react-helmetプロジェクトルートにあるgatsby-config.jsを編集してこのプラグインを使えるようにします。
module.exports = { plugins: [`gatsby-plugin-react-helmet`]}これで準備完了。
使ってみる
試しにindexページに設定してみましょう。
import React from 'react'import Helmet from "react-helmet"
export default () => ( <div> <Helmet htmlAttributes={{ lang: 'ja', }} title="Gastbyサンプル" meta={[ { name: 'description', content: 'このページはGastbyサンプルです。' } ]} /> </div>)Helmetの部分はこんな感じにタグっぽく書いてもOKです。
<Helmet> <title>Gastbyサンプル</title> <meta name="description" content="このページはGastbyサンプルです。" /> <html lang="ja" /></Helmet>外部コンポーネント化
head要素は各ページで共通で使用する部分もあるのでHelmetの部分は外部コンポーネントにした方がいいですね。
例えばsrc/components/head.jsを下記のように作成してみます。
import React from 'react'import Helmet from "react-helmet"
export default (props) => ( <Helmet htmlAttributes={{ lang: 'ja', }} title={ (props.title ? props.title + ' | ' : '') + "サイトタイトル" } meta={[ { name: 'description', content: props.description || 'Gastbyサンプル' } ]} />)あとはコンポーネントをインポートして配置するだけで使えます。
index.jsを下記のように編集してみましょう。
import React from 'react'import Head from '../components/head'
export default () => ( <div> <Head /> </div>)下層ページではpropsを設定して、細かく調節できます。
<Head title="自己紹介" description="自己紹介ページです。"/>以上、react-helmetの基本的な使い方がわかったと思いますが、react-helmetはスターターデーマによっては最初から組み込まれているのがあるので、基本的にはそちらを使用した方がいいかと思います。

