moomemo

アフィリエイト広告を掲載しています。
2023年06月29日 2023年09月30日

post_idに発狂してWordPressのパーマリンクを変更した話

WordPressを開設時には当然パーマリンクについて悩んだのですが、一々スラッグを考えるのは面倒だし、規則性や拡張性がないのも嫌で、プラグインでリヴィジョンを無効化している(※)し、「そんなにidも飛ばないだろう🙄」と楽観視して/%post_id%/で運営していたのですが、前々回のpost_idが136で、前回のpost_idが一気に236になっており無事に発狂したため変更することにしました。🤢

WordPressへ追加したプラグイン一覧 WordPressへ追加したプラグイン一覧 Akismet Anti-Spam [デフォルト]スパム対策 Breadcrumb NavXT パンくずリストを追加 Classic Editor エディターを旧バージョンに変更 Enable Media Replace […]

記事数とpost_idの推移

記事数 記事 post_id
01 Hello world! 1
02 WordPressへ追加したプラグイン一覧 4
03 pixivっぽい(?)jQueryスライダー 7
04 ズボラのエアシップ&サブマリンボイジャー 28
05 クリスタ用3D素材を自作した備忘録 33
06 MMDモデルを自作した備忘録 56
07 MMDモデルを自作する上でつまずいた部分まとめ 82
08 ニコニ・コモンズコンテンツツリー登録用早見表+α 102
09 MMDToolsでマテリアル・UV・ボーンモーフを追加する方法 103
10 くコ:彡式MMDモデル利用規約 132
11 pixivっぽい(?)jQueryスライダー【改】 136
12 天獄篇零式のために音声通話環境を整えた話 236

🤮

変更前後

  • 変更前:/%post_id%/
  • 変更後:/post/%postname%/

/%year%/%monthnum%/%day%/での運営も考えたのですが、単純に8桁の数字にしたかったのと、自分で設定したほうが都合がよい場合もあると思い、スラッグで管理することにしました。
パーマリンクを日付にした際の不都合などもあるようですが、私的には不都合とは感じない内容でしたし、日付なら何も考えずとも設定できます。リンクの長さが一定になるのも魅力的でした。
/post/が入っている理由は、/%postname%/だけでスラッグを設定した際、他のidに割り振られていたのか日付に-2が付与されてしまったためです。ドウシテ…ドウシテ…

301リダイレクト

無事パーマリンクも決まったため、301リダイレクトを設定します。
プラグインを使う方法もありますが、他の機能などはいらないためサクッと.htaccessで設定を行いました。
WordPressの場合自動生成されている.htaccessがあり、.htaccess内の# BEGIN WordPressの上に記述を行えばよいようです。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^1/$ post/20201027/ [R=301,L]
RewriteRule ^4/$ post/20201031/ [R=301,L]
RewriteRule ^7/$ post/20201122/ [R=301,L]
RewriteRule ^28/$ post/20220414/ [R=301,L]
RewriteRule ^33/$ post/20220901/ [R=301,L]
RewriteRule ^56/$ post/20230330/ [R=301,L]
RewriteRule ^82/$ post/20230402/ [R=301,L]
RewriteRule ^102/$ post/20230422/ [R=301,L]
RewriteRule ^103/$ post/20230426/ [R=301,L]
RewriteRule ^132/$ post/20230520/ [R=301,L]
RewriteRule ^136/$ post/20230528/ [R=301,L]
RewriteRule ^236/$ post/20230627/ [R=301,L]
</IfModule>

# BEGIN WordPress ...

結論

先人の忠告には従い、しっかりパーマリンクを考え抜いてからWordPressを運用しましょう。(小並感)

おすすめ書籍

関連記事