Next.js : App Router で noindex を設定する方法

要約
Next.js の App Router を使って、layout.tsx において、特定のページに noindex を設定する方法について解説します。`metadata` オブジェクトを使って、robots を指定し、検索エンジンにインデックスさせないようにします。
意見はこのエリアに表示されます

どうもこんにちは、アプリケーションを開発しているフロントエンドエンジニアです。今回は Next.js の App Router において noindex を設定する汎用的な方法について、覚書を兼ねてお伝えしようと思います。

noindex とは

noindex とは、検索エンジンにページをインデックスさせないための指示です。検索結果にページを表示したくない場合に使用します。例えば、ユーザーの個人ページや管理画面など、検索に載せる必要がないページには noindex を設定するのが一般的です。Next.js では、metadata オブジェクトで簡単にこの設定が行えます。

Metadata オブジェクトについては、

Metadata は、アプリケーションのメタデータ(例:HTML の head 要素内の meta タグや link タグ)を定義するための Metadata API 。SEO や Web のシェア性を向上させることができる

とのことです。詳しくは以下のリンクを参照してください。

layout.tsx での noindex の設定

例えば、マイページの noindex を設定したい場合、layout.tsx ファイルで以下のように記述します。このコードは、Google を含む検索エンジンのクローラーにインデックスしないよう指示を出します。openGraph 等は書いても書かなくてもどちらでもよいかと思います。

このように設定することで、metadata オブジェクトに robots プロパティを追加し、index: false を指定することで noindex の設定を行っています。さらに、googleBot プロパティで Google クローラーにも特定の動作を指示できます。

おわりに

noindex の設定は、ユーザーにとって必要ないページが検索結果に表示されるのを防ぐために非常に重要です。特に、プライベートな情報や管理用のページなど、公開する必要がないページには必ず設定しておきましょう。

Next.js の App Router を使った noindex の設定方法は非常にシンプルで、metadata オブジェクトに適切なプロパティを追加するだけでしたね。

今後も、Next.js を使った開発のノウハウを共有していければと思います。それでは、また次回の記事でお会いしましょう。

Explore More
関連記事はありません。