10
4

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 3 years have passed since last update.

VercelにNext.jsで構築したサイトを公開したときに行うSEO対策

Posted at

Next.jsは、Vercel社が開発しているReactフレームワークであり、同じくVercel社が提供するデプロイプラットフォームでNext.js製のサイトあるいはアプリケーションをデプロイすることによって、効率よい開発が可能になります。

本記事では、Next.js製のサイトをVercelのプラットフォーム上に公開したときに行うSEO対策について整理してみました。

Trailing Slashの有無を統一する

Trailing Slashとは、URL末尾に付けるスラッシュのことです。例えば、/about/の末尾のスラッシュのことを指します。

Next.jsでつくったサイトを何も考えずにアップロードすると、Trailing SlashありのURLでもなしのURLでもページを表示できてしまいます。このような挙動になる理由は、VercelのTrailing Slashの扱いがデフォルトでは未定義となっているからです。

内容が全く同じコンテンツがごくわずかな違いではありつつも複数のURLで表示できてしまうのはサイト設計上望ましくないので、Trailing SlashありかなしかのどちらかにURLは揃えます。

設定には、まずvercel.jsonという名前の設定ファイルをプロジェクトのルートに置きます。

そして、Trailing Slashを付けないURLにそろえる場合は、

{
    "trailingSlash": false
}

のようにファイル内に記述します。これを設定するとTrailing SlashありのURLでアクセスしたときはTrailing SlashなしのURLにリダイレクトされます。

Trailing Slashを付ける場合は、

{
    "trailingSlash": true
}

のように記述します。これを設定するとTrailing SlashなしのURLでアクセスしたときはTrailing SlashありのURLにリダイレクトされます。

これを設定するときに注意しなければいけないことが1つあります。一度Trailing Slashをどちらかにそろえたら設定を反転させないようにする必要があります。というのも、リダイレクトのHTTPステータスコードが308のため、そろえた方にページ評価が永続的に渡されることになるからです。

Development URLから独自ドメインにリダイレクトを設定する

Vercelにデプロイすると、複数の[project name].vercel.appというDevelopment URLがプロジェクト内に生成されます。

どのURLも表示されるコンテンツは独自ドメインと同じソースからデプロイしているものなので、異なるURLで同じコンテンツが表示されてしまいます。

独自ドメインをVercelの管理画面上で割り当てた場合は、この[project name].vercel.appというドメインから独自ドメインにリダイレクトを設定してコンテンツの重複を防ぎます。

管理画面でのリダイレクト設定はプロジェクトのドメイン設定から行えます。ただし、プロジェクトを更新するたびにランダムに文字列が割り当てられるDeployment URLのみリダイレクトの設定はできないようになっています。

ちなみに、Development URLにはx-robots-tag: noindexが設定されているので、そもそも検索エンジンにインデックスされることはありません。ただ、ダイレクトにURLを入力すればコンテンツが表示されます。よって、何らかのきっかけでDeployment URLが良質な被リンクを大量に獲得したときの機会損失を防ぐためにリダイレクトは適切に設定しておいた方が良いと思います。

10
4
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
10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?