2013年03月06日(水)

SEOを考慮してワードプレスのサーバーを引越し&ドメインも変更する手順まとめ

いくつかのサイトをコアサーバーで運営していたんですが、その中の1つのブログのアクセスがユニーク数で1日1500程度になった頃、マルチドメインで運営していたすべてのサイトで下のような症状が現れるようになってしまいました。

コアサーバーのアクセス不良
CSSや画像が読み込まれなかったりサーバーの503エラーが多発。

コアサーバーが調子いいときの表示
これが正常に表示された時の表示です。

マルチドメインで8サイトほど運営していたんですが、上記したとおり1つのブログだけユニーク1500/日のアクセスがあり、他のサイトは1日80ユニークほどの超極小サイトでしたが、すべてでこのような障害が出るようになってしまいました。

このくらいのアクセスでこんな状態になってしまうとなるとちょっと困りものです。
という事でコアサーバーで運営していたすべてのサイトをエックスサーバーに移転する事に。
そのうちの1つ、無料ドメインガイドを移転した際の手順をまとめましたので、同じような作業をする事になった際にはご覧いただけたらと思います。
サーバー変更ついでに、ドメインも変更してさらにサイト構成も変更(パーマリンク変更)する事にしたので、そのあたりもあわせて書いてあります。

変更内容はこちら。

サーバー ドメイン
移転前 コアサーバー http://muryou-domain.kakito.me/
移転後 エックスサーバー http://muryou-domain.com/

作業内容はこちらです。
こちらのメニューリンクから各項目にジャンプできます。

エックスサーバーとお名前.comの設定
お名前.comで取得した独自ドメインをエックスサーバーで使えるようにするための設定を行います。

エックスサーバーの設定
管理画面のサーバーパネルにログインし、「ドメイン設定」「ドメインの追加設定」からドメイン名を入力して追加の確定を行います。
エックスサーバーに新しいドメインを追加
お名前.comの設定
今度はお名前.comの「ドメインNavi」にログインし、ドメイン一覧から該当のドメインのネームサーバー欄にある「変更する」ボタンへ進みます。
「他のネームサーバーを利用」を選択してエックスサーバーのネームサーバー名(下記の5つ)を入力、確認画面へ進み設定を保存します。

  • ns1.xserver.jp
  • ns2.xserver.jp
  • ns3.xserver.jp
  • ns4.xserver.jp
  • ns5.xserver.jp

お名前.comのDNS設定

他の各社サーバーについては公式サイトかこちら「レンタルサーバー各社のネームサーバーとipアドレス一覧」をご覧下さい。

メニューへ戻る

サーバー内のファイルを新しいサーバーへコピー
念のためワードプレスを最新バージョンに更新しておきます。
FTPソフトで旧ドメインで使用しているサーバー内のファイルをすべてローカルにダウンロードします。

FTPで旧サーバーのファイルをダウンロード

そのファイルを今度は新しいドメインで使うサーバーにすべてアップロードします。

通常だと上記の作業だけでいいのですが、条件によっては以下の作業が必要になります。

.htaccess内にあるセーフモード対策の記述を削除
新しいサーバーにアップロードしたルートフォルダにある.htaccessのファイルに以下のようなコードがあったらこの部分を削除してアップロードします。

AddHandler application/x-httpd-phpcgi .php

コアサーバーのPHPはセーフモードとして動いているため、ワードプレスが正常に動作しません。
それを回避するために.htaccessに上記のような記述を追記するのですが、エックスサーバーのようにセーフモードになっていないサーバーを使う場合はこの記述を削除します。
これはよく使われる記述ですが、違う書き方のコードでセーフモード対策をしている場合もあるので、上記のコードと一致しない場合もあります。

.htaceessに追記
同じく.htaccessのファイルに以下のコードを追記します。

AddHandler x-httpd-php5.3 .php .phps

現時点でのエックスサーバーのバージョンが5.3なので、状況にあわせてバージョンを書き直して追記して下さい。

メニューへ戻る

データベース(MySQL)を新しいサーバーへコピー
MySQLの内容をいままでのサーバーから新しいサーバーへコピーします。
旧サーバーであるコアサーバーの管理画面にある「サーバー設定」「データベース」と進みます。
下に書かれているユーザ名とパスワードで「ページ入室」をします。
コアサーバーのデータベースへログイン

次はphpMyAdminのログイン画面になるので、ワードプレスのインストール時に入力したユーザ名とパスワードを入力し実行ボタンを押してログインします。

ユーザ名とパスワードがわからない場合はこちら「WordPressで使っているphpMyAdminのユーザ名とパスワードを忘れてしまった場合の対応方法」で解決できます。

ログインしたら「エクスポート」「実行」ボタンでファイルをダウンロードします。
「エクスポート方法:」で詳細を選び、「データベース:」ではinformation_schemaでない方を選びます
またはあらかじめinformation_schemaでない方を左メニューから選択し、その画面でエクスポート方法を簡易で行う事も可能です。
いずれにしてもinformation_schema以外の部分をエクスポートしてください。

「フォーマット:」はSQLを、「エンコーディングへの変換:」は「なし」を選択します。
他は必要に応じてオプションを選択してください。

MySQLのエクスポート

ダウンロードしたファイルをテキストエディタで開きます。
エディタの置換機能で旧ドメインを新ドメインに置き換えます。

画像はサクラエディタを使って、「muryou-domain.kakito.me」を「muryou-domain.com」にすべて置換しました。

MySQLを新しい内容に書き換え

