WordPressとはもう10年以上付き合っているので、ある程度熟知していますが、先日はてなブログからWordPressに移行しました。
はてなブログ自体は1年ちょっとしか使っととはありませんが、どちらもメリット・デメリットがそれぞれあると思います。
それらを含めてWordPressに移行したわけですが、私が移行したことがずいぶんと衝撃が走った?ようであちこちでそのような発言を頂きました。
移行が完了してしまえばもう何も苦労することはないので「まぁ大変だったなぁ」程度でしたが、他にもWordPressへの移行を検討している方が大勢いそうな気配です(笑)
先日、カリスママイルブロガーの称号を持つのりさんからWordPress移行の依頼を受けましたので移行作業をさせていただきました。
こんな私でも頼りにしてくださる方がいるのはホント幸せなことですね。

目次
DMにて依頼を受ける
普段はのりさんとふざけた話や飲みの話などをしている私ですが、急に真面目な話のDMが送られてきました(笑)
このDMを受け取って率直にこう思いました。
この師走の忙しい時期に・・・(冗談です)- 業者に頼むのもありだと思う
- のりさんならやってあげてもいいかな?
- 信頼されて嬉しいなぁ(*´∀`*)
面倒くさいと思ったのは冗談ですが(笑)実際問題、業者に頼めばすぐに終わるので一番楽だとは思いますがその後自分でカスタマイズしたいときなどに意味を理解してないと後々面倒な気がします。
のりさんとは一緒に函館へ家族旅行に行った仲なので快くOKしました(笑)
移行後ははてなブログと使い勝手がだいぶ違うので基本的な使い方などもサポート出来るように「移行後のサポートもおまかせを♡」と伝えておきました(*^^*)
テストサイトで確認
はてなブログのバックアップデータを用いて、私のサーバーでテストサイトを構築してWordPressにした場合こんな感じになることを確認してもらいました。
ついでに爆速表示になったはてなブログとの速度の違いも確認してもらいました。
また使用したいテーマを確認しイメージと合うかなども確認をお願いしました。
新サーバーの準備
のりさんからおすすめのサーバーを聞かれたため、のりさんのPV数とバズった時のアクセス制限回避を含めてクラウドレンタルサーバー
のmixHost
のプレミアムプランをおすすめしました。
私のバナーより契約して頂きWordPressをインストールしてはてなからダウンロードした画像データをアップロードします。
SSL化の問題
今回の目的はSSL化ですが、mixhostにはちょっとだけ問題が有りました。
お名前.comなどでドメインの設定をはてなブログからmixhost
に変更してから24~72時間経過しないとSSL認証が発行されないという仕様でした。
このため、最初からhttpsでサイトを構築したかったのですが、ブログにアクセスできない時間を極力少なくするため一旦httpで作ってSSL認証後にhttpsに移行することにしました。
パーマリンクの設定
はてなブログの記事URLをなるべく変更しないようにWordPressのパーマリンク設定も以下のようにします。
/entry/%postname%
これにすることではてなブログのカスタムURLは何の問題もなく表示できます。
移行前の準備
はてなの仕様がころころ変わるのでソースコードを見ると実は時期によって色々変わっている箇所があります。
のりさんから送ってもらったはてなブログのバックアップデータをにらめっこしながらデータの書き換えを行いました。
画像URLの修正
正規表現を使いながらまずはWordPress形式のURLに変更していきます。
はてなの仕様上3パターンがありました。2016年の夏頃にフォトライフのがhttps化になったりhttp記述無しになったりしているようです。
http://cdn-ak.f.st-hatena.com/images/fotolife/[はてなidの頭文字]/[はてなid]/[アップロード日]/[アップロード時刻].[拡張子]
//cdn-ak.f.st-hatena.com/images/fotolife/[はてなidの頭文字]/[はてなid]/[アップロード日]/[アップロード時刻].[拡張子]
https://cdn-ak.f.st-hatena.com/images/fotolife/[はてなidの頭文字]/[はてなid]/[アップロード日]/[アップロード時刻].[拡張子]
これら全ての画像URLを以下のように変更します。
[ドメイン名]/wp-content/uploads/[アップロード年]/[アップロード月]/[アップロード時刻].[拡張子]
これを全ての月で繰り返します。かなり大変かと思いましたが正規表現を使って1分もかからずに2年分おわりました(笑)
キーワードリンクの削除
はてなブログProに契約するとキーワードリンクを削除できますが、実はこの設定をONにした移行の記事からしか反映されません。ソースコードを見ると設定するより前の記事にはばっちり残っているのです。
その為、はてなブログからのバックアップデータをそのまま移行するとWordPressの記事にもキーワードリンクが残ることになります。
<a class=”keyword” href=”http://d.hatena.ne.jp/keyword/キーワード”>キーワード</a>
この部分を削除する必要があります。
これも正規表現を使って一瞬キーワードリンクを消すことが出来ます。
はてなブログの目次の削除
はてなブログで目次を付ける場合は、[:contents]と入力するだけで目次が表示されますが、はてなブログからバックアップデータをダウンロードすると自動的にリンク付きのURLに変更されてしまいます。そこで以下の部分を一括で全て空白に置換してはてなの見出しを削除します。
<ul class="table-of-contents">
<li>
-----
EXTENDED BODY:
<a href="#見出し1</a><ul>
<li><a href="#見出し2">見出し2</a></li>
<li><a href="#見出し3">見出し3</a></li>
</ul>
</li>
</ul>
これも正規表現を使いながら一気に消します。
リダイレクト設定の設定
リダイレクトにはWordPress用のプラグインのRedirectionsを使用します。
日時URLへの対応
はてなブログでカスタムURLではない場合投稿した日時URLになります。
[ドメイン名]/年/月/日/時/分/秒
これをそのまま移行するとWordPressでは記事URLに/(スラッシュ)をいれれないため / がなくなります。
しかし最近の仕様では / ではなく-(ハイフン)が入るようです。
そこでプラグインを使って日時URLのリダイレクトを行います。
正規表現を用いることで全ての日時URLに対応できます。
はてな形式からWordPress形式への対応
はてなブログの場合カテゴリやアーカイブのURLが下記のようになります。
[ドメイン名]/archive/category/[カテゴリ名]
[ドメイン名]/archive/[年]/[月]
これをWordPress形式のURLにリダイレクトを行います。
[ドメイン名]/entry/category/[カテゴリ名]
[ドメイン名]/entry/[年]/[月]
はてなブログカードへの対応
これは以前記事で書きましたが、はてなブログに言及されたブログカードが正常に表示されないことを防ぐ内容です。

これで正規表現を用いたリダイレクト設定は完了です。
移行後の作業
ネームサーバー変更の関係で一旦サイトにアクセスできなくなります。これが1時間だったり72時間かかったり…設定が浸透するのに時間がかかります。その間にGoogleAdSenseがサイトエラーを検知すると「確認済みのサイト」のチェックが外れてしまうようです。
サイトが確認済みサイトのリストに登録されていない場合
広告コードを挿入した URL が確認済みサイトのリストに登録されていない場合でも、その URL には広告が表示され、表示回数やクリック数が記録されますが、広告主様には課金されません。したがって、そのサイトから収益を得ることができません。
まとめ
今回は自分が移行したときよりもかなりテストを重ねた気がします。人から頼まれたほうが慎重になりますね(笑)
これからもはてなブログからWordPressへの移行のご依頼お待ちしております(*^^*)

コメントを残す