自作ツール&スクリプト

【Blog】はてなブログからWordPress移行へのポイントまとめ

hatenablog-convert-wordpress

はてなブログからWordPressへ移行するにあたってのポイントをまとめました。

はてなブログの記事のエクスポート方法

  • 管理画面から設定>詳細設定>エクスポートの記事のバックアップと製本サービスのリンクを押す
  • <ブログ名>をエクスポートするボタンをクリック
  • ダウンロードするボタンが現れるのでクリック。<URL>.export.txtというようなMT(MovableType)形式のテキストファイルが出力できます。
    ※日をおいての2回目移行のエクスポートはダウンロードしなおすボタンを押してから、ダウンロードすると最新の状態でエクスポートされます。

パーマリンク(記事のURL)の種類ごとに分ける

はてなブログ、はじめは日付のURLにしていたのですが、途中からカスタムURLで投稿していたので種類ごとにテキストを分けておきます。

※保存する時は UTF-8で。

ワードプレスでのインポート方法

日付のパーマリンクのインポート設定

  • WordPressの管理画面から設定>パーマリンク設定へ
  • 共通設定からカスタム構造にチェック。/entry/%year%/%monthnum%/%day%/%hour%%minute%%second%と入力。
    ※投稿日時とURLが一致していること。はてはブログで手動で調整かぎり、投稿日時とURLは一致しています。

※ググると実はデフォルトの状態では、WordPressのリンクに “/” は使えませんって書いてありますが、そんなことはなく上記のカスタム構造で問題なく移行できます。

カスタムURLのパーマリンクのインポート設定

  • WordPressの管理画面から設定>パーマリンク設定へ
  • 共通設定からカスタム構造にチェック。/entry/%postname%/と入力。

インポート方法

パーマリンクの設定が終わったら記事をインポートします。

  • WordPressの管理画面から設定>ツール>インポートf:id:min0124:20180408093251p:plain

  • Movable Type と TypePadの項目からいますぐインストールをクリック

  • インストール完了後、インポーターの実行に文字が変わるのでクリック
  • ファイルを選択でエクスポートしたテキスト(<URL>.export.txt)を選択。
  • ファイルをアップロードしてインポートをクリック。
    ※ テスト記事が競合することがあるので、事前に削除

※ 投稿数が多いとタイムアウトが発生します。その場合分割をすることをおすすめします。

※ 抜け漏れが出た場合、探すのが大変なので記事タイトルのリストを用意することもおすすめします

※ 記事のカテゴリー付け忘れなど発見できることも

インポートした記事の一括編集

アイキャッチの設定

  • 管理画面>プラグイン>新規追加からAuto Post Thumbnailを検索。インストールして有効化します。
  • 設定>Auto Post Thumbnailへ行き「Generate Thumbnails」ボタン押すとアイキャッチが設定されます。
    ※ちなみにGoogle Photosにアイキャッチの画像を参照していたのですが、実行後はコピーされてメディアに格納されます。

※記事を確認。デフォルトではアイキャッチは本文中にも表示されるので、Cocoon設定>画像>本文上にアイキャッチを表示するのチェックをはずします。

f:id:min0124:20180408093406p:plain

記事内の編集

編集の必要ないもの

カテゴリー

問題なく移行されます

見出し

問題なく移行されます

※はてなブログではマークダウンで記述していたので、その部分は変更されています。

##やり方
↓
%MINIFYHTML4af74beb21194ffb248c30667566a15e17%%MINIFYHTML4af74beb21194ffb248c30667566a15e18%

やり方

になっていました。

画像

問題なく表示されます。

※ただし、はてなフォトライフから参照されているので、置き場所が気になる人は移行をおすすめします。

編集の必要なもの

まず記事内を一括編集できるプラグインをインストールしておきます。

  • 管理画面>プラグイン>新規追加からSearch Regexを検索。インストールして有効化します。
  • ツール>Search Regexへ行き、Seach pattern(検索)とReplace pattern(置換)を入力して変更していきます。
    ※一度変更するともとに戻せないので要バックアップをおすすめします。

目次

はてなブログでは[:contents]と記述していたものが


というように移行され、ただのリンクとなっているのでこの部分を削除します。

※ テーマによりますが、見出しを設定していれば、WordPress側で自動で目次が生成されます。

f:id:min0124:20180408093318p:plain

Search patternを開き、

