パーマリンク変更にともなって実施したリダイレクト対策 #WordPress

2014/04/20
ブログ / WordPress

IMG 5533 1300x866

本日未明、このブログのパーマリンクが変更されました

パーマリンクを変更するときにもっとも気を使うのが、ちゃんとリダイレクトされるのか

私が実施した対策を紹介します。

いまのところちゃんとリダイレクトされているようです。

WordPress 標準のリダイレクト機能は 301 ではなく 302 らしい

WordPressは、非常に強力なURL書き換え機能を備え、簡単にURLをカスタマイズできる点ですばらしい。しかし残念なことに、URLのパーマリンク構造を変更すると、古いURLから新しいURLには必要な301リダイレクト(「永続的な変更」を意味する)ではなく、302リダイレクト(「一時的な変更」を意味する)が適用されてしまう。

via WordPress向けSEO上級編:適切なパーマリンクへの変更と複数言語への対応 | Web担当者Forum

詳しいことはよく知りませんが、あまり望ましくない形になってしまうようです。

あくまで自分でリダイレクト対応する必要があります。

.htaccessにコードを追記してリダイレクトする

私は以下のようにパーマリンクを変更しました。

旧パーマリンク /カテゴリ/年/月/日/スラッグ/記事ID/
新パーマリンク /スラッグ/

このように「ドメイン/スラッグ/」とパーマリンクを変更する場合に限り、.htaccessを編集するだけで、リダイレクト対応することができます

ただしく書けば

http://jinnaitakumi.com/%postname%/

という形に変更する場合にかぎり、これから紹介する方法が使えます。

手順は以下のとおり。

  1. 「.htaccess」のバックアップを取る
  2. リダイレクト用コードを生成する
  3. 生成したコードを「.htaccess」にコピペする
  4. WordPress の管理画面でパーマリンクを変更する

順番に見ていこう。

1. 「.htaccess」のバックアップを取る

念のためのバックアップは必ず取っておこう。

変更前の「.htaccess」をローカル(自分のパソコン)に保存しておけばいいだろう。

できればデータベース全体のバックアップを取っておいたほうがいいかもしれない。

2. リダイレクト用コードを生成する

「.htaccess」に挿入するコードは「Yoast」というサイトで生成できる。

▼「Generate Redirects」をクリックする。
1
▼必要な事項を入力する。
2
入力項目 説明
URL of your site サイトのURLを「http://」から入力する
Is your WordPress… サブディレクトリを入力する(「/blog/」みたいなやつ)
Your old permalink structure これまでのパーマリンクを入力する
▼こんな感じに入力して、「Generate Redirect」をクリックする。
3

3. 生成したコードを「.htaccess」にコピペする

リダイレクトするためのコードが生成できたら、それを「.htaccess」の一番頭にコピペします。

▼生成されたコードをコピーする。
4

コピーしたら「.htaccess」にアクセスして、ファイルのいちばん最初にペーストする。

ちなみに「.htaccess」はルートディレクトリ(いちばん上位のフォルダ)にあります。アクセスには FTP ツールを使います。

4. WordPress の管理画面でパーマリンクを変更する

後は WordPress の管理画面でパーマリンクを変更するだけです。

設定は「管理画面 > 設定 > パーマリンク設定」で変更できます。

▼こんな感じ。
5

これで完了です。

じんないたくみの声

かなり不安だったんですが、いまのところ無事にリダイレクトされているようで一安心です。

ちゃんとリダイレクトされていない記事があったら教えてください。手動で「.htaccess」に追加するので。