置換したらUTF-8で保存し、今度は新しいMySQLへインポートします。
エックスサーバー側でMySQLを追加するのでサーバーパネルの管理画面から「DATABASE」「MySQL5設定」に進み「MySQLの追加」で追加を完了させます。

エックスサーバーでMySQLを追加

MySQLを追加したら管理画面に戻り「phpmyadmin(MySQL5)」からユーザー名とパスワードを入力してログインします。
左メニューにMySQLが一覧になっており、先ほど作成した名前も見つかるはずですので、そこをクリックして「インポート」へ進みます。

MySQLのインポート

上の作業で旧ドメインから新しいドメインへテキスト置換したファイルを選択して「実行する」ボタンを押してアップロードします。

メニューへ戻る

wp-config.phpの書き換え
この時点で新ドメインにアクセスすると「データベース接続確立エラー」と表示されるはず(現時点でのワードプレスバージョンの場合)。

次は先ほどアップロードしたMySQLのデータとワードプレスとを紐付ける作業です。
FTPソフトで新サーバーのワードプレスファイルがあるフォルダ内の「wp-config.php」をダウンロードしテキストエディタで開きます。

22行目付近から下記のようなMySQLの情報が書かれている箇所があるので、これを新しいサーバーの情報に書き換えます。

// ** MySQL 設定 – こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', '★新しい情報に書き換え');

/** MySQL データベースのユーザー名 */
define('DB_USER', '★新しい情報に書き換え');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '★新しい情報に書き換え');

/** MySQL のホスト名 */
define('DB_HOST', '★新しい情報に書き換え');

さらに67行目付近にテーブルの接頭辞(テーブルプリフィックス)の情報が書かれている箇所があるので、テーブルの接頭辞を変更する必要がある場合はこれも変更します。

/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = '★新しい情報に書き換え';

今回の作業では変更する必要がないのでそのままにしておきます。

これでアクセスが出来るようになりました。

メニューへ戻る

旧ドメインを301転送する
古い方のドメインはそれまで長い事運営していたと思いますので、検索エンジンをはじめSNS・Twitterなどからも流入があるかと思います。
このままドメインを廃止してしまってはそれらをすべてを無駄にしてしまいますので、旧ドメインでアクセスした場合に自動転送されるように設定します。
.htaccessを使って行う下記の方法は301転送と呼ばれ、グーグルも推奨する引越しの際の定番の転送方法です。
100%ではありませんがページランクやサイトの評価・ページの力を引き継げるのでSEOにも好ましいです。

旧ドメインのフォルダにある.htaccessに以下のコードをお使いのドメインに変更して追記します(最後は改行してください)。

Redirect 301 / http://muryou-domain.com/

これで下層のページもそのまま転送されます。
例えば「muryou-domain.kakito.me/free-domain-names/dot-tk/」にアクセスがあった場合は「muryou-domain.com/free-domain-names/dot-tk/」に転送してくれます。
ですが、今回の引越しではサイトの構造も変更する予定なので、いままでのカテゴリ名や記事名やそのパーマリンクURLも変更になります。
転送されない場所に移動した場合は個別に転送設定を行います。

ちなみに、記事名を変更しなければカテゴリを変更した場合でもワードプレスに予め備わっている機能でちゃんと転送してくれますが、記事名も変更する事にしたので下記の方法で設定します(例)。お使いのドメイン名に変更してお使い下さい。

Redirect 301 /freedomain/ http://muryou-domain.com/frees/
Redirect 301 /freedomain/list.php http://muryou-domain.com/list/
Redirect 301 /freedomain/tkdomain/ http://muryou-domain.com/freedomain/tk/

これを旧ドメインのあったサーバーの.htaccessに追記します。
「Redirect 301」の後に旧URLを記述して、その後ろに転送先の新ドメインでのURLを記述します。

メニューへ戻る

wwwありwwwなしを統一する

エックスサーバーは設定を特にしなくても、wwwのサブドメイン付き「www.muryou-domain.com」でも、wwwなしの「muryou-domain.com」でもアクセスが出来る仕様になっています。

これはユーザビリティ面でもSEOを考慮した場合でもどちらかに統一しておく事を強く推奨します(しないメリットはありません)。
(「統一」といってもどちらかにアクセスがあった場合に301転送を行う)

下記するいずれかのコードをお使いのドメイン名に変更した上で.htaccessに追記します。
.htaccess最後は必ず改行して下さい。

wwwありに統一する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(muryou-domain\.com)(:80)?
RewriteRule ^(.*) http://www.muryou-domain.com/$1 [R=301,L]
wwwなしに統一する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.muryou-domain\.com)(:80)?
RewriteRule ^(.*) http://muryou-domain.com/$1 [R=301,L]

メニューへ戻る

エラーになってしまったら・・・
管理画面の左メニューの一部で、クリックするとファイルのダウンロードが始まってメニューに辿りつけないというような不具合がある場合は以下の方法で回避出来るかもしれません。

ワードプレス公式サイトから新しくワードプレスのファイルをダウンロードし解凍。
FTPソフトで今あるwp-adminというフォルダを丸ごとダウンロードしてバックアップファイルとして残した上で削除し、解凍したワードプレスのwp-adminフォルダをまるごとアップロードしてみてください。
これで先ほどはアクセス出来なくなってしまっていたリンクもちゃんと進めるはず。

以上で完了です。
いろいろなファイルやプラグインが絡む作業なので、すべてが完全に移行できるとは限りません。
ウィジェットやデザイン・レイアウトなどの他にも問い合わせフォームなど目に見えない部分も不具合がないか確認します。
お疲れ様でした!


コメントを残す

*」は入力必須項目


  • © 2010-2017 試行錯誤 All Rights Reserved.