Seach pattern:“`|

<

ul class=”table-of-contents”>([\s\S]*?)

<

h2 id=|“

Replace pattern:空白に

Regexにチェックして、Serchで確認後、Replace&Saveを押します。

これで目次は削除されます。

はてなブログのキーワードリンク

特につけてなかったのですが、

<a class=”keyword” href=”http://d.hatena.ne.jp/keyword/???″>リンク</a>

というような記述を消してやります。

Search patternを開き、

Seach pattern:|<a class=”keyword”([\s\S]*)</a>|

Replace pattern:空白に

Regexにチェックして、Serchで確認後、Replace&Saveを押します。

これでキーワードリンクは削除されます。

はてなブログのブログカード

問題なく移行できているのですが、ブログカードの下のリンクが邪魔なので消します。

リンク名

となっているので

Search patternを開き、

Seach pattern:|<cite class="hatena-citation">(.*)</cite>|

Replace pattern:空白に

Regexにチェックして、Serchで確認後、Replace&Saveを押します。

これでブログカード下のリンクは削除されます。

リンクの更新

ついでに昔のはてなブログのリンクも修正します。

Seach pattern:https://www.cg-method.com/entry/

Replace pattern:https://www.cg-method.com/entry/

Search Regexのポイント

正規表現を駆使します。

  • |で左右囲みます。
  • 改行なしで中身の変化する部分を含む時は(.*)と記述
  • 改行ありで中身の変化する部分を含む時は([\s\S]*)と記述
    これで大抵のものは置換できます。

ドメインの移行方法

  • エックスサーバードメインの追加設定をする
  • ドメインを取得したサイトの管理画面に行き、ネームサーバー変更する
  • 最短マッチは([\s\S]*?)のように最後に?をつける

参考お名前.comで取得したドメインをエックスサーバーで使うための設定方法

まとめ

細かいところが気になったものの、移行はすんなりできました。

あとは画像の置き場所変更やドメイン(SSL)がまだ未検証なのですが、後日追記します。

追記

wpXクラウドの14日間無料記事を見てからわずか2週間で、はてなブログからWordPressに移転してしまいました!

ある程度検証はしたものの実際にはトラブル続きで、0からやり直してもいいや
という思い切りでサーバーを切り替えました。

その備忘録です。

実際の移転の流れ

WordPressの検証

  • エックスサーバーに登録、初期ドメインでWordPressを作成。

  • テーマやらプラグインを入れて、実際の移転をシュミュレーション。負荷がかからないような設定になっていることも把握。データが大きいとすぐにタイムアウト(500エラー)する。

【WordPress】無料お試しでWordPressを導入する方法 【Blog】はてなブログからWordPress移行へのポイントまとめ
  • WordPressある程度見た目がきまって、土日使ってこのまま勢いでサクッとURL変更してしまおう!とチャンレンジすることに

  • しかし調べていくうちに、初期ドメインから独自ドメインcg-method.comに差し替えることは不可能

  • しかもwpXサーバーはWordPressは1つしかインストールできない。削除しないといけない。

  • PHPの制限解除してもFTPからデータをダウンロードできず。一応BackWPupのプラグインからデータをZIPで固めてダウンロードしておく。

独自ドメインへの切り替え

  • 金曜日朝一(10:00)でドメインのある「お名前.com」にアクセスして、ネームサーバーを変更。ついでにはてなブログの独自ドメイン化したいときのDNSレコード設定を無効に。

  • 金曜日夜(22:30)頃、はてなブログ(cg-method.com)にアクセスできなくなる。もちろんWordPressもログインできないので。DNSが浸透するまで待つ。

  • 土曜日(05:30)頃、目が冷めてたのでアクセスを確認。WordPressの管理画面にアクセス可能に!18時間くらい待ちました(閲覧できない時間は6時間位)

  • つづいてwpXクラウドにて、独自ドメインを登録。その後にWordPressを削除して、再インストール。ドメインを独自ドメインに。ついでにSSLにも設定してhttpsに。

WordPressでのサイト制作

  • バックアップデータがFTPでエラー出まくって、全然アップロードできないので一から作成することに。

  • テーマを入れてはてなブログの記事をインポートしてと約2時間位で移行完了(08:30)。眠いので睡眠をとることに。

  • 起床(11:30頃)404エラーが出まくってるので調べたら、日付のパーマリンクの置換ミスが発覚。せっかく検証したのに、眠さで通行のミス。すぐさまCustom Permalinksのプラグインを入れて、該当記事すべてハイフンからスラッシュに変更。1時間ほどで完了。

  • あとは、はてなブログの詳細設定から「検索を避ける」にチェック。限定公開にして、移転作のURLを記載。予約投稿も停止しました。

追記のまとめ

  • サーバー移転は簡単にできない。DNSの書き換え待ちに長時間かかる!

  • サーバーの特徴を知ること。制限があるのである程度本番近いデータでテストしないとわからない。

  • バックアップ方法も事前に検証もすれば良かった。

  • 移転はリスクが大きい。色々ミスしたので、アクセス数大幅減少。取り戻すのに時間がかかりそう。

  • リスクをできるだけ減らした移転をする場合、捨てアドで移転テストを何回か繰り返せば良かった。(とはいえはじめてで、知らないことだらけだったので、勢いでやるしかなかった…)といった感じです。経過をみて、気がついたことがあれば追記します。