ピックワールド(PIC World)

インフォメーション

この記事は 2017年04月23日 に以下のカテゴリに投稿されました Wordpress Tips.

この記事のタグ

, , , , , , , , , , , ,


WordPress のドメイン名の変更を伴うサイト移転 – picworld.jp ドメインに移転したので、ついでにその方法を書いておくね!

ふ~ん。終わりましたねぇ。

picworld.jp 運営開始と WordPress の移行方法

picworld.jp 運営開始と WordPress の移行方法

今までは、サブドメインとして運営してきて、picworld.e-monster.jp でしたが、沢山の方にも見てもらうことができて、本当に感謝しています。

で、今回は、単独ドメインでの運営を開始しようと、picworld.jp というドメインを新たに取得し、今まで運営してきた WordPress のサイトを移転したので、ドメイン変更のお知らせとともに、この作業の内容を書いておきたいと思います。

新しいサーバーは、前のサーバーよりも数段速くなったと思うのだけれどなぁ!

まぁ方法はいろいろあるので、参考にしていただけますと幸いです。

おそらくではありますが、一番楽な方法だと思いますよ。

作業の内容は、

  1. 新サーバーで WordPress を普通にインストールしておく
  2. 旧サーバーからデータと DB のバックアップ(エクスポート)を作成する
  3. 作成したバックアップを使い、新しいサーバーにデータアップロードする
  4. DB のバックアップを新サーバーにインポートする
  5. Search-Replace-DB-master を使って DB の変更が必要な部分を書き換える
  6. wp-config.php のデータベース接続子を書き換える
  7. 旧サーバーから新しいサーバーにアクセスを飛ばす、Google 関連など、移行がうまく進むように設定を行う
  8. ※必要であれば、使用しているテーマに変更を加え、URL 等をハードコードしている場合には、変更する (favicon.icoの指定などね)

こんなところですね。

では、ざっくりではありますが、説明します。

1、新しいサーバーを契約するか、試用期間でもよいので契約し、ごく普通に WordPress をインストールする。

いまはどこのレンタルサーバーも、自動インストールなるメニューがあって、その中には必ず WordPress のインストールも含まれていると思うので、それを素直に使えばよいです。

2、旧サーバーからデータと DB のバックアップを作成する

旧サーバーから、ファイルとして取り出すのは、wp-content 配下の uploads / plugins / themes にある各ディレクトリとファイルをバックアップしますが、plugins 配下にある、Wordpress をインストールした際に作成されるファイル群、 akismet と wp-multibyte-patch は、バックアップしなくて大丈夫というか、コレ上書きすると収集がつかなくなるので、やめたほうがよさそうです。

データのバックアップは、サイトにもよると思いますが、ファイル数が多いので時間がかかりますから、余裕をもって作業してくださいね。

DB はすべてのテーブルを sql ファイルか、それを圧縮したファイルで、エクスポートし、バックアップを作成します。

3、作成したバックアップを使い、新しいサーバーにデータアップロードする

先に作成したデータのバックアップを新しいサーバーの所定の場所にアップロードします。

サーバー間転送を試みましたが、コマンドラインならどうにか動かすこともできるでしょうが、ツールではうまく動かないものがほとんどだったので、データを旧サーバーからダウンロード、それを使って新サーバーにアップロードという普通の手順を踏みました。

アップロード先を間違えないように、よく確認してくださいね。

4、DB のバックアップを新サーバーにインポートする

phpMyAdmin が使えない際には、自分で使えるようにしなければなりませんが、今はほとんどのレンタルサーバーで使うことができる、または別の方法でデータベースのインポートに対応していると思います。

当然既にインストールした新しいサーバーで WordPress が使っている DB に対してインポートを行います。

まぁ、DB にアクセスするための DB サーバー名やユーザ名 / パスワードなどは、あらかじめ準備をしておいてくださいね。

5、Search-Replace-DB-master を使って DB の変更が必要な部分を書き換える

少し前までは、大きな sql ファイルを開くことのできるエディタを使って、書き換えが必要な sql を書き換えたあと、上で行ったインポートをかけたのですが、このツールを使うと、インポートした後、DB 内のすべてのテーブルに対して、書き換えができるのですよ。

エディタで行うと、DB 内にはその文字数などが書かれているところもあるので、当然その部分はそのままとなって、推奨できないそうですね。

このツールなら大丈夫。

Search-Replace-DB-master は、こちらのページからダウンロードすることができます。

圧縮されたファイルでダウンロードされますが、それを展開するとわかりますけれど、このツールは php で書かれたアプリケーション群ですね。

展開したファイルを新しいサーバーのルートディレクトリでよいと思うけれど、このディレクトリごとアップロードし、そこにブラウザでアクセスして使用します。

Search-Replace-DB-master

Search-Replace-DB-master

置き換え対象の文字列、置き換える文字列を指定し、まずは Dry Run ボタンを押して、置き換えの状況を確認し、誤りのないことを確認し、そのあと live Run で本実行(データの置き換え)を行うことができます。

置き換えが必要な項目は、

  • ドメイン名
  • サーバーのフルパス

