WordPress5.4.1は個別記事が非表示【原因はパーマリンク】

公開日 2021-04-22 最終更新日 2021-10-24

2020年4月、WordPress5.4.1がリリースされました。
リリース後、すぐにバージョンアップしたところ、個別ページが表示されなくなる事態に。
結果的に一年後のつい先日、全記事のパーマリンク変更を行って解決しましたが、自分にとっては気が重く労力の掛かった出来事でした。

そこでこの記事では、WordPressの個別記事が急に見れなくなった原因と、すぐに行える応急処置を書いてみます。

SPONSORED

WordPress5.4.1は個別記事が非表示【原因はパーマリンク】

そもそもパーマリンクとは、ウェブサイトのページごとに付与するURLを指します。
パーマリンクは将来変更されず、リンク切れしないことを前提としています。

ひとつのウェブサイトを町に例えれば、パーマリンクはそこに存在する家のようなものです。
家の住所がしょっちゅう変更してしまうと、訪問するひとは混乱しますね。
そのためパーマリンクは変えず、リンク切れを起こさないことが良いとされています。

日付のパーマリンクがWordPressに不適切と判断された

パーマリンクはルールに則っていれば、基本的に何をつけても構いません。
記事のタイトルをそのまま付ける人もいれば、数字を付ける人もいるでしょう。
その中で割と多いのが、公開した日付をそのまま使うケースです。

WordPressのパーマリンクに以下のパラメータを設定すれば、記事を公開した日付や時間が自動的にパーマリンクとして付与されます。

/%year%%monthnum%%day%%hour%%minute%%second%/

毎回、手間を加える必要がなく、自動的にパーマリンクが作成される。
さらに日付は、記事を書いている人にとって意味のあるものです。
そのため、日付をパーマリンクにしている人は多いと思います。
ぼくもそんな一人でした。

しかしWordPress5.4.1から、この日付のパーマリンクが不適切と判断されてしまいました。

日付は記事の重複の可能性がある

WordPressが日付のパーマリンクを不適切とみなした理由は、記事の重複の可能性があるためです。
同じパーマリンクの記事が存在する場合、非公開に設定しているものが見えてしまう可能性があり、パーマリンクとして日付は適切でないとされたようです。

参考 >> Unpacking The 7 Vulnerabilities Fixed in Today’s WordPress 5.4.1 Security Update

上記の参考は英語の記事ですが自動翻訳で読んでみると、「秒単位で同じ時間に作成されたものは、日時ベースのクエリを使用して非公開の投稿を読めることが発見された(そのため5.4.1で修正した)」と書かれた箇所があります。

ちなみに自動翻訳はDeepLで行いました。
こなれた日本語で出力されるので、翻訳文が読みやすいです。

応急処置は、WordPressのダウングレード

WordPress5.4.1より日付のパーマリンクは、個別記事ではなくアーカイブ扱いになり、記事そのものが表示されなくなります。
当然ながら記事が見れないと、ブログとしての意味がなくなります。

パーマリンクを変更すれば従来どおり個別記事が表示されますが、記事数の多いブログの場合は多大な時間と労力がかかります。
二の足を踏む人が多いでしょう。

そのため応急処置として、WordPressを5.4にダウングレードする方法があります。
5.4.1から個別記事が表示されないため、それ以前の5.4に戻して運用を行うわけです。

一度、バージョンアップしたWordPressは、プラグインのWP Downgradeを使えばダウングレードできます。
すぐに解決したい場合はWP Downgrade を使って、WordPressを5.4にダウングレードしましょう。

WP Downgradeの使い方

WP Downgradeの使い方は、プラグインインストール後に有効化をします。
「設定 > WP Downgrade」と進み、WordPress Target Versionを5.4にして、左下の「変更を保存」をクリックします。

WP Downgrade

根本的な解決には、パーマリンク変更しかない

手っ取り早い解決策はWordPressを5.4にダウングレードすることですが、これから先もWordPressを使い続けるなら、古いバージョンの使用はセキュリティ的に好ましくありません。
プラグインも、古いバージョンには対応しないケースが出てきます。

つまり、この問題を根本的に解決するなら、パーマリンクを変更するしかないのです。

まとめ

WordPressのパーマリンク設定画面には、以前は日付を選ぶラジオボタンが存在していました。
つまりWordPress自体、以前は日付のパーマリンクを問題視していなかったんですね。
それが急に方針転換して日付のパーマリンクを個別記事扱いしないのは、ちょっと乱暴な施策に思えます。

といってもWordPressを使う以上、文句を言ってもしょうがありません(そもそもオープンソースで無料で使わせてもらってますから)。

応急処置としてWordPressのダウングレードをし、折を見てパーマリンクを日付以外のものへ変更していく。
これまで日付のパーマリンクを使用していた人には頭の痛い問題ですが、そうするしかないように思えます。

SPONSORED