すまいるネット技術部の藤本です。この度、当社ドメイン(s-seo.jp)から別ドメインに記事をまるごと移行するという作業が完了しました。
内容としては、WordPressのカスタム投稿タイプで設定していた「すまいる自由帳」というコラムコンテンツを、別のWordPressの投稿に移動するという作業になります。
最初は不安の連続でしたが、なんとか形になって良かった!備忘録のようになりますが、以下に今回行ったWordPress同士の記事の移動方法について記載しておきます。
目次
記事を移動する前準備として
画像をコピーしておく
今回、テーマは新たに設定したものを使用します。そのため、テーマのコピーは割愛します。
大事なのは記事内で使用していた画像です。今まで、投稿画面の「メディア」から画像を挿入していたので、サーバー内にある『/wp-content/uploads/』配下にある画像を、移動先のサーバーにコピーしておきましょう!
ちなみに、コピーしたいコラムコンテンツ以外の画像も含まれているので、私は必要なものだけコピーしました。(大変重くなってしまうので……
なお、記事にアイキャッチ画像を設定されている場合ですが、アイキャッチ画像は設定が外れてしまいます。そのため、今回は泣く泣く手動で設定し直しました……。ただし、特別なプラグインを利用すれば引き継がれるそうですよ。
プラグインの設定
利用していたプラグインについても自動的には引き継がれません。そのため、あらかじめ必要に応じてインストールし直しましょう。
なお、当社ウェブサイトではAll in One SEO Packを利用していて、meta descriptionとmeta keywordsを記事ごとに設定していました。
新たにプラグインをインストールすると、最初はmeta keywordsが表示されないように設定されています。
その設定のまま記事を移動した所為かどうかは不明ですが、meta descriptionは引き継がれましたがmeta keywordsは設定されておりませんでした。そのため、こちらもあとから手作業で設定しております……。
もし、もともとmeta keywordsを設定されているようでしたら、移動先でプラグインを設定した際にmeta keywordsが設定できるようにしておくと良いのではないでしょうか。
パーマリンク・メディアの設定を共通にする
改めて設定し直すのは骨が折れますが、中でも特にリンク切れを起こしやすい「パーマリンク」と「メディア」の設定は移動元と同じ設定にしておきましょう。
パーマリンクに関しては最後にリダイレクト設定をする予定でしたので、ドメイン以外は共通に設定しようと考えておりました。ここはバッチリ同じように設定しておきます。
移動元のWordPressから記事をエクスポートする
いよいよ移動作業を始めます……!
まず、xml形式のファイルをエクスポートしていきます。今回は「すまいる自由帳」というコラムコンテンツのみを外に出すので、それ以外は移動しないように設定しましょう。
WordPress管理画面からツール > エクスポート
もし、移動したい記事がすべてであれば、「すべてのコンテンツ」を選択した状態にしておいてください。
今回のように、任意の記事のみの場合はそれにチェックを入れます。今回は「すまいる自由帳」とします。
チェックをしたら「エクスポートファイルをダウンロード」をクリックします。
ダウンロードしたファイルを編集
次に、先ほどダウンロードしたエクスポートファイルを移動先にインポートするのですがその前に!
カスタム投稿タイプから投稿タイプへ移動先の設定を行います。
先ほどダウンロードしたファイルをエディタで開いてみましょう。私はサクラエディタを使用しています。
ファイルに記載されているのは、移動したい記事の情報です。これらが情報としてきちんと移動先に伝えられると、記事の移動が完了します。
カスタム投稿タイプから投稿タイプへ
冒頭でお話しした通り、もともと「すまいる自由帳」というコラムコンテンツはカスタム投稿タイプで設定しておりました。
今後はこちらをメインとしてWordPressを運用していくので、投稿タイプに設定し直したいと考えております。しかし、このままインポートすると同じくカスタム投稿タイプとして処理されてしまいます。
そこで、エディタで開いたファイルのある部分を書き換えます。注目すべきは以下の部分です。
変更前
<wp:post_type>column</wp:post_type>
「column」という投稿タイプ名が記載されています。これはカスタム投稿の設定を行う際、「すまいる自由帳」を認識するために付けた名前です。管理画面にあるカスタム投稿タイプの記事一覧ページに行くと、URLの「post_type=」の後にあるのがそれです。
そちらを以下のように書き換えます。
変更後
<wp:post_type>post</wp:post_type>
これで投稿タイプに変更ができました。もちろん、ひとつだけでなく必ず全置換を行ってください。
また、私はhタグなどのスタイルも変更しているので、class名を排除するなどを行い、この時点であらゆるものを全置換しておきました。
移動先のWordPressに記事をインポートする
記事を移動先のウェブサイトに入れていきます。先ほど行ったエクスポートする作業の逆で、移動先にインポートという作業を行います。
先ほどは必要なかったのですが、インポートするためにはプラグインが必要になりますので設定を行います。
WordPress管理画面からツール > インポート
インポート画面から「WordPress」をクリックしてください。その後、以下のようにプラグインをインストールするための画面が表示されます。
「いますぐインストール」をクリック後、有効化してください。
その後、「ファイルを選択」から先ほどエクスポートしたファイルを選択してください。すると「ファイルをアップロードしてインポート」というボタンがクリックできるようになります。そのボタンをクリックして、以下の通りに情報の設定を行ってください。
「実行」をクリックすれば、インポートが開始され問題なければそのまま完了します。任意の投稿画面に記事が入っている状態になりますので確認してください。
インポートをし直すときの注意
もし、エクスポートしたxmlファイルを編集などしてからインポートする場合、置換し忘れなど思うようにいかなかったときに、再度編集し直したxmlファイルをインポートし直したくなることもあるでしょう。
しかし、一旦入っている記事に上書きをすることはできません。通常インポートすると、既に存在している記事は無視されてしまいます。
そこで、インポートし直したい場合は一旦記事をすべて削除してください。必ずゴミ箱からも完全に削除しましょう。そうすれば新たにインポートされます。
一括挿入でらくらく引越し!
以上がWordPressの記事を一括で移動する方法になります。参考になりましたでしょうか。
私も貴重な体験をさせていただきました! sqlファイルを使ったデータベースからの作業より簡単なので、こういった機会がありましたらぜひ上記のように設定してみてください。
それでは( ´・ω・`)ノ