[ WordPress ] パーマリンクの変更と旧パーマリンクからのリダイレクト

WordPress で構築している、このブログパーマリンクを変更しました。 パーマリンクを変更した理由と、旧パーマリンクからのリダイレクト方法について書いています。

パーマリンク変更の理由

今までは、後で参照するまとめ・リファレンス的な内容もブログの投稿記事として書いてきましたが、時系列とカテゴリでは目的の記事が探しにくいので、WordPress のページ機能を使ってみようかと思い始めました。

ただ、現在のパーマリンク設定では、http://bowz.info/about/history の様に親ページ名が入ってしまい、ページの階層を変更すると URL も変わるため、容易にページが作成できなくなったり、各ページ毎に英語のページ名を考えるのも面倒になったり…。

と言う事で、WordPress の標準パーマリンクに戻し、ページの階層を移動しても URL が変わらないようにしようと思います。

新旧パーマリンクの比較

新旧パーマリンク設定は次のような感じです。

旧パーマリンク設定 新パーマリンク設定
カスタム構造 ( /%post_id% ) デフォルト

各ページそれぞれの URL は次のような感じです。

ページの種類 旧パーマリンク 新パーマリンク
固定ページ /about /?page_id=870
投稿記事 /3196 /?p=3196
カテゴリー /category/css /?cat=9
月別 /date/2011/07 /?m=201107
タグ /tag/css /?tag=css
記事 RSS /feed /?feed=rss2
コメント RSS /comments/feed /?feed=comments-rss2

リダイレクトの設定

リダイレクトするプラグインもあるらしいのですが、今回は .htaccess ファイルにリダイレクト用の設定を書きました。

リダイレクトの設定は次のような感じ。

## 固定ページ
RedirectPermanent /about http://bowz.info/?page_id=870

## RSS
RedirectPermanent /feed http://bowz.info/?feed=rss2

## カテゴリー
RedirectPermanent /category/css http://bowz.info/?cat=9

## 投稿
RedirectMatch permanent ^/([0-9^/]+) http://bowz.info/?p=$1

## 月別
RedirectMatch permanent ^/date/([0-9^/]+)/([0-9^/]+) http://bowz.info/?m=$1$2

## タグ
RedirectMatch permanent ^/tag/(.+) http://bowz.info/?tag=$1

投稿とページを相互変換してもリダイレクトしてくれる

パーマリンクがデフォルトの状態で、p2pConverter プラグインを使い投稿をページを変換した所、変換前の URL ( /?p=*** ) でアクセスしても変換後の URL ( /?page_id=*** ) にリダイレクトされる。

逆にページを投稿に変換した場合も同じくリダイレクトされる。

WordPress の機能だと思うんだけど、自動的にリダイレクトしてくれるので便利。

今回の環境

雑感

  • 固定ページを新規追加しても、RSS フィードには含まれないので、何処が更新されたか分からない。
    • 固定ページで RSS を配信できるプラグインってあるのかな?

コメントを残す

メールアドレスが公開されることはありません。