リダイレクトとは?~初心者のための基本解説~
リダイレクトとは、ウェブサイトへの訪問者を別のURLへ自動的に転送する仕組みのことです。
ウェブページのURL変更やウェブサイトのリニューアルをする際に、リダイレクトの設定をします。リダイレクト設定はSEOやサイト運営に影響が大きい技術です。
ホームページ制作.jpってどんなサービス?
- 運営10年!老舗のホームページ制作無料一括見積サービス。
- 審査済の優良ホームページ制作会社のみに見積もり依頼ができる。
- お見積もり無料。何度でもご相談無料。お断り代行も無料。
- 訪問無しのオンライン相談可能!
- しつこい営業は一切致しません!
全国通話無料
受付:年中無休/24時間電話受付0120-900-587
私たちが全力でサポート致します!
宇野(うの)
田丸(たまる)
真中(まなか)
このページの目次
1.リダイレクトとは
リダイレクトとは、ウェブサイトにアクセスしてきたユーザーをリクエストしたURLとは別のURLへ転送することです。インターネットを利用中のユーザーを、アクセスしてきた元のURLから別のURLへ誘導することを目的に、リダイレクトの設定をします。
リダイレクト設定には次のような方法があります。
・Webサーバーの設定で行う方法
・サーバーサイドで動作するPHPなどのプログラミング言語を使う方法
・クライアントサイドで動作するJavaScriptを使って記述する方法
・HTMLの記述にリダイレクトに関するmetaタグを追記する方法
2.リダイレクトする理由
リダイレクトの設定をする理由として、次のようなことが挙げられます。
・サイトを移転したため、新しいURLへリダイレクトする
・サイトをリニューアルする
・スマホサイトを作成する
サイトリニューアルでは、複数のページを統合したり、ディレクトリを変更したり、ページ転送したりするなど様々な場面が考えられます。サイト移転に限らず、サイト運営中にもリダイレクトの設定をする必要が生じます。
スマホを使って、いつもパソコンで閲覧しているサイトにアクセスしたら、スマホ専用サイトへ誘導されたことがないでしょうか。これもリダイレクトの一つです。
ウェブサイトを公開し運営していると、Googleなどの検索サイトに評価され、評価が高いサイトは検索上位に表示されます。もし、サイト移転する際に、有効なリダイレクトの対応をしなければ、これまでの評価が引き継がれません。また、移転したことを知らずに、旧URLにアクセスすれば、404(Not Found)などのエラーメッセージが表示されるだけです。
3.301リダイレクトと302リダイレクトは使い分けが必要
リダイレクトには、用途の違いで使い分けができるように、301と302の2種類のステータスコードがあります。300番台のHTTPステータスコードは、ブラウザ側で追加処理が必要なときのステータスです。
301は恒久的な移動、302は一時的な移動の意味です。
301は、サイト移転や分散しているサイトをまとめる正規化などで使われます。
302は、メンテナンス中の画面を表示させるときなどに使うステータスコードです。スマホ専用ページへのリダイレクトでも302が使われます。
301リダイレクトであれば、元のサイトの情報や評価が新しいサイトへ引き継がれます。
対して、302リダイレクトは、一時的な転送のため、元のサイトが継続して評価対象です。
サーバー設定やPHPの記述では、301と302のステータスコードの指定が可能です。検索エンジンによっては、metaタグで移動までの時間を0秒にすると301リダイレクトとして扱います。しかし、Googleではサーバーサイドで301リダイレクトの設定をする方法を推奨しています。
301リダイレクトと302リダイレクトをもっと詳しく知りたい方はこちら:301リダイレクトと302リダイレクトの違いを解説!
4.リダイレクトの設定について解説!
リダイレクトの設定方法を4通りご紹介します。4通りの中で最も推奨されているのは、.htaccessファイルなどを使ってサーバーで設定する方法です。そして、状況によってはPHPなどサーバーサイドで動作するプログラミング言語で記述する方法が用いられます。理由については順次ご説明します。
なお、この4章は、具体的な設定方法に触れているため、少し難しい内容です。実際にどのように設定し、コンピューター上で処理されるのか知ると、理解が深まります。イメージだけでも掴んでおいてください。
1.htaccessファイルによるリダイレクトはSEOで推奨されてる
リダイレクトの設定で一般的なのは、サーバーアプリケーションの設定ファイルを使って指定する方法でしょう。サーバーアプリケーションとして有名なのがオープンソースソフトウェアのApacheです。他にもMicrosoft WindowsのIISや、オープンソースのnginxなどが使われています。サーバーアプリケーションは淘汰されており、使われているソフトウェアは限られています。
1.世界中で広く利用されているApacheの設定ファイル.htaccess
世界で広く使用されているアプリケーションサーバーとしてApache HTTP Server が挙げられます。Apacheは、ほとんどのUNIX系OSやWindowsなど、幅広いプラットフォーム上で動作します。Apacheにおいて、リダイレクトの設定に使われるのが.htaccess(ドットエイチティーアクセス)というファイルです。.htaccessファイルにリダイレクトに関する記述をすれば、リダイレクトは行われます。
リダイレクトが適用される範囲は.htaccessファイルが置かれたディレクトリの場所で変わります。この場合のディレクトリは、ファイルを管理するための階層構造のことです。OSによってはフォルダと呼ばれています。
.htaccessファイルをディレクトリの頂点であるルートディレクトリに置けば、一括してサイト全体に適用されます。また、下層ディレクトリにも別の.htaccessファイルを配置した場合は、適用されるのは下層の.htaccessファイルの設定です。
Apacheには、httpd.confという要となる設定ファイルがあります。httpd.confはサーバー管理者でなければ変更できません。Apacheでは、サイト管理者でも設定変更できるように、別途.htaccessが用意されました。httpd.confで許可されている場合のみ、.htaccessを利用して一部の設定を行える仕組みです。
2.WindowsプラットフォームではIIS も普及、オープンソースにはnginxなども
アプリケーションサーバーには、オープンソースソフトウェアや商用ソフトウェアがあります。数多くのWebサーバーが開発され、そして淘汰され、現在使用されているのはごく一部のアプリケーションのみです。
商用であれば、Microsoft Windows標準のMicrosoft Internet Information Services (IIS)というサーバーアプリケーションがあります。IISは、Windowsサーバープラットフォームで採用されることが多いアプリケーションです。IISであればウィザードで設定することが可能です。
オープンソースであれば、Apacheのほかにnginxというサーバーアプリケーションがあります。nginxの場合はnginx.confという設定ファイルを使います。
2.PHPでプログラムを記述するリダイレクトは状況によって推奨される
サーバーサイドスクリプト言語のPHPを使ってリダイレクトする方法があります。PHPは、サーバー側でコードが実行され、クライアントは結果のみを受け取る仕組みです。PHPの記述は、HTMLに埋め込んで統合するのが特徴です。HTML内にタグを設けてその中に記述します。通常、拡張子は.phpです。
PHPは元々、動的なWebページを作成するためのツールでした。オープンソースとして公開されたことで、利用者が増加し機能が追加され今日に至っています。
PHPは、Webアプリケーション開発の機能が豊富なスクリプト言語として広く利用されるようになりました。スクリプト言語は、コンパイルの必要がなく記述や実行が比較的簡易です。コンパイルとは、プログラムのソースコードをコンピューターで実行できる形式に変換する作業です。Apacheやnginxが動作する多くのWebサーバーで利用されています。
スクリプト言語で書いたプログラムであれば、記述したファイルをWebサーバーにアップロードすることで実行できます。ただし、PHPが組み込まれたサーバーであることが条件です。レンタルサーバーでは、PHPを利用できる場合とできない場合があります。
リダイレクトにPHPが利用されるのは、.htaccessフィルを利用すると記述が複雑になる時です。PHPであれば、条件分岐のコードを分かりやすくシンプルに記述できます。
3.JavaScriptによるリダイレクトは代替的な方法のため注意が必要
クライアントサイドスクリプト言語のJavaScriptを使ってリダイレクトする方法があります。JavaScriptは、サーバーからブラウザがコードを受け取り、クライアント側で実行する仕組みのプログラミング言語です。
そのため、ユーザーがWebブラウザの設定でJavaScriptを無効にしている場合は、リダイレクトされません。また、検索エンジンのクローラーにサイト移転が伝わらないこともあります。できれば、避けたい方法です。
JavaScriptによるリダイレクトはクライアントサイドで行われますが、Googleではサーバーサイドのリダイレクトを推奨しています。
サーバーで設定ができない場合やPHPが使用できない場合に利用する方法です。
4.HTMLのmetaタグによるリダイレクトはサーバー環境によっては利用される
HTMLのmetaタグに記述してリダイレクトさせることができます。秒数がカウントされた後に、自動的にページが切り替わる方法です。インターネットを利用していて、何度か目にしたことがあるかもしれません。
設定する場合は、htmlファイルのheadタグ内に転送のmetaタグを追記します。metaタグのhttp-equivという属性の値にRefreshを指定し、移動までの秒数と移動先のURLを記述します。設定すると、指定時間後にほかのページに移動させることができるHTMLのリダイレクト機能です。
簡単な方法ですが、いくつかの問題があります。meta refreshの場合は、検索エンジンのクローラーが異なる解釈をします。ブラウザによってはサポートしていません。また、W3Cは使用しないことを推奨しています。W3CはWorld Wide Web Consortiumの略で、Web関連技術の標準化団体です。GoogleもW3Cと同様の見解です。
このmeta refreshによるリダイレクトは、できれば使用しないほうがよいでしょう。
metaタグはページ情報を記述するheadタグ内に記述します。headタグに記述された情報は、titleタグのタイトル部分を除き、Webブラウザに表示されることはありません。
5.まとめ
リダイレクトとは、ウェブサイトへアクセスしてきたユーザーを別のURLへ転送することです。リダイレクトの設定をする理由には、サイトの移転やリニューアルなどが挙げられます。
ウェブサイトを運営していると、サイトの規模が大きくなったり、複数サイトの統合が必要になったりで、リダイレクト設定の必要が度々生じるでしょう。ウェブサイトのコンテンツ状況に応じてページアドレスの変更も必要になるかもしれません。
個人のホームページとは異なり、企業のオウンドメディアにおいては、不特定多数のユーザーが日々、サイトを訪れます。リダイレクト設定を含む適切なサイト運営が行われていなければ、顧客損失になりかねません。
リダイレクトの設定には、いくつかの方法があります。しかし、推奨されているのは、2つの方法です。一つは、.htaccessファイルなどを使ってサーバーで設定する方法です。この方法がもっとも一般的な方法と言えるでしょう。そして、もう一つは、サーバーサイドで動作するPHPなどのプログラミング言語を使って記述する方法です。重要なポイントは、サーバーサイドの動作でリダイレクトさせることです。
長期に渡って、ウェブサイトを運営していると、リダイレクトの設定が必要になることは多いはずです。できれば、ウェブサイトを立ち上げる段階から、リダイレクト設定をすることを考慮に入れておくとよいでしょう。