2019年版:一番確実なワードプレスのローカル移植方法は純正ツールかも(初心者もOK)

ワードプレスのローカル環境をやっと作成した

初心者もOKと書いていますが、正直、大まかなワードプレスの仕様とローカル環境がなぜ必要か等、基本的なことは説明しません。「ローカル環境がなぜ必要か」「メリットとデメリットは?」「インストールの方法は?」…。SEO対策としては良いかも知れませんが、正直は○ブ系の記事とかは読みづらくて仕方ないと個人的には思うので…。

このエントリではXserver上にある本番サイトをローカルのWin10内に移動した時の忘備録とわかったことです。基本、理由や手順等は省いてますので、参考した上で他をググって下さい。

MAMP、XAMP、FLYWHEEL…どれがベスト?

筆者は長年MAMPを使用しており、MACをやめてWIN環境になってからもWIN版のMAMPのお世話になって来ました。今までこれといった不具合に遭遇したことがなかったのですが、クラウドが使えるようになったバージョンからMYSQLの起動が不安定になることが多く、起動しなことも多々あるため、環境再構築することに。環境を構築し直すにあたって、XAMP、FLYWHEELをとっかえひっかえインストール/アンインストールする羽目に。

ポートの競合、DBののサイズが大きい、等々、こちらの要因が多々あるため、どれがベスト!という言い方は適切ではないですが、3つの印象は、

  • MAMP:デザインが良い、不具合があった場合調べるのが面倒くさい
  • XAMP:なんか大昔風の野暮なデザイン笑、操作性が良い、サーバーの状況を掴みやすい
  • FLYWHEEL:デザインすごく良い、操作性が良い、wordpress以外では使いにくいかも、わりとネット上の情報が少ないのでハマッたらきついかも。

結局うちの環境ではFLYWHEELのみ

MAMPはポートの競合なのか、突然MYSQLだけ起動しなくなり、リインストールしても状況変わらず、動作することもあるのですがMYSQLへインポートすると高い確率で死亡…。XAMPはPHPのバージョン切り替えがネックで、動作したりしなかったり。php7.3だと行けるみたいなのですが、今度はDB変更ツールがエラーになる…。原因を探るのも良いのですが、記事を執筆するのがメインの業務なもので、あまりそこを深掘りしないで先に進めたい。FLYWHEELがだめだったら、Xserver上にミラーリングサイトを作るかローカルLinuxを入れるかかなぁと思ってたら幸い動作しました。すいませんが原因は切り分けていませんが、ここを読んでいる人は試行錯誤中の読者さんなので、何かヒントになるはず。

All-in-One WP Migrationは正直すすめないよ

何回も試した結果ですが、勧められません。有料版も試しましたが、インポートエラーになります。動作快調だったころのMAMPでは

 Your PHP is 32-bit. In order to import your file, please change your PHP version to 64-bit and try again. 

とエラーが出ます。開発元ServMask社に確認したところ、帰ってきた驚愕?の返答は

 Windows OR PHP 32-bit support cannot handle files larger than 2GB. 

ということで、え、じゃ、実質有料版の意味なくね?それだったらMAMPの設定自分でいじるんだけど?とびっくりしました。

このプラグインの容量制限の回避については、中にはプラグイン自体を改造を指南するような凄腕サイトもあるようで、それは泥棒とは言わないけど道理としてどうなの?と思いますが、ま、有料版が使えないんじゃ、うーんなんとも、ねぇ…と思いました。

DBへ直接インポートも試したけど結局純正に

DBへ直接インポートしてDatabase Search and Replace Script in PHPでホスト名を変換、メディアファイル等はFTPで移動、というやり方の方が安定していました。ただ、この変換ツールもPHP7.3とかだとエラーが出たり他多少動作のクセがあります。DBにインサートを行うとXAMPだとそのままMYSQLが死ぬことが多く、DBのバージョンをあわせる、文字コードの問題等、実は様々な敷居がありました。「簡単ローカル環境構築!」とか絶対ウソ記事だと思うよ。

で結局うまくいったやり方。

筆者の環境では、結局、Database Search and Replace Script in PHPだけは使用しましたが、下記手順でなんとかローカルを再構築しました。MAMPでAll-in-One WP Migrationがサクッと動けばそっちでやりたい…。愚痴ばっかごめん。

  • FLYWHEELで移動先サイトを作成
  • 本番サイトからFTPで画像(uploadフォルダ)をダウンロ-ド(実際は不要だけど、この方がすぐ画像が表示できて作業しやすい)
  • 同じく本番サイトからプラグインフォルダ、テーマフォルダをダウンロード
  • 本番サイトから純正ツールで投稿のみをエクスポート
  • FLYWHEELのアプリフォルダへ画像を追加
  • ローカルサイトの純正ツールで投稿をインポート
  • ローカルのDBのホスト名を置換(これもSQL文作ればツールいらないんだけど)
  • .htaccessを設定してインストールフォルダと表示フォルダの表示を調整
  • ローカルサイトへテーマフォルダ、プラグインフォルダを追加、不要なものを削除
  • 本番サイトと見た目を合わすためにカスタマイザー他でカスタマイズ。

アドセンスをオフっておこう

後々いろいろ問題が起きるといけないので、ローカルでは広告表示されないように変更します。GoogleTagマネージャーで一括管理しているので、ここは簡単でした。

アイキャッチが来てない!

画像フォルダの移動だけではアイキャッチが来ません。つまりDB内にあるデータなんですよねこれ。ローカルテスト環境なのでそこまでは不要なのですが、メディアをエクスポート、プラグインで読み込みというやり方で解決しました。とりあえずズレもなく元通りで表示できました。

今後の心配な点

FLYWHEELってあんまり情報がなくて、あってもアフィリ屋さんのインストールするまでの記事が多いので、何かあった場合はもうそのまま再インストール。雑だけどその方が速い…。ただ、メインマシンをしょっちゅう再起動というのも仕事効率が悪いので、別マシンが用意できるなら良いかも…。

ツールがちゃんと動作するならそっちの方がベター

エンジニアとしてよりも編集運営として早く面倒なく構築するという観点からこのやり方となりましたが、ツールが問題なく動作するのであればMAMPでやれれば一番良かったというのが正直なところではあります。