WordPress+cocoonでpermalink不正の原因が判明

当サイトの記事には広告が含まれます

こちらのブログはWordPressというコンテンツマネージメントシステム(CMS)にcocoonというテーマを利用して公開しています。このブログでときどき、permalinkかま不正となり、そのページが表示できなくなってしまうという問題にずっと悩まされていました。

permalinkとはそのページのURL末尾、XXXX.htmlの部分です。ここが、post-0-42,htmlのようなpermalinkとなり、そのページが開けない状況になっていました。

WordPressでの設定上は、タイトルをpermalinkにする設定にしていました。

日本語タイトルの場合にはcocoonの機能でpost-2436.htmlのような一連番号が付いたpermalinkになることを望んでいました。

不正なpermalinkになってしまった投稿は自分でpermalinkを正常なものに書き換えていました。

なぜ、post-0-42.htmlのようなpermalinkが開けないのかを調べてみると、リダイレクション(redirection)というプラグインに、post-0-42.htmlをpost-0.htmlに飛ばすという指示が書き込まれていたためです。ただ、なぜpost-0-42.htmlというpermalinkが生成されるのかが分かりません。

あるとき、WordPressのカスタマイズのために、 functions.phpの中身を見る機会があったのですが、ここで原因が分かりました。日本語URLを一連番号に直すためのカスタマイズコードが書かれていました。

cocoonにも同様の設定項目があり、二重にpermalinkを書き換えてしまっていたようなのです。cocoonのバージョンアップの際にあまり考えずにこの機能をオンにしたことで二重になってしまったのでしょう。二重でもとくに問題が出ずpermalinkが生成された場合があるのはなぜなのかは分かりませんが、二重で変更するのは絶対に不味そうです。

functions.phpの方のカスタマイズコードを取り除くことで問題は解決しました。これでひと安心です。

コメント