MNPZ.BLOG

さくらのブログからWordPressへ移行時のパーマリンク対処

ブログ移行で気になっていたのはパーマリンク(固定リンク)です。パーマリンクが変わってしまうと今までGoogleなどの検索サイトで出てきてたURLではアクセスできなくなってしまいます。これを何とかしたかったのです。
いくつか方法はあるようですが、さくらのブログからのエクスポートは、管理画面で提供されていることしか出来ませんし、エクスポートのスクリプトを加工するとか出来ません。

そこで、こちらを参考に移行することにしました。

固定リンクを変えずにスムーズにMovableTypeからWordPressに移行するまでの作業ログ – IDEA*IDEA ~ 百式管理人のライフハックブログ

これはインポートして作成されたWordPressのDBのデータを編集して対処する方法です。
ここではテンプレート機能を使ってパーマリンクのリストを生成していますが、さくらのブログでは利用できません。
そこで、エクスポートしたデータからパーマリンクのリストを生成すればよいと思ったのですが、エクスポートデータを見たところパーマリンクの情報が出力されていません。

仕方ないので、XML−RPC経由でパーマリンク情報を取得できないか確認したところ、PostIDなるものがパーマリンク「xxxxxxxx.html」の「xxxxxxxx」部分にあたる事がわかったので、プログラムで取得し変換用のスクリプトを作成するようにしました。
作成したツールは下記を参照してください。

さくらのブログ -> WordPress パッチSQL作成ツール

PostIDの取込み

上記のツールを使って変換用SQLスクリプトを作成します。
作成されたSQLスクリプトの実行は下記の通りです。

  1. 「さくらインターネットサーバコントロールパネル」へログイン。
  2. 「アプリケーションの設定」-「データベースの設定」-「管理ツール ログイン」からphpMyAdminを表示する。
  3. phpMyAdmin へログインし、WordPressのセットアップ時に指定したデータベースを選択。
  4. SQLタブを選択。
  5. テキストエリアへ貼付けて実行するボタンをクリックする。

パーマリンクの設定

準備ができたのでWordPressのパーマリンク設定をします。
WordPressでは今までとは違うパーマリンクを使いたいので、新旧のパーマリンクを使えるように設定します。そのために、「Permalink Redirect」プラグインをインストールします。

Permalink Redirect WordPress Plugin

「Permalink Redirect」の設定では、「Old Permalink Structures」に下記を入力します。

/article/%postname%.html

新しいパーマリンク設定はカスタム指定で下記の通りにしました。

/%year%/%monthnum%/%postname%.html

これで、古いパーマリンクでアクセスされても新しいパーマリンクへ自動でリダイレクトされます。