先日、妻のブログ記事(猫が書いたことになっています)を、私のWordPressマルチサイトの一つに移行しました。
移行元はココログで、エクスポート形式はMovable Typeです。移行自体は比較的スムーズに進められましたが、いくつかの課題がありました。
まず、ココログには画像を一括でダウンロードする機能がないため、別途画像取得ツールを利用する必要がありました。また、ダウンロードした複数画像をWordPressの標準機能のマルチファイルアップローダーでアップロードする際、途中で失敗すると対応が面倒でした。さらに、ココログからエクスポートした記事をそのままWordPressにインポートすると、「クラシック」として認識され、ブロックエディタで編集することができませんでした。
このように、ココログからWordPressへの移行にはいくつかの課題がありました。そのため、移行を断念してしまう方もいらっしゃるかもしれません。
このブログでは、同じような移行作業を検討している方が、ストレスなく移行できるように、注意点や問題点、解決策を分かりやすく解説しています。ココログからの移行だけでなく、Movable Type形式の記事をインポートする方にも参考になると思います。
記事は詳細な手順を解説していますので、少し長めですが、ぜひ最後まで読んで参考にしていただければうれしいです。
対象の読者
以下のいずれかに該当する方が当ブログ読者の対象です。
- ココログからWordPressへ記事を移行したいと考えている方
- Movable Type形式の記事をWordPressに移行しようとしている方
技術に詳しくない方でも読み進められるように、できるだけわかりやすく解説しています。ただし、以下のような知識があると、よりスムーズに読み進められると思います。
- サクラエディタで正規表現を使った置換をしたことがある、もしくは興味がある。
- FTP通信などを使ってサーバーにファイルをアップロードしたことがある、もしくは興味がある。
検証(動作)環境
- オペレーティングシステム:Windows 10 Home
- WordPressバージョン:WordPress 6.4.4
- ブラウザ: Google Chromeバージョン: 125.0.6422.142(Official Build) (64 ビット)
移行の手順(概要)
以下の手順で移行を行います。
- 画像の一括エクスポート(ココログ⇒ローカル)
- 記事の一括エクスポート(ココログ⇒ローカル)
- 画像の一括インポート(ローカル⇒WordPress)
- 記事のフォーマット変換(Movable Type形式のブロックエディタ化)
- 記事の一括インポート(ローカル⇒WordPress)
- 記事を一括公開する
各手順のポイントを簡単に説明します。まずは、問題点や注意点等の全体像をつかんでください。
1.画像の一括エクスポート(ココログ⇒ローカル)
ココログには、画像を一括でエクスポートする機能がありません。そのため、無料の『Website Explorer』というツールを使って一括で取得します。このツールは、無料ですが、Windows7の頃から多くのユーザーに利用されてきた信頼性の高いツールです。
2.記事の一括エクスポート(ココログ⇒ローカル)
指定した期間の記事を一括でMovable Type形式にエクスポートします。この機能はココログサイトが提供しているものですので、特に注意点はありませんが、使い方を簡単に説明します。詳細についてはココログサイトのヘルプをご覧ください。また、MT形式のファイルの構造を理解するために、簡単な説明もさせていただきます。
3.画像の一括インポート(ローカル⇒WordPress)
WordPressには、『マルチファイルアップローダー』という、画像ファイルを一括でアップロードする機能が標準で備わっています。この機能は、複数の画像のアップロードとインポートを同時に行うとても便利な機能ですが、容量の制限、回線断などの理由で、ときどき失敗することがあります。もし、失敗すると面倒です。WordPressでは、ファイル名をデータベースで管理しているため、一度、画像ファイル名を認識してしまうと、同じ名前のファイルをアップロードすると、たとえ削除していたとしても自動的に別の名前が付けられてしまいます。
今回は、FTPツールを使用してまずサーバーのフォルダに画像をアップロードし、その後、WordPressのプラグインを使用してインポートするという手順を2回に分けることで、リスクを軽減する方法をご紹介します。この方法では、アップロードの失敗がインポートの失敗につながらないため、エラーのリスクが大幅に軽減されます。
また、画像を取り込んだ後、画像ファイルを整理するためのプラグインも併せてご紹介させていただきます。
4.記事のフォーマット変換(Movable Type形式のブロックエディタ化)
記事の一括インポートは、WordPress標準プラグインである「Movable Type・TypePad Importer」という機能を使用します。しかし、ココログからエクスポートした記事をそのままインポートしてしまうと、編集しようとした際にブロックエディタで「クラシック」と認識されてしまいます。
ブラウザでの表示に問題がないため、将来的に記事の編集をしないのであれば、そのままでも問題ありません。しかし、そのままの状態で、うっかり、ブロックエディタから『下書き保存』ボタンを押してしまうと意図しない形で記事が消えてしまうことがあります。ぜひ、このタイミングで記事のブロックエディタ化を行うことをお勧めします。複数回の正規表現の置換を使って記事のブロックエディタ化を行います。
私は実際に2015年と2021年のココログの記事を変換しましたが、これらの2つの時期の記事には構造の違いが若干ありました。同じ正規表現ではうまく変換できませんでしたので、2015年と2021年の2つの正規表現をご紹介いたします。ただし、これはあくまでも変換の一例です。記事の書き方によっては、私が行った正規表現の手順ではうまく変換できないこともありますので、必要に応じて自分用にカスタマイズして利用してください。
5.記事の一括インポート(ローカル⇒WordPress)
WordPressの「Movable Type・TypePad Importer」プラグインを使って、記事を一括でインポートします。『4.記事のフォーマット変換(クラシックからブロックへ)』で適切にフォーマット変換が行われていれば、特に注意すべき点はありませんが、一応手順をご紹介いたします。
6.記事を公開する
記事を、インポートと同時に公開するのは危険です。インポートされた記事が、自分の思い通りの表示に変換されていなくても、そのまま公開されてしまうからです。一旦下書きとしてインポートし、記事の内容を確認した後に公開することをお勧めします。WordPressには、20記事までならまとめて公開する機能がありますので、その機能をご紹介させていただきます。
それでは、各手順について詳しく説明していきます。
1.画像の一括エクスポート(ココログ⇒ローカル)
サイトにアップされている画像を取得するツールはいくつかあるようですが、私は『Website Explorer(ウェブサイト・エクスプローラー)』というツールを使用して画像を取得しました。
以下は、Website Explorer開発者ブログサイト:Website Explorer(ウェブサイト・エクスプローラー)』開発者「梅ちゃん堂」さんのサイトです。
多くの画像取得ツールは、指定したURLページにアップされている画像しか取得してくれませんが、『Website Explorer(ウェブサイト・エクスプローラー)』は、指定したURL配下のサブフォルダを辿ってダウンロードしてくれます。しかも無料です。2025年5月時点で、Windows10でも問題なく動作することを確認しています。だたし、2020年4月に公式サイトでのサポートが終了したように、積極的なサポートはありませんので、使用する場合は自己責任で使用してください。
手順はとても簡単です。
ダウンロードしたい画像ファイルの『トップURL①』を指定して、『開始②』ボタンをクリックすれば、「ピュー↑」っという音がして、トップURLで指定したWebサイトの解析が始まります。
ココログの『トップURL』は下記を参考にしてください。
『Website Explorer(ウェブサイト・エクスプローラー)』は、公開されている記事、及び、画像が解析(ダウンロード)対象です。もし『下書き』や『公開待ち』の記事の画像を解析(ダウンロード)したい場合は、解析する前に記事を公開しておく必要があります。
解析が終わると、「ピュー↓」っという音がしてエクスプローラのような以下の画面が表示されます。左側にフォルダ構成が表示され、右側に内容が表示されています。(左側のフォルダをクリックするとプルダウンで配下のサブフォルダが表示されます)
2015年と2021年のフォルダ構成を比較すると、2015年の画像は年、月、日ごとに細かくフォルダが分かれていますが、2021年の画像は “images” というフォルダに1つにまとめられています。年代によって若干フォルダ構成が異なっていることがわかります。
画像ファイルを取得するために『保存』ボタンをクリックすると、以下のようなダイアログが表示されます。
『保存先ディレクトリ:』に、保存するローカルのフォルダを指定し『OK』をクリックすれば、記事や画像等のすべてのコンテンツがサーバーのフォルダ構成そのままで取得されます。
取得した後で、管理がしやすいように、なるべく1つのフォルダにまとめることをお勧めします。ただし、後で『記事のフォーマット変換』を行いますので、以下のように、記事内に指定されてた画像URLを一括で置換できるようなまとめ方を意識します。
http://xxxxxx.cocolog-nifty.com/photos/uncategorized/2015/07/16/2015071617360000.jpg
⇓
【移行先のドメイン名】/【画像フォルダ】/2015071617360000.jpg
正規表現であれば、上記の青字部分のパターンを変換するのは簡単です。私の場合【画像フォルダ】は、2015と2021というフォルダにしました。
WordPressのメディアライブラリでは、画像のメタ情報はデータベースで管理しています。そのため、実際のフォルダ分けとWordPressのフォルダ分けはまったく関係ありません。
画像ファイルを一つにまとめる場合に同じ名前のファイルがあると、ファイル名の変更をしなければなりませんが、ファイル名は後で記事内の画像URLを一括で置換することを考慮してください。例えば、ファイル名にフォルダ名を含めると、後で一括置換が簡単になります(例:/2015/07/16/ファイル名.jpg ⇒ 20150716ファイル名.jpg)。このようにすると、正規表現で『/』を取り除くだけで一括置換が可能です。しかし、もし、そのような変換が難しい場合は、フォルダ構成はそのままにすることをお勧めいたします。
『Website Explorer(ウェブサイト・エクスプローラー)』の操作方法は直感的で分かりやすいので、使い方に悩むことはないと思いますが、もしもわからないことがあれば、以下のようなサイトなどを見て操作方法を確認してください。
2.記事のエクスポート(ココログ⇒ローカル)
ココログの記事をMovable Type形式に一括でエクスポートします。ココログのサイトに備わっている機能ですので、特に悩むことは無いと思いますが、簡単に手順を説明します。
ココログの管理ページにログインして『①設定』→『②エクスポート』→(③期間指定)『④エクスポート』の順でエクスポートします。私はすべての期間を指定してエクスポートしました。
Movable Type形式は、バックアップや移行目的でページのテキストを保存するための形式です。拡張子は一般的に「.mt」ですが、ココログでは「.txt」です。Movable Type形式は、人が読みやすく、編集もしやすいという特徴があります。以下のようなテキストです。
以下はMovable Type形式の簡単な説明です。
TITLE: 記事のタイトル
AUTHOR: 著者名
DATE: 2024/05/29
CATEGORY: カテゴリ1, カテゴリ2
KEYWORDS: キーワード1, キーワード2
-----
BODY:
記事の本文がここに入ります。
-----
EXTENDED:
拡張本文がここに入ります。
-----
EXCERPT:
記事の要約がここに入ります。
--------
Movable Type形式では、記事と記事の区切りを「——–」(ハイフン8文字と改行コード)で行います。記事先頭の区切りは不要です。各セクションは、メタデータ・セクションと複数行フィールド・セクション(例えばBODY:)に分かれ、「—–」(ハイフン5文字と改行コード)で区切ります。
メタデータ・セクションには、TITLE、AUTHOR、DATE、BODYなどのフィールドが含まれます。セクションやフィールドはオプションですが、オプションの数や構成は、各記事間で一致させる必要があります。
複数行フィールド・セクションは、フィールドの型を表示するキーの後にフィールドの内容を記述します。
Movable Type形式は、使用するアプリやツールによってカスタマイズできますが、今回私が採用したセクションとフィールドを以下に示します。
メタデータ・セクションのフィールド
- タイトル(TITLE):記事のタイトルです。指定しない場合は、記事本文の先頭から自動的に生成されます。
- 著者(AUTHOR):事の作成者名です。該当の作成者がシステムに登録されていない場合は、システムに追加し、該当のブログへの投稿の権限を設定します。
- 日付(DATE):記事の投稿日時です。フォーマットは、MM/DD/YYYY hh:mm:ss AM|PM です。AM|PM はオプションで、それがない場合、時刻は24時間制で処理します。
- 公開状態(STATUS):記事の状態です。Draft (下書き) または Publish (公開)、Future (指定日公開) のどちらかを設定します。大文字・小文字の区別はありません。STATUS キーが設定されていない場合は、ブログの設定の初期値を適用します。また、設定値に誤りが見つかった場合、処理を終了して記事を登録しません。。
- カテゴリ(CATEGORY):記事のサブカテゴリです。複数の CATEGORY キーをメタデータ・セクションに記述することで、複数のカテゴリを設定できます。カテゴリが登録されていない場合、自動的に追加されます。
- スラッグ(BASENAME):記事の出力ファイル名です。特に指定がない場合でも、構築後に自動的にファイル名が生成されます。このファイル名は、通常スラッグを基にして生成されます。
複数行フィールド・セクションのフィールドキー
- 本文(BODY):記事の本文を記述します。
- 拡張本文(EXTENDED):拡張本文を記述します。記事のメインコンテンツに追加情報や詳細を含めたい場合に使用します。
- 記事の要約(EXCERPT):記事の要約を記述します。記事の概要を簡潔に示し、読者に内容を紹介するために使用します。
Movable Type形式の詳しい説明ページは下記を参照してください。