HTTPレスポンスステータスコードは 特定のHTTPリクエストが正常に完了したかどうかを示します。ステータスコードは多数ありますが、SEOのコンテキストで意味のあるものはほんのわずかです。では、それらを見ていきましょう。
HTTP 200 OK
成功ステータスレスポンスコードは、リクエストが成功したことを示します。
ページがGoogleでインデックスされるためには、ステータスコード 200
を返す必要があります。これは、ページがオーガニックトラフィックを受信するために、通常は確認したいコードです。
これは、Next.jsがページを正常にレンダリングしたときに設定されるデフォルトのコードです。
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
},
];
},
};
HTTP 302 Found
リダイレクトステータスレスポンスコードは、リクエストされたリソースが宛先URLに一時的に移動されたことを示します。
ほとんどの場合、302
リダイレクトは 301
リダイレクトにする必要があります。ユーザーを特定のページ(例:プロモーションページ)に一時的にリダイレクトする場合、または場所に基づいてユーザーをリダイレクトする場合は、そうではない場合があります。
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>;
}
HTTP 410 Gone(消えました)
クライアントエラーレスポンスコードは、オリジンサーバーでターゲットリソースへのアクセスが利用できなくなり、この状態が永続的である可能性が高いことを示します。
これはあまり使用されませんが、Webサイトで今後存在しないコンテンツを削除する場合は、このステータスコードを探す必要があるかもしれません。
HTTP 410 Gone
の使用が賢明な例としては、次のとおりです。
このステータスコードは、ボットにこのコンテンツのクロールに戻るべきではないことを通知します。
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>;
}
HTTP 503 Service Unavailable(サービス利用不可)
サーバーエラーレスポンスコードは、サーバーがリクエストを処理する準備ができていないことを示します。
Webサイトがダウンしており、Webサイトが長期間ダウンすると予測される場合は、このステータスコードを返すことをお勧めします。これにより、長期的にランキングが失われるのを防ぎます。