リダイレクトは、あるURLにアクセスした人を別のURLへ自動的に転送する設定です。httpsへの統一、www ありなしの統一、ページ移転時の転送などで使います。設定は.htaccessというファイルに記述しますが、1文字の誤りでサイト全体が表示されなくなるファイルなので、手順を守って作業してください。管理画面全体の使い方は使い方ピラーをご覧ください。
作業前に必ず1つ:編集する前に、現在の .htaccess をダウンロードして手元に保存してください。このファイルは1文字間違えるだけでサイト全体が500エラーになります。元のファイルさえあれば、何が起きても数分で復旧できます。これを飛ばして編集するのは、綱渡りです。
リダイレクトを使う場面
| 場面 | 内容 |
|---|---|
| httpsへの統一 | httpでアクセスされたらhttpsへ転送 |
| www の統一 | www ありとなしのどちらかに寄せる |
| ページの移転 | 記事のURLを変更したとき |
| サイトの移転 | ドメインを変更したとき |
| ディレクトリの整理 | フォルダ構成を変えたとき |
httpsとwwwの統一は、ほぼすべてのサイトで必要な設定です。両方でアクセスできる状態のままだと、検索エンジンから別のページとして扱われる可能性があります。
301と302の違い
リダイレクトには種類があり、検索エンジンへの伝わり方が変わります。
| 301 | 302 | |
|---|---|---|
| 意味 | 恒久的な移転 | 一時的な転送 |
| 検索評価 | 引き継がれやすい | 元のURLに残る |
| 使う場面 | URL・ドメインの変更、https統一 | キャンペーンページへの一時転送など |
基本的には301を使ってください。ページやドメインを完全に移した場合、302を使うと検索エンジンが「まだ元のURLが正しい」と判断し続ける可能性があります。
.htaccess を編集する前に
ここを飛ばさないでください。- 1 現在の.htaccessをダウンロードするサーバーパネルのファイルマネージャ、またはFTPで開き、手元に保存する
- 2 バックアップの状態を確認するエックスサーバーは14日分の自動バックアップを保持し、復元は無料。念のため確認しておく
- 3 既存の記述を確認するWordPressが自動で書いた記述などが入っていることがある。これを消さない
.htaccess の危険性を軽く見ないでください。全角スペースが1つ混入しただけで、サイト全体が500エラーになります。エラーが出るとWordPressの管理画面にも入れなくなります。編集前のファイルがあれば戻すだけですが、なければ原因を探しながら記述を削っていくことになります。
編集する場所
| 方法 | 特徴 |
|---|---|
| サーバーパネルのファイルマネージャ | ブラウザだけで編集できる。手軽 |
| FTPソフト | ダウンロード・アップロードが確実。詳細はFTPの記事 |
| WordPressのプラグイン | 直接編集せずに設定できる |
.htaccess はドメイン名/public_html/ の直下にあります。ファイル名がドット(.)で始まるため、設定によっては表示されないことがあります。「隠しファイルを表示する」設定を有効にしてください。
httpsへの統一
もっとも一般的な設定です。httpでアクセスされたら、httpsへ転送します。
前提:サーバー側でSSLが有効になっていること。設定方法はSSL設定の記事にまとめています。
SSLが有効になる前にリダイレクトを設定すると、サイトにアクセスできなくなります。httpsで表示できることを確認してから設定してください。
WordPressの場合、「設定」→「一般」のアドレスをhttpsに変更するだけで多くのケースは足ります。それでもhttpでアクセスできてしまう場合に、.htaccessでのリダイレクトを追加します。
www の統一
example.com と www.example.com のどちらかに統一します。
どちらを選んでも構いません。重要なのは統一することです。短くて入力しやすい「www なし」を選ぶサイトが増えていますが、企業サイトでは「www あり」も慣習として使われます。
WordPressの場合も、「設定」→「一般」のアドレスを統一したい形で登録しておくのが基本です。
ページ移転時のリダイレクト
記事のURLを変更した場合、古いURLから新しいURLへ転送します。
これを設定しないと:
- 古いURLをブックマークしている人が404エラーに遭遇する
- 外部サイトからのリンクが切れる
- 検索エンジンの評価が引き継がれない
WordPressでパーマリンク設定を変更した場合、全記事のURLが変わります。記事数が多いと、個別にリダイレクトを設定するのは現実的ではありません。
だからこそ、パーマリンクは記事を書き始める前に決めてください。あとから変更すると、この作業が発生します。契約直後の設定は初期設定チェックリストにまとめています。
記事単位のリダイレクトを多数管理する場合は、WordPressのリダイレクト用プラグインのほうが管理しやすくなります。管理画面から一覧で確認・編集でき、.htaccessを直接触るリスクもありません。
サイト移転時のリダイレクト
ドメインを変更した場合、旧ドメインから新ドメインへ転送します。
注意点- 旧ドメインの契約を維持する必要がある。転送するためにはサーバーとドメインが生きている必要があります
- 301を使う。恒久的な移転として伝えます
- ページ構造が同じなら、対応するページへ転送する。すべてトップページに転送すると、利用者にとって不便です
サーバーの移転手順はサーバー移転の記事、WordPressの引っ越しは引っ越しの記事にまとめています。
設定後の確認
| 確認項目 | 方法 |
|---|---|
| 元のURLから転送されるか | ブラウザでアクセスして確認 |
| 転送先が正しいか | アドレスバーを確認 |
| 無限ループしていないか | 「リダイレクトが多すぎます」と出ないか |
| サイト全体が表示されるか | トップページ以外も確認 |
| 管理画面に入れるか | WordPressの場合 |
無限ループに注意してください。AをBに転送し、BをAに転送する記述になっていると、ブラウザが「リダイレクトが多すぎます」というエラーを表示します。複数のリダイレクト設定が競合している場合にも起こります。
特に、WordPressの設定とプラグインと.htaccessの3箇所で同じような設定をしていると競合しやすくなります。設定は1箇所にまとめてください。
失敗したときの戻し方
500エラーが出た場合
編集前の.htaccessに戻せば復旧します。保存しておいたファイルをアップロードし直してください。
保存していない場合は、追加した記述を削除してください。WordPressの場合、.htaccessを空にしてもサイト自体は表示されるようになります(パーマリンクは動かなくなります)。管理画面に入れたら、「設定」→「パーマリンク」で保存し直せば正しい記述が再生成されます。
詳しい対処は500エラーの記事にまとめています。
無限ループになった場合
追加した記述を削除して、設定を1つずつ見直してください。複数箇所で設定していないかを確認します。
管理画面にも入れない場合
サーバーパネルはWordPressとは別の画面なので操作できます。ファイルマネージャから.htaccessを修正してください。
まとめ
リダイレクトは.htaccessに記述して設定します。編集する前に必ず現在のファイルをダウンロードして保存してください。1文字の誤りでサイト全体が500エラーになります。
種類は恒久的な移転なら301、一時的な転送なら302です。ページやドメインを完全に移した場合は301を使ってください。
httpsとwwwの統一は、ほぼすべてのサイトで必要な設定です。ただしWordPressの場合、「設定」→「一般」のアドレスを変更するだけで多くのケースは足ります。
記事単位のリダイレクトを多数管理する場合は、プラグインのほうが安全です。.htaccessを直接触るリスクを避けられます。
設定後は無限ループになっていないかを必ず確認してください。設定は1箇所にまとめ、複数の場所で競合させないことが重要です。