WordPressで作られたサイトのサーバーを移転することや、特定の記事のみ他のブログに移すことはよくあること。
先日特定の記事を移す機会があったのですが、デフォルトで用意されているエクスポートだとアイキャッチが引き継がれないんです。。
デフォルトのエクスポートではアイキャッチが入らない
[ツール]ー[エクスポート]とImport WordPressだとアイキャッチが入りません。
エクスポートはWP CSV Exporterを使う
プラグインの検索から「WP CSV Exporter」を検索してインストールします。
インストールすると「ツール」に「CSV エクスポート」という項目が増えます。
今回の目的であるアイキャッチ画像のほか投稿者、公開日時、変更日時、タグにチェックを入れます。その他下書きやごみ箱など必要なものがあればチェックを入れてください。
必要なチェックをいれたらエクスポート投稿CSVボタンを押します。
エクスポートすると上のようなCSVファイルが生成されます。UTF-8で保存されているためExcelで開くと文字化けしますのでテキストエディタで開きます。
CSVファイルには画像のURLがエクスポートしたドメインになっているためここで置き換えます。
- 検索文字列:http://旧ドメイン/wp-content/uploads/
- 置換文字列:http://新ドメイン/wp-content/uploads/hoge//li>
ディレクトリを変えたのが既に新サイトで記事を書いているとファイル名がかぶったりうまくいかなかったので別ディレクトリにしました。これでエクスポートファイルの準備は完了です。
インポートはReally Simple CSV Importerで挿入
プラグインの検索から「Really Simple CSV Importer」を検索してインストールします。
プラグインをインストールすると「ツール」-「インポート」の中ににCSVという項目が増えます。
サンプルCSVでインポートできる形式がわかりますが、WP CSV Exporterで出力したCSVがそのまま使えるのでそのままインポートします。
※インポートするファイルをテキストエディタで開いたとき1~2行目が空行になっていたことがありました。空行になっている場合は行の削除で1行目を項目行にしてください。
無事アイキャッチと記事がインポートできました。
これだけだと記事内の画像が無い状態なのでエクスポート時に指定したパス(/wp-content/uploads/hoge/)に画像をまるごとアップロードすると移行完了です。
最後に
今回かなり手間取ったのが通常のエクスポートで進めたときのことです。アイキャッチが紐づけられているサムネイルのIDが不整合を起こしているようで何をやってもアイキャッチ画像がおかしい状態になってしまいました。(記事に設定したアイキャッチがずれて他の記事に設定されてしまう)
数記事だけの移行であれば手でアイキャッチを再設定することも出来るのですが記事数が多くなるとなかなか厳しいですよね。
また今回利用したWP CSV Exporterはエクスポートする記事をカテゴリ単位などでは出力できない為いったん全部エクスポート。インポート後に不要な記事を削除する必要がありましたのでご注意を。