So-netブログからの移行(13) 記事のインポートに失敗した場合の対処

記事内のリンクには広告が含まれいる場合があります

So-netブログからWordPressに記事をインポートする場合に失敗することがあります。エラーが表示されないので気付き難いですが、記事数を確認することでわかります。

失敗した場合の対処について記しておきます。

インポートの失敗

So-netブログから記事をMovableType形式でエクスポートして、WordPressのMovableTypeインポートプラグインで読み込みますが失敗する場合があります。

インポートする場合は、インポートする前の記事数をメモしておきます。また、インポートする記事の記事数もメモしておきます。

インポート完了後、記事数が、インポート前の記事数とインポートした記事数の和になっていなければ失敗しています。インポートのメッセージを見てもエラーとして報告されませんので気付きませんので、記事数で確認するしかありません。

インポートに失敗していることがわかったら、失敗している記事を探します。私の場合、312記事のインポートで30記事が失敗していました。

再インポート用ファイルの準備

失敗している記事の月単位でエクスポートし直します。例えば2014/10/1の記事なら2014年10月という単位でエクスポートします。

次に、UTF-8に対応したテキストエディターでエクスポートしたファイルを開きます。Windowsの標準アクセサリーのメモ帳は使えません。

構造は以下のようになっていますので、まずインポートに失敗した記事以外を削除して、インポートに失敗した記事だけにします。

次に、STATUSはPublish(公開)からDraft(下書き)に変更しておきます。CATEGORYはWordPress側のカテゴリーに合わせておきます。

問題は記事本体の部分です。ファイルでは記事全体が1行になっています。インポートに失敗する原因として考えられるのは、この中に何かしらの問題がある文字コードが紛れ込んでいることです。

そのため、この部分を成形します。私はDreamweaverを使って成形しましたが他のHTMLの成形ツールでもよいでしょう。

例えばWindows Live Writerも使えます。Windows Live WriterはWindows Essentialsに含まれるブログエディターです。インストールしたら基本的な設定を行います。ブログエディターとして使わないなら適当に設定して編集画面が表示されるようにします。ウィンドウ下で「ソース」タブに切り替えて、記事本体を貼り付けます。一度「編集」タブに切り替えてから再度「ソース」タブに切り替えると成形が完了しています。

成形が終わったら、記事本体部分に貼り付けます。この場合、1行である必要はありません。区切り記である半角ハイフン5個を含まなければ、全体としてひとつの記事として扱われます。

修正が終わったら保存しておきます。

AUTHOR: Solomon
TITLE: メンズシェーバー(ブラウン、フィリップス、パナソニック)
STATUS: Draft  <-----Publishから変更
ALLOW COMMENTS: 3
CONVERT BREAKS: 1
ALLOW PINGS: 3
PRIMARY CATEGORY:
CATEGORY: 家電
DATE: 06/09/2013 06:32:11
-----
BODY:
記事本体
-----
EXTENDED BODY:
-----
EXCERPT:
-----
KEYWORDS:
test
-----
--------

 

コメントの削除

インポートした記事にコメントがあった場合はコメントだけはインポートされてしまいます。

WordPress 4.2まではコメントが紐づく記事が無い場合は削除できなくなり、直接データベースをいじくって削除する必要がありました。

WordPress 4.3からはコメントに紐づく記事が無い場合、適当な関係ない記事に紐づけてしまいます。そのため、インポートに失敗した記事に付いていたコメントを探して削除する必要があります。

So-netブログ側でコメント投稿者とコメント内容を確認してWordPress側の該当するコメントを削除します。

再インポート

ここまでの準備ができたら、あとはインポートするだけです。インポートを行い、正しくインポートされたこと、コメントが正しく紐づいていることを確認してください。

インポートに失敗している場合は、記事の成形に失敗している可能性があるので、別のツールを探してみてください。

まとめ

移行での記事のインポートは成功して当然なのですが、失敗していることに気付かないのも問題です。

とりあえず私の場合は、この方法ですべての記事のインポートは行えました。

 

コメント

タイトルとURLをコピーしました