WordPressの最短パーマリンク
2012.03.05
サイト内のパーマリンクを短くしました。ポストIDだけの一番簡単なもの。URLの中に記事を示す文字列を入れると良いそうですが、マルチバイトではやっぱり不便なので思いきって変更しました。以前のパーマリンクでもほぼアクセスできます。
念のため手順と問題のあった点など書いておきます。
最短のパーマリンク設定方法
WordPressの管理画面>設定>パーマリンク設定で「カスタム構造」を選択し、「/%post_id%」と入力します。設定はこれだけ。ただ文字通り変化しないことが前提のパーマリンクなので変更する際は慎重に。
パーマリンクの仕様、それによる問題点
以前はパーマリンク「日付と投稿名(以下、a,b)」を使用していたので、上の修正をするとURLは下記「a→A」のようになります。同時に日付アーカイブも「b→B」のように変化します。
a: https://hasegawahiroshi.jp/2012/02/01/hello-world/
b: https://hasegawahiroshi.jp/2012/02/
↓
A: https://hasegawahiroshi.jp/2518
B: https://hasegawahiroshi.jp/date/2012/02
この場合、投稿ページ「a→A」の変化については、WordPressが勝手にリダイレクトしてくれるのでほぼ問題なし(マルチバイトで長すぎる場合など一部例外あり)。
ただ、それより問題なのは「https://hasegawahiroshi.jp/2012」というリンク。今まで日付アーカイブ(b)だったところ、今度は投稿ページのパーマリンク(A)として認識されてしまいます。
対処方法
日付アーカイブの「年」「年月」「年月日」で対応が分かれます。このサイトでは「年月」アーカイブのみを利用していたので「年月」用の対策だけ行いました。
「.htaccess」に下記を追加します。「年月日」の場合も同様に対処できると思います。ちなみにさくらのレンタルサーバ スタンダードを使っています。
RedirectMatch permanent /20(..)/(..)/$ https://hasegawahiroshi.jp/date/20$1/$2
「年」アーカイブの場合はもう少し強引な方法(ケースバイケースなので一例だけ)。まず「年月」などと同様に、年アーカイブリンク(〜/2012)でのアクセスはリダイレクトします(〜/date/2012へ)。すると「2011」などのポストIDが使えないということになるので非公開記事でフタ。それらを新たな記事として再作成するなどで対処できそうです。
変更後のフォロー
変更した後、対処に漏れがないか「Googleウェブマスターツール」でチェックします。一日ほど経つとアクセスできないURLが「クロールエラー」として表示されるので、重要なものがあれば「.htaccess」にリダイレクトを追加していきます。