ご無沙汰しております、ヤガーです。
すっかり更新頻度の減ってしまったテック・ガジェットブログのCreazy!なのですが、2006年5月に開始してから10年以上MovableTypeで動作させてきました。その間にバージョンアップしたり、サーバーを移転したりは何度もやっているのですが、この度、複数運営しているブログ・サイトのサーバーを整理するタイミングで、サーバー移転&WordPressへの移行をすることを決意しました。
というわけで、ざっくりどんな作業をしたのか記録のためにレポートしたいと思います。
移転の概要
冒頭に書いたように複数のサイトを複数のサーバーで運用しているのですが、更新頻度の低いサイトも多いためコスト削減のためにサーバーをまとめることにしました。これも、思いきらないとなかなかできないのですが、ようやく着手できた感じです。
作業内容は大きく3点あります。
- サーバーの移転(さくらのVPS → XSERVER)
- ブログシステムの移行(MovableType → WordPress)
- SSL化
サーバーの移転(さくらのVPS → XSERVER)
安価にLinuxサーバーを運用できるさくらのVPSは本当にありがたく利用させてもらっていますし、まだ数契約使い続けている状態なんですが、SSHログインしてコマンド叩けるから勉強になるなどの理由で運用していたものの、むしろメンテナンスが面倒になってきてしまったので普通のレンタルサーバーに移転することにしました。
移転先は、そのままさくらでレンタルサーバーに移転することもありだったのですが、仕事で選択することが多いXSERVERに決めました。
ブログ運用でもパフォーマンスの良さには提供のある会社さんだと思います。
ブログシステムの移行(MovableType → WordPress)
サーバー移転に際して、ブログシステムも刷新しました。というのも、これも勉強のためとしてMovableTypeを運用してきましたが、ここ数年でのブログ構築の案件では100%の割合でWordPressが選ばれる状況ですし、自分としてもカスタマイズはWPの方が楽になっているので日和ってしまいました。このあたりは時代の流れということで・・・
常時SSL化
もう一点は待ったなしの状況になってきた全サイトSSL化(https)ですね。
お問い合わせなどフォームがあるページはもちろん、通常のページでもhttps化されていないページでは読者に不安を与える可能性がでてきてしまうとあって、これはなるべく早く対応しようと思っていました。各レンタルサーバー会社さんも無料SSL対応を進めていますがXSERVERも非常に簡単に対応できます。
※ちなみにVPSでも自分でLet’s Encryptで設定とかしていたんですが・・・まあ、面倒になりました(笑)
ドメイン・サーバーの移転
XSERVERを使うことにしたんですが、移行前のCreazy!は、
・ドメイン: VALUE-DOMAIN
・サーバー: さくらのVPS
という謎の構成になっておりました(過去の産物)あまり良い思い出のないVALUE-DOMAINのサービスは一掃したかったために、ドメインもサーバーもXSERVERにすることにしました。
MovableTypeからデータをExport
サイドメニューから、 [ツール] の [記事のエクスポート] を選択します。
[ブログのエクスポート] ボタンでデータをダウンロードできます。
MovableTypeから画像データをExport
ここがMTユーザーでも設定によって異なるところだと思いますが、ボクはアップロード画像を
/img
/photo
のどちらかのディレクトリにしか保存していなかったので、そのままこのディレクトリをバックアップしておきました。
$ tar zcvf creazy.net_img_photo.tgz img photo
とか
XSERVERを契約
まずは移行先のXSERVERを契約します。
XSERVERにWordPress環境を構築
この時点ではまだDNSは変更していないので手元のMacのhostsをXSERVERに向けてテストしています。
$ sudo vi /etc/hosts
(XSERVERのIP) creazy.net
creazy.net でWPを動かす前提でインストール・設定します。ここは普通の手順なので省略。
さきほどtar gz圧縮しておいた画像データは同じディレクトリに展開しておきます。
XSERVERのWordPressにデータをインポート
[ツール] → [インポート] でMovableType形式を選択して進んでいき、先にバックアップしておいたデータを読み込ませればOK
ここで気をつける必要があるのが「パーマリンク設定」です
[設定] → [パーマリンク設定]
MTでは「/YYYY/MM/permalink.html」という形式を取っていたのでWPでも同じURLで取り込まれるようにパーマリンク設定を「カスタム構造」にして
/%year%/%monthnum%/%postname%.html
としておきました。これで、MTと同じURLでアクセスできます。
サムネイルの一括取り込み「Auto Post Thumbnail」プラグイン
MTから持ってきただけだと、アイキャッチ画像が空のままなのですが、たくさんある記事を一つづつ更新し直すのは現実的でないので一括でやってくれるプラグインを使います。
Auto Post Thumbnail — WordPress プラグイン
アイキャッチが空の記事に、記事本文ないから画像リンクを探してきてあったらアイキャッチに挿入してくれるっていうバッチ的な機能を持っています。
一覧でサムネイルを確認できる「Easy Featured Images」プラグイン
Auto Post Thumbnailでざっくりアイキャッチは入るんですが、取りこぼしている可能性もあるので、管理画面の投稿一覧にアイキャッチのサムネイルを表示してくれるプラグインを使ってチェックします。
Easy Featured Images — WordPress プラグイン
一覧からアイキャッチの追加もできるのでガンガン更新かけていくことができます。
ネームサーバーの向きをさくらのVPSからXSERVERに切り替え
新しいXSERVERのWordPressの準備が整ったら、DNSを切り替えます。
VALUE-DOMAINからXSERVERで指定されているネームサーバーに変更します。
ドメイン移管
さきにサーバーを切り替えておいてから、改めてドメイン移管申請をします。
手順はこの辺に書いてあります。
ドメインを他社へ移管したいのですが、手続き方法を教えてください | VALUE-DOMAIN ユーザーガイド
VALUE-DOMAINで認証鍵(Auth-Code)を取得して、XSERVERで移管申請を出すという感じです。
これが切り替わると無事に移行完了・・・!?
常時SSL化
まだ終わりじゃないのです。ついでに常時SSL化をします。
XSERVERにドメイン移管が終わらないとできないのでここから手続きをします。
無料独自SSL設定 | レンタルサーバー【エックスサーバー】
サーバー的には上のページの手順で申請するだけで有効になります。
WordPressの設定をhttpsに変更
全てのページをSSL化したいため基本のURL設定をhttpsにします。
[設定] → [一般]
WordPress アドレス (URL): | https://creazy.net/wp |
---|---|
サイトアドレス (URL): | https://creazy.net |
こんな感じ。
「Search Regex」プラグインで記事中のURLを一括置換
MTから取り込んだURLはhttp://の時のものなので、一括置換をかけます。
Search Regex — WordPress プラグイン
http://creazy.net
を
https://creazy.net
に置換します。
ちなみに、外部のサーバーに保存されている一部の画像はそのままhttpsに切り替えられないケースもあるので、そういうのは自サーバーへアップロードし直すなりの対応が必要かと。
まとめ
という感じで、だだっとやったのですが思ったよりも簡単にいきました。
まあ、プラグイン環境が充実しているおかげもありますね・・・。
せっかく、使い慣れたWordPressになったんだからもっと記事書かないとか・・・。なんてな。