プロローグ
○プロローグ:
・はてなブログで、WordpRess投稿を移行する方法について、記します。
・WordPressの標準のツールを使用しエクスポートします(容量制限はありません)
・またはてなブログ側も、標準ツールを使用しインポートします。(容量制限はあります)
WordPresから投稿をエクスポートする
○エクスポートオプション:
※指定可能なエクスポートオプションは以下です。

・カテゴリ選択:コラム
・投稿者選択
・期間選択(開始、終了)
・ステータス選択:公開済、非公開,下書き、予約済等
○エクスポート:
※WordPressにログイン後、「ツール」「エクスポート」を選択します。






○エクスポート内容(一部引用)
※WordPress eXtended RSS もしくは WXR と呼んでいるこのフォーマットには、
投稿、固定ページ、コメント、カスタムフィールド、カテゴリー、タグが含まれます。


はてなブログで投稿をインポートする
○インポート(HTML):
※はてなブログ自身のアカウント作成、ブログ作成については、次回に紹介します。






○インポート(画像):
※上記でHTMLは、はてなブログに取り込まれましたが、画像は未だ取り込まれていません。
※移行ボタンを押下して、画像データをWordPressからはてなブログに取り込みます。
※(注)なお、無料版では、300MB/1ヶ月の制限があります。
※(注)300MBを超える場合は、来月にも「移行」ボタンを押下して、取り込む必要があります。

WordPress用に変換/インポートファイルの変換
システム間の互換性を保持するために、以下の変換が必要になりました。
1. WordPressにアップロードする前に、ローカルHTMLファイルの変換。
2. WordPressでエクスポート後、はてなブログにインポート前のXMLファイルの変換。
※実際の変換は、秀丸エディタで実施しました。
※正規表現は必ずチェックしましょう。
※懸念がある場合は、「置換の前に確認」を指定しましょう。


★以下では、「¥」(0x5C)記号は、キーボードの「¥」(右上)/「\」(右下)、いずれでもOKです★
○ローカルHTMLファイルの変換
※画像データのURLがローカルとWordPressでは異なるために変換します
※ローカル(Aoache上)では、HTMLと画像データは同一ディレクトリでしたが、WordPress上では、画像データはフルパス名で指定する必要があるためです。
| 項目名 | 検索 | 置換 | 備考 |
|---|---|---|---|
| ファイル名の置換 | ([^/ \t\n\r”‘>]+\.png) | https://trinitas.jp/wp48ja_20170729/ wp-content/uploads/2026/08/¥1 |
/2026/08は実施日に合わせる 2行あるので1行ずつコピーする |
| </div>行を削除 | </div> | 空 | |
| <div class=exp2>行を削除 | <div .*?> | 空 | |
| <a name.*? /> | <a name=.*?> | 空 | |
○XMLファイルの変換
※何故か、エクスポート後の出力で、「<br/>」が削除されてしまう件対処、不十分ですが以下で一時対処します
※その他は、手動でコードの挿入が必要となるかも・・・!?
| 項目名 | 検索 | 置換 | 備考 |
|---|---|---|---|
| <br/>の置換 | (.+)<br/> | <p>¥1<p> | <br />ではなく、独自<br/> が対象 |
| 「・」の置換 | ・(.*) | <p>・¥1<p> | 「・」は箇条書き、改行が必要! |
ファイルサイズの問題
※WXR(WordPress eXtended RSS)ファイルサイズが大きすぎてインポートに失敗する場合の対処法※
ChromeAI参考
○ WXRファイルを小さく分割する(最も安全・確実)
ファイルを物理的に複数に分けることで、サーバーの制限を回避します。
○エクスポートを小分けにする:
・古いサイトの管理画面から「ツール」>「エクスポート」を選び、「すべてのコンテンツ」ではなく
「投稿」を選んで期間やカテゴリーごとに細かく分けてダウンロードし直します。
○分割ツールを使う:
・すでに手元にある巨大なWXRファイルは、無料のオープンソースソフト
(例: 「WXR File Splitter」など)や、Web上のXML分割ツールを使って自動で数MB単位に分割できます。
この節の最後に、WordPress&はてなブログでの、実際の操作を載せます。
○ WordPressの最大アップロードサイズを変更する
サーバーが許可するファイルサイズの上限(upload_max_filesize)を引き上げます。
.htaccessの編集: サイトのルートディレクトリにある
.htaccess ファイルに以下のコードを追加します。
php_value upload_max_filesize 64M
php_value post_max_size 64M
php.iniの編集: サーバーの管理画面などから php.ini を直接編集できる場合は、数値を書き換えます。
upload_max_filesize = 64M
post_max_size = 64M
○ 処理の実行時間(タイムアウト)を延ばす
ファイルの読み込み中に画面が真っ白になったりエラーが出たりする場合は、サーバーの処理時間
制限(max_execution_time)に引っかかっています。
wp-config.phpの編集: WordPressの設定ファイルに以下を追加して制限を緩和します。
set_time_limit(300);
○ 添付ファイル(画像)のダウンロードチェックを外す
インポートの最終画面で「添付ファイルをダウンロードしてインポートする」というチェックボックスが表示されます。
記事データ(テキスト)だけを先に移行したい場合は、このチェックを外して実行すると劇的に処理が軽くなります。
画像などのメディアファイルは、後から wp-content/uploads フォルダごとFTPソフトで直接新サーバーへコピーすれば移行できます。
○WXRファイルを小さく分割する(最も安全・確実):実際の例です。
○WordPress側でエクスポート後にXMLファイルを分割します:WordPress XMLファイル分割ツール
※オンラインツールです、インストールが不要なので助かります。
※この例では、2MBのファイルを500KB毎に、5分割しています。






○はてなブログで分割したXMLファイルを5回インポートします





★この画面では、5XMLファイルをインポート後、1件目の画像を取り込んでいる状態です。

★最後の画面では、はてなブログの月間最大画像容量300MBを超えて、停止しています。
※翌月になり「移行再開」ボタンを押下すれば、残りの画像がダウンロードされます。

何故、画像を取り込んでいないのに画像が表示される?
○エピローグ:
・はてなブログで投稿(HTML)は取込みましたが、画像は容量制限のため、未だ取り込んでいません。
・しかし、ページを表示すると画像も正常に表示されました。
・以下、Google Geminiに来てみました。
何故、画像が表示されるのですか?
エピローグ
○エピローグ:
・今回は、純粋にエクスポート&インポートに焦点を絞り説明しました。
・次回は、今回省略した、はてなブログ側のアカウント登録、ブログ作成方法等を紹介します。
著者:志村佳昭(株式会社トリニタス 技術顧問)





