旧URLからもアクセスできるようにNucleus CMSからWordPressへ移行

投稿者: | 2015年6月9日

今回、弊社のブログ管理をNucleus CMSからWordpressに移転したので、手順について今後のために残しておきます。

移行にあたり参考にした記事:Nucleus CMSからWordPressへの移行 – nunnun’s weblog

弊社のブログ記事はGoogleなどの検索による流入が非常に多いため、旧URLでもアクセスできるように移転させる必要がありました。
その方法については手順の最後に記載しています。

<手順>

1.事前準備

WordPressのインストール、テーマの設定、サンプルデータの削除を行っておきます。

2.既存の記事のエクスポート

Nucleus CMSにNP_ImpExpというプラグインを入れ、デフォルト設定でエクスポート。
これでMT形式でエクスポートされます。

3.Wordpressにインポート

WordPressの[ツール][インポート]から「Movable Type and TypePad」を選び、データをインポートします。
※プラグインの「Movable Type and TypePad Importer」を利用するため、未インストールならばインストール後に実行します。

4.旧URLからの転送設定(事前準備)

Nucleusの記事IDと先ほどインポートしたWordpressの記事IDを合わせる必要があります。
そこで、Nucleusの記事IDとWordpressの記事IDの対応表を作り、
Wordpressのwp_postsテーブルのID,guidと、term_relationshipsのobject_idを書き換えます。

今回、記事IDの対応表は、titleをユニークキーとして作成しました。
そして下記SQLを作成し、WordpressのDBに流し込みます。
例:Nucleusの記事IDを999、Wordpressの記事IDを5とすると、
UPDATE `wp_posts` SET `ID` =’999′,`guid` = ‘http://vintage.ne.jp/blog/?p=999′ WHERE `wp_posts`.`ID` =5;
UPDATE `wp_term_relationships` SET `object_id` =’999’ WHERE `wp_term_relationships`.`object_id` =5;

5.旧URLからの転送設定(mod_rewriteによるURL書き換え)

各記事の旧URLは「http://vintage.ne.jp/blog/index.php?itemid=記事ID」の形式だったため、
mod_rewriteを利用して、これをWordpressのデフォルト形式である「http://vintage.ne.jp/blog/index.php?p=記事ID」に書き換えます。

下記コードを、.htaccessの「# BEGIN WordPress」の前に書きます。
※「# BEGIN WordPress」と「# END WordPress」の間に書くと、Wordpressのパーマリンク設定を変更した際に上書きされてしまうので注意

RewriteBase /blog/
RewriteCond %{QUERY_STRING} itemid=([0-9]{1,3})
RewriteRule ^.*$ /blog/index.php?p=%1 [R=301,L]

Webサイト構築やリニューアル、Webシステム構築に関してのご依頼・ご質問は弊社ホームページのお問い合わせフォームもしくは下記連絡先までお問い合わせ下さい。

お問い合わせフォーム

株式会社ヴィンテージ Webシステム事業部
TEL:093-513-7255