読者です 読者をやめる 読者になる 読者になる

TechNote

とあるエンジニアのただのメモ

これだけは押さえておきたい! Googleが推奨するWebサイト移転時のリダイレクト方法

Webサイトを移転する機会は誰にでもあるでしょう。私の場合は、古いサイトの再構築を頼まれ、このときサイトの設置場所(サーバ)自体は変わりませんでしたが、WAF(WebApplicationFramework)を使って再構築したので「URLが変わってしまう」という問題にぶちあたりました。そのときのリダイレクト方法ですが、やはりGoogle様に嫌われないようにすることは最低限気がけておく必要があると思ったので調べました。メモを残します。

f:id:kojikoji75:20150801225743j:plain

具体的にいうと、現在のサイトURL(トップページ)が

http://www.サンプル.co.jp

とする。一方、フレームワークを使用して作ったサイトURLは、

http://www.サンプル.co.jp/index.php/c_Sample/top

などと、コントローラ名やメソッド名が入ってくることになり、トップページのURLが変わってしまうということである。


この対処方法についてまとめておく。


【対応方法1】 metaタグによるリダイレクト

htmlヘッダ内に下記のように記述すると、目的の新ページへリダイレクトできる。

<meta http-equiv="refresh" content="10;URL=http://www.サンプル.co.jp/index.php/c_Sample/top">

htmlの編集だけで済むので、敷居が低い方法ではあるが、各ページに設定しないといけないという面倒はある。また、0秒設定などをしているとスパム扱いになることがあるらしいので注意が必要。



【対応方法2】 .htaccessによるリダイレクト

GoogleやYahooは「301リダイレクト」と呼ばれる方法を推奨している。要するにこの方法が検索エンジンのランキングを維持するのに最良の方法である(SEOに適している)。


1 .htaccessファイルを用意する

.htaccessとは、ApacheなどのWebサーバで使用できる、Webサーバの動作をディレクトリ単位で制御するためのファイルのこと。
.htaccessWindows上で作成する場合は手順に工夫が必要である。
例えば新規作成したテキストファイル「新しいテキストドキュメント.txt」のファイル名を単純に「.htaccess」などと変えようとしたら下図のようにWindowsから怒られる。

f:id:kojikoji75:20130812201046j:plain

f:id:kojikoji75:20130812201050j:plain


そこで、コマンドプロンプトでリネームしてやることになる。

f:id:kojikoji75:20130812201106j:plain

これで準備完了。


2 .htaccessの中身の記述

用意した.htaccessファイルをテキストエディタで開き、中身を記述する。基本的な下記の書き方のみ知っておけば十分対応できる。

Redirect permanent http://www.サンプル.co.jp/ http://www.サンプル.co.jp/index.php/c_Sample/top


Googleウェブマスター向けヘルプによると、以下のような方法が推奨されている。

より手間はかかりますが、ページ対ページのリダイレクトを行うと、Google でのサイトのランキングを維持するのに役立つと同時に、ユーザーの利便性も一貫性があり見やすいものになります。以前のサイトと新しいサイトのページが 1 対 1 で対応しない場合(対応させることをおすすめします)は、以前のサイトの各ページを少なくともコンテンツが類似している新しいページにリダイレクトするようにしてください。

[Googleウェブマスター向けヘルプ:title=https://support.google.com/webmasters/answer/83105?rd=1]


これに従って下記のように対応するページをどんどん記述していく。実際は下記のように1行1行指定しなくても一括で設定できそうだが、同一ディレクトリ内での移転の場合にどう書くべきか迷ったのでとりあえず下記のように地道に記述した。まずは動くことが大事。

Redirect permanent http://www.サンプル.co.jp/ http://www.サンプル.co.jp/index.php/c_Sample/top
Redirect permanent http://www.サンプル.co.jp/Page01.html http://www.サンプル.co.jp/index.php/c_Sample/pg01
Redirect permanent http://www.サンプル.co.jp/Page02.html http://www.サンプル.co.jp/index.php/c_Sample/pg02
Redirect permanent http://www.サンプル.co.jp/Page03.html http://www.サンプル.co.jp/index.php/c_Sample/pg03
Redirect permanent http://www.サンプル.co.jp/Page04.html http://www.サンプル.co.jp/index.php/c_Sample/pg04
Redirect permanent http://www.サンプル.co.jp/Page05.html http://www.サンプル.co.jp/index.php/c_Sample/pg05

3 .htaccessFFFTPで転送

.htaccessの準備ができたら、いよいよFFFTPなどの転送ツールでサーバ上へ転送することになる。ただ、FFFTPを使用時も少し設定の変更が必要となる。

  • ホスト一覧⇒「設定変更」⇒「高度」⇒「LISTコマンドでファイル一覧を取得(L)」のチェックを外す
  • 「高度」⇒「NLSTファイル名/オプション」を-alLにする

f:id:kojikoji75:20130812201137j:plain

  • 「表示」⇒「.で始まるファイルの表示(D)」にチェック

f:id:kojikoji75:20130812201156j:plain

これできちんと.htaccessファイルは表示されるはず。

大手検索エンジンが推奨する「301リダイレクト」は必ず押さえておく必要がありそう。


Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集

Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集

.Htaccess

.Htaccess

  • 作者: Jesse Russell,Ronald Cohn
  • 出版社/メーカー: Book on Demand Ltd.
  • 発売日: 2012/05/24
  • メディア: オンデマンド (ペーパーバック)
  • クリック: 4回
  • この商品を含むブログを見る
How Google Works (ハウ・グーグル・ワークス)  ―私たちの働き方とマネジメント

How Google Works (ハウ・グーグル・ワークス) ―私たちの働き方とマネジメント