昨日の記事ではWordpress移転時のアイキャッチ引き継ぎ方法を紹介しました。
サイトを運営しているとドメインの変更やサーバーの移転など設置先を変更することがあるかと思います。
そのほか何かの都合でページのURLを変更したいことも。今回はサイト引っ越し(移転)時のリダイレクト設定について紹介します。
-
WordPressの記事移転時にアイキャッチを引き継ぐ方法
続きを見る
リダイレクトって何?
リダイレトについてWikiPediaで見てみると、以下のように解説されています。
ウェブサイトの閲覧において、指定したウェブページから自動的に他のウェブページに転送されること。URLリダイレクト(URL redirection)とも言われる。
つまりページからページへ飛ばすことを指します。
リダイレクトが必要な時はいつ?
- ドメインの変更時
- サーバーの移転時
- ページが変わったとき
元のページにアクセスした時に新しいページを見せたい時に必要です。リダイレクトを行うとSEOの評価を新しいページに引き継ぐと言われています。
リダイレクトの種類
一般的なものは301リダイレクト(恒久的な転送)と302リダイレクト(一時的な転送)があります。Googleもサーバーの移転時は301リダイレクトを推奨しています。
リダイレクトの方法
HTMLタグに書き込むmeta refresh(めたりふれっしゅ)、.htaccess(えいちてぃあくせす)によるリダイレクト、PHPファイルからのリダイレクトなど方法があります。
meta refresh
<meta http-equiv="refresh" content="0;URL='http://www.example.com/'" />
meta refreshは手軽にできるリダイレクトの1つですが、リダイレクトコードが304のため移転の時にはオススメできないです。
PHPによるリダイレクト
.htacessで一括リダイレクト指定しづらい場合にPHPのリダイレクトを複合で使うことがあります。
<?php header( "HTTP/1.1 301 Moved Permanently" ); header("Location:/飛び先URL";); ?>
PHPのheader関数を使う場合は明示的にリダイレクトコードとLocationヘッダと飛び先URLを渡します。
明示的にリダイレクトコードを書かないと302になりますので注意。
※header関数を呼び出す前に文字列やスペースなど出力があるとエラーで飛びませんのでご注意。
.htaccessによるリダイレクト
# 全てのアクセスを新サイトにリダイレクト Redirect permanent / http://newsite.com/ # 全てのアクセスを新サイトのディレクトリにリダイレクト Redirect permanent / http://newsite.com/hoge/ # 全てのアクセスを1つのページにリダイレクト(メンテナンス時などで使えます) RedirectMatch 301 .* http://newsite.com/maintenance.html # 特定のディレクトリを新サイトにリダイレクト RewriteEngine on Redirect permanent /hoge/ http://newsite.com/ # 特定のページを新サイトにリダイレクト RewriteEngine On RewriteRule ^http://oldsite.com/hoge.html$ http://newsite.com [R=301,L]
移転時にありそうなパターンをまとめてみました。
リダイレクト元のサイトの.htaccessに記載することでリダイレクトされます。
動作確認
正しくリダイレクトされているかどうかはブラウザ拡張などでヘッダーを見れば確認できますが、
リダイレクト状況をチェックできるサービスもあります。
このように何回リダイレクトされたか?返しているリダイレクトコードなどを見ることが出来ます。
最後に
サイトの移転は頻繁にあるものではありませんが、コンテンツの差し替えや統合に伴いリダイレクトすることはあると思います。
旧ページは一切無視、新たなページは一からやり直すのであればリダイレクトの必要はありませんがSEOの効果を引き継がせたい場合などは必須な手続きになります。