が主なものですが、そのサーバーや指定の方法によって置き換えが必要なデータは変わってくると思います。

例えば、旧サーバーでは WordPress がドキュメントルート直下ではなく wp なるディレクトリ下に置かれていた(インストールされていた)新しいはサーバーはドキュメントルート下となる場合には、ドメイン名の変更に続いて、wp を取り去るようなこともしなけれればなりません。(今回の作業がそうでした)

また、サーバーのフルパスについては、あらかじめ明示されているサーバーもありますが、確実なのは、

サーバーのフルパスが知りたい場所へ、


<?php echo __FILE__; ?>

なるコードを書いた php ファイルを置いて、ブラウザからアクセスすればフルパスが表示されますね。

また、旧サーバーの WordPress のインストール時に、いくつかの項目を大文字で指定した場合にも、たぶんそれを忘れちゃってると思うけれども、置き換えが必要となるので、お忘れなく。(実は忘れてた)

置き換え作業が完了したら、画面に表示されている、delete me ボタンを押すと、このプログラムを削除することができます。

お分かりかとは思いますが、このツールがそのまま残っていると、悪戯をたくらむ者たちが、アクセスして大変なことになるので、必ず削除します。

6、wp-config.php のデータベース接続子を書き換える

さて、新しい DB に必要な書き換えが必要な項目を置き換えたら、wp-config.php のデータベース接続子の指定を変更します。おそらくはこの作業は必要となると思いますが、たまたまデータベース接続子が同じであれば、作業の必要はありません。

この作業が終わると、新しいドメインのアドレスにブラウザからアクセスすると、サイトが表示されるはずです。

サイトの状況を確認し、問題がないことを確認します。

管理画面にも入り、プラグインや、akismet 等の設定を確認しておきます。

7、旧サーバーから新しいサーバーにアクセスを飛ばす、Google 関連など、移行がうまく進むように設定を行う

この辺りの事は、せっかく今までに運用したドメインで得た、検索エンジンの評価等を引き継ぐ作業となりますが、あまりにも、個別の設定となるとおもうので、検索エンジン関連の対策は、Google の指示にしたがい、作業したほうが良いでしょう。

加えて旧サーバーに対してのアクセスがあった際には、新しいサーバーにアクセスを飛ばす措置を行います。

旧サーバーのドキュメントルートにある、.htaccess を以下のように記述し、アップロードしておきます。


<Files ~ "^\.ht">
deny from all
</Files>

# Redirect
RewriteEngine On

# base path
RewriteBase /

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ http://picworld.jp/$1 [R=301,L]
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ https://picworld.jp/$1 [R=301,L]

301 のレスポンスを持って、http / https の全てのアクセスを新しいサーバー picworld.jp にぶっ飛ばすという指定です。

お使いになるときには、上記の picworld.jp は変更してくださいね~

301 はサーバーリダイレクトと呼ばれますが、正式には、301 Moved Permanently で、要するに移転しましたというサーバーレスポンス。

8、※必要であれば、使用しているテーマに変更を加え、URL 等をハードコードしている場合には、変更する (favicon.icoの指定などね)

使用しているテーマのカスタマイズの状況にもよりますが、もしもテーマの中で URL やメールアドレスをハードコードしている場合には、変更を加えます。

よくあるのは、header.php の中で指定している favicon.ico 等の指定はテーマファイルで行うことが多いので、忘れがちです。(って忘れていたので後から直しましたよ)

他にも jetpack を使っている場合には、設定(指定)が必要な項目もありますが、指示に従えば、何も問題なく進みます。

基本的には、新しいサイトの追加と、それに対する移行の指定です。

移転の方法としては、ドメインの変更を伴う場合も、同じ場合も、作業の内容は同じで大丈夫です。

以上ですが、ドメイン名の変更を伴う方が、作業としては楽ですね。

これは、ネームサーバーの問題で、同じドメインでの移行だと、うまく新しい(古い)サーバーの管理画面等に飛ぶことができないからですね。

3つのサイトをこの方法で移行しましたが、作業としてはこれでうまく移行が完了しています。

この後は、ドメインを変更した場合には、検索エンジンからうまくアクセスが飛んでくるかを注視しておく事でしょうね。

今のところは大丈夫みたい!

さて、このサイトもこうしたから、今後も色々とできますねぇ。

こりゃ楽しみ。

投稿者のプロフィール

minorus
minorus
電子機器が大好きです。
プログラムを書くのをお仕事としていたこともあるので、両方できる PIC や Arduino を使って、いろいろな(役にあんまり立たない)ものを作っています。
実は UNIX 関連のお仕事も長かったので、Raspberry Pi もお手の物なのですけれど、これから触る機会が多くなるのかなぁ。
ボチボチ行きますが、お付き合いください。
若いころの写真なので、現時点では、まだ髪の毛は黒くてありますが、お髭は真っ白になりました。
愛車の国鉄特急カラーのカスタムしたリトルカブで、時々、秋月電子通商の八潮店に出没します。

コメントを残す

最近の投稿

最近のコメント

アーカイブ