WordPressでpost_idが連番にならないのでパーマリンク変更

どうも、WordPressでプレビューや下書きでもpost_idがインクリメント(加算)されてしまうので、番号が飛び飛びで歯抜けになってしまうようだ。

私の場合、WordPressでリビジョン・自動更新を無効でもプレビューをする代替案で代替プレビューしているので、もろに該当する。

と思ったら、以下のサイトでも言及されていた。

WordPressはMTと違ってpost_idが連番にならない – きままな日記帳

これはMovableTypeでは気にならなかった問題なのでむずがゆい。
なんとか歯抜けにならないよう回避して連番になる方法もいろいろ調べてみたが、簡単にはできないようです。
ちゃんと連番になるならpost_id=記事総数だと気持ち良いんですけどね。

これは郷に入れば郷に従うことにしよう。

しかたない。というわけでpost_idに頼らない方法にしました。パーマリンク設定を変えて以前の

カスタム設定(日付と投稿ID)

/%year%/%monthnum%/%day%/%post_id%/

から

日付と投稿名

/%year%/%monthnum%/%day%/%postname%/

に変更しました。

これからスラッグ命名頑張ってみます。

%postname%はスラッグ名なので、記事の名前が推測しやすいような名前を付ける手間がかかりますが、これを機会に頑張ってみます。

ちなみに重複したスラッグ名だとWordPressは気を利かせて連番付与するようです。
例えば、testというスラッグ名が既に存在する場合に、別の記事でtestを使うと自動で「test-2」とつけかえてくれます。

重複した場合どちらかの記事が永遠に呼び出せなくなるような冷酷な仕様かなと思っていたのですが、こんな親切仕様!俄然やる気に!

FeedBurnerが更新されるまで前の記事アドレスのままなので注意

今回一点注意点があります。

この作業の直後、FeedBurnerが巡回してくれるまでリンクが更新されず、そのリンクをアクセスすると404 Not Foundになります。まあ、当たり前ですね。

FeedBurnerはだいたい30分ほどで更新されるようですが、誤字を直して30分も恥ずかしくて待てないときはFeedBurner内の機能で更新Ping(http://feedburner.google.com/fb/a/ping)を送ることで、意識的にすぐに更新することが出来ます。ちなみに一度Pingにより強制更新すると一定時間受け付けないようです。そのときは少し待ちましょう。

と、ここまで書いて思ったのですが、

今回の改変は私のように記事が少ない駆け出しならいいのですが、既に運用が長くて多く記事がある方はスラッグを追いかけてつける労力は大変。ブックマークなどでシェアされている場合はFeedBurnerのように周知しようがないのできついと思われます。

あとあとの変更がきついとなると、これはpost_idの挙動を理解したうえで運用当初に決めるべき項目のひとつとして意識したほうがよいようです。

おわりに

私としてはスラッグ名がリンクの軸に出ることで、post_id数から「あいつめちゃくちゃプレビューしてるんだぜ、前の記事から今回で20も増えてる。(実話)」といった気にせず気軽にプレビューが出来るようになったのでよかったです。

それでは、よいWordPress Lifeを。