コンテンツにスキップ

クローリングとインデックス

HTTPステータスコードとは?

HTTPレスポンスステータスコードは 特定のHTTPリクエストが正常に完了したかどうかを示します。ステータスコードは多数ありますが、SEOのコンテキストで意味のあるものはほんのわずかです。では、それらを見ていきましょう。

200

HTTP 200 OK 成功ステータスレスポンスコードは、リクエストが成功したことを示します。

ページがGoogleでインデックスされるためには、ステータスコード 200を返す必要があります。これは、ページがオーガニックトラフィックを受信するために、通常は確認したいコードです。

これは、Next.jsがページを正常にレンダリングしたときに設定されるデフォルトのコードです。

301/308

HTTP 301 Moved Permanently(恒久的に移動しました) リダイレクトステータスレスポンスコードは、リクエストされたリソースが宛先URLに恒久的に移動されたことを示します。

これは恒久的なリダイレクトです。一般的に、これは最も広く使用されているリダイレクトタイプです。

リダイレクトはさまざまな理由で使用できますが、主な理由は、URLがポイントAからポイントBに移動されたことを示すことです。

コンテンツがある場所から別の場所に移動された場合、現在および潜在的なクライアントを失わないように、またボットがサイトのインデックスを継続できるように、リダイレクトが必要です。

**注:** Next.jsの恒久的なリダイレクトは、301ではなく308をデフォルトで使用します。これは新しいバージョンであり、より良いオプションと見なされるためです。

2つのステータスコードの主な違いは、 301はリクエストメソッドを POSTからGETに変更することを許可しますが、 308は許可しません。

`getStaticProps()`関数でpropsの代わりにリダイレクトを返すことにより、Next.jsで308リダイレクトをトリガーできます。

//  pages/about.js
export async function getStaticProps(context) {
  return {
    redirect: {
      destination: '/',
      permanent: true, // triggers 308
    },
  };
}

next.config.jsで設定されたリダイレクトでpermanent: trueキーを使用することもできます。

//next.config.js

module.exports = {
  async redirects() {
    return [
      {
        source: '/about',
        destination: '/',
        permanent: true, // triggers 308
      },
    ];
  },
};

302

HTTP 302 Foundリダイレクトステータスレスポンスコードは、リクエストされたリソースが宛先URLに一時的に移動されたことを示します。

ほとんどの場合、302リダイレクトは 301リダイレクトにする必要があります。ユーザーを特定のページ(例:プロモーションページ)に一時的にリダイレクトする場合、または場所に基づいてユーザーをリダイレクトする場合は、そうではない場合があります。

404

HTTP 404 Not Found クライアントエラーレスポンスコードは、サーバーがリクエストされたリソースを見つけられないことを示します。

上記のように、移動されたページは、 HTTP 301ステータスコードを使用して新しい場所にリダイレクトする必要があります。これが発生しない場合、URLは404ステータスコードを返す可能性があります。

404ステータスコードは、デフォルトでは必ずしも悪いわけではありません。ユーザーが存在しないURLにアクセスした場合に望ましい結果ですが、ページ内で頻繁にエラーが発生すると、検索ランキングが低下する可能性があるため、頻繁に発生するエラーであってはなりません。

Next.jsは、アプリケーションに存在しないURLに対して404ステータスコードを自動的に返します。

場合によっては、404を返すこともできますページからのステータスコード。これは、propsの代わりに以下を返すことで実行できます

export async function getStaticProps(context) {
  return {
    notFound: true, // triggers 404
  };
}

あなたはできます カスタム404ページを作成する ビルド時に静的に生成される pages/404.js.

// pages/404.js
export default function Custom404() {
  return <h1>404 - Page Not Found</h1>;
}

410

HTTP 410 Gone(消えました) クライアントエラーレスポンスコードは、オリジンサーバーでターゲットリソースへのアクセスが利用できなくなり、この状態が永続的である可能性が高いことを示します。

これはあまり使用されませんが、Webサイトで今後存在しないコンテンツを削除する場合は、このステータスコードを探す必要があるかもしれません。

HTTP 410 Goneの使用が賢明な例としては、次のとおりです。

  • **eコマース**: 在庫から恒久的に削除された製品。
  • **フォーラム**: ユーザーによって削除されたスレッド。
  • **ブログ**: サイトから削除されたブログ投稿。

このステータスコードは、ボットにこのコンテンツのクロールに戻るべきではないことを通知します。

500

HTTP 500 Internal Server Error(内部サーバーエラー) レスポンスコードは、サーバーがリクエストを処理できない予期しない状態に遭遇したことを示します。

Next.jsは、予期しないアプリケーションエラーに対して500ステータスコードを自動的に返します。あなたはできます カスタム500エラーページを作成する ビルド時に静的に生成される pages/500.js.

// pages/500.js
export default function Custom500() {
  return <h1>500 - Server-side error occurred</h1>;
}

503

HTTP 503 Service Unavailable(サービス利用不可) サーバーエラーレスポンスコードは、サーバーがリクエストを処理する準備ができていないことを示します。

Webサイトがダウンしており、Webサイトが長期間ダウンすると予測される場合は、このステータスコードを返すことをお勧めします。これにより、長期的にランキングが失われるのを防ぎます。


クイックレビュー

ページが新しいURLに移動されたことを示すステータスコードはどれですか?