0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GatsbyJS にNetlify設定ファイルを設置する

Posted at

Netlifyのデフォルトドメインについて

Netlifyではサイトをデプロイした時、[name-of-your-site].netlify.appというドメインが自動で割り当てられます。
自分で取得したドメインをカスタムドメインとして設定したいことが多々あると思いますが、カスタムドメインを設定しても、[name-of-your-site].netlify.appというドメインは存在し続けるので、SEOで重複コンテンツとならないために、主に下記の対応をする必要があります。

  • [name-of-your-site].netlify.appのHTTPレスポンスヘッダーにX-Robots-Tag: noindexを付与する。
  • [name-of-your-site].netlify.appをカスタムドメインに301リダイレクトさせる(恒久的リダイレクト)

Netlifyには、公開ディレクトリのルートに_headers_redirectsという設定ファイルを置くことで、
HTTPヘッダーやリダイレクトの設定を行うことができます。

Custom headers | Netlify Docs

Redirects and rewrites | Netlify Docs

また、同じくルートディレクトリにnetlify.tomlファイルを設置することで、headersやredirectsをまとめて設定することも出来ます。

コミュニティの回答

上記の[name-of-your-site].netlify.appのSEO上の解決策は、Netlifyのコミュニティでも議論されています。

Disabling X-ROBOTS-TAG header on hosted site - Support - Netlify Community

Netlify.app and netlify.com subdomains are showing in Google search results - Support - Netlify Community

GatsbyJSにNetlifyの設定を追加する

プラグイン

GatsbyJSでは、NetlifyのHeadersやRedirectsを設定するためのオフィシャルプラグインが公開されています。

gatsby-plugin-netlify

自分は、上記プラグインが上手く使いこなせず苦労しました。
(Gatsby Cloudでビルド→Netlifyにデプロイする構成)

まず、Headersで[name-of-your-site].netlify.appX-Robots-Tag: noindexを付与する方法を試みましたが、設定したカスタムドメインの方にもX-Robots-Tag: noindexが付与されてしまい、Headersでの設定は諦めました。

次に、Redirectsで301リダイレクトをさせようと思ったのですが、「このプラグインは相対パスしか正常に処理しないのでは?」という疑念が出てきたので、別の方法にシフトしました。

publicフォルダにNetlify設定ファイルを置く

下記記事が救いになりました。

How To Add Netlify Redirects To A Gatsby Site | by Konstantin Münster | Level Up Coding

GatsbyJSのpublicフォルダは、ビルド処理が走ったファイルが出力されるので、直接ファイルを置いておけません。

上記記事では、staticフォルダに_redirectsファイルを設置することでビルド処理後のpublicフォルダに_redirectsファイルを含めています。

staticフォルダに保存されたファイルは、publicフォルダにそのままコピーされます。

You can create a folder named static at the root of your project. Every file you put into that folder will be copied into the public folder. E.g. if you add a file named sun.jpg to the static folder, it’ll be copied to public/sun.jpg

Using the Static Folder

ドキュメン内にNetlify設定ファイルを置く用途としての記載はありませんが、自分はstaticフォルダに301リダイレクトの設定を記述したnetlify.tomlを設置することで、デプロイ後の[name-of-your-site].netlify.appで正常にリダイレクトが行われました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?