BLOG
ブログ

WordPressの最短パーマリンク

サイト内のパーマリンクを短くしました。ポスト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」にリダイレクトを追加していきます。