読み込み中...

JavaScriptで簡単!404リダイレクトの方法5選

JavaScriptで簡単に実現できる404リダイレクトの方法を解説する記事のサムネイル画像 JS
この記事は約5分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読めば、JavaScriptを使って404リダイレクトを実現できるようになります。

初心者でも分かりやすいように、リダイレクトの基本から方法5選まで詳しく解説していきます。

それぞれの方法にはサンプルコードも付いているので、すぐに試してみることができます。

●JavaScriptと404リダイレクトの基本

○404リダイレクトとは

404リダイレクトとは、ユーザーが存在しないページにアクセスした際、自動的に別のページにリダイレクト(転送)することです。

これにより、ユーザーが迷子になることなく、正しいページに誘導することができます。

○JavaScriptによるリダイレクトの利点

JavaScriptを使ったリダイレクトは、簡単に実装できるだけでなく、柔軟性が高く、ブラウザ側で処理されるため、サーバーへの負荷が少ないというメリットがあります。

●JavaScriptを使った404リダイレクトの方法5選

○方法1:window.locationを使ったリダイレクト

このコードでは、window.locationを使ってリダイレクトを実現しています。

この例では、存在しないページにアクセスした場合、トップページにリダイレクトしています。

if (document.title === "404 Not Found") {
  window.location.href = "https://www.example.com/";
}

○方法2:history.replaceStateを使ったリダイレクト

このコードでは、history.replaceStateを使ってリダイレクトを実現しています。

この例では、存在しないページにアクセスした場合、トップページにリダイレクトしています。

history.replaceStateを使うことで、ブラウザの履歴にリダイレクト前のページが残らないため、ユーザーが戻るボタンを押してもリダイレクト前のページに戻れません。

if (document.title === "404 Not Found") {
  history.replaceState(null, null, "https://www.example.com/");
  location.reload();
}

○方法3:metaタグを使ったリダイレクト

このコードでは、metaタグを使ってリダイレクトを実現しています。

この例では、存在しないページにアクセスした場合、5秒後にトップページにリダイレクトしています。

metaタグを使うことで、JavaScriptを使わずにリダイレクトを実現することができます。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="refresh" content="5; URL=https://www.example.com/">
  <title>404 Not Found</title>
</head>
<body>
  <h1>404 Not Found</h1>
  <p>お探しのページは見つかりませんでした。5秒後にトップページにリダイレクトされます。</p>
</body>
</html>

○方法4:404ページでのリダイレクト

このコードでは、404ページにアクセスした際に、JavaScriptを使ってリダイレクトを実現しています。

この例では、存在しないページにアクセスした場合、3秒後にトップページにリダイレクトしています。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>404 Not Found</title>
  <script>
    setTimeout(function() {
      window.location.href = "https://www.example.com/";
    }, 3000);
  </script>
</head>
<body>
  <h1>404 Not Found</h1>
  <p>お探しのページは見つかりませんでした。3秒後にトップページにリダイレクトされます。</p>
</body>
</html>

○方法5:サーバーサイドでのリダイレクト

サーバーサイドでリダイレクトを実現する方法もあります。

この例では、PHPを使って、存在しないページにアクセスした場合、トップページにリダイレクトしています。

<?php
  header('HTTP/1.1 404 Not Found');
  header('Location: https://www.example.com/');
  exit();
?>

●注意点と対処法

○リダイレクトの過剰な使用に注意

リダイレクトは適切に使えば便利ですが、過剰に使用すると、ユーザーが迷ったり、ページの読み込み速度が遅くなることがあります。

リダイレクトは必要な場合にのみ使用し、できるだけシンプルな構造にすることが大切です。

○SEOへの影響

リダイレクトはSEOにも影響を与えるため、注意が必要です。

恒久的なリダイレクト(301リダイレクト)は検索エンジンに古いページから新しいページへの移行を伝えるため、SEOに良い影響を与えることがあります。

一方で、一時的なリダイレクト(302リダイレクト)やJavaScriptによるリダイレクトは、検索エンジンが適切に認識できない場合があり、SEOへの悪影響を及ぼすことがあります。

リダイレクトの種類や実装方法によってSEOへの影響が変わるため、適切な方法を選択することが重要です。

まとめ

この記事では、JavaScriptを使った404リダイレクトの基本から5つの方法を紹介しました。

それぞれの方法にはメリットとデメリットがありますので、自分のサイトやアプリケーションに合った方法を選択してください。

また、リダイレクトは適切に使うことで便利ですが、SEOへの影響も考慮し、過剰な使用には注意しましょう。