こんにちは
普段は気にすることの無いwordpressのバージョンアップ。
今までは、自動更新されていて何も問題なく、特に意識すること
なかったんですがつい先日、
バージョン5.4.1
にアップグレードされた後、
投稿済みの記事にアクセスできない。
という現象に見舞われました。
これは今までで一番焦りました。
2日がかりでやっと解決したその時の対処方を
書いてみます。
ここで、先に結論だけ書いておきます。
wordpress5.4.1の不具合の原因はパーマリンク
でした。
パーマリンクが、
/entry/%year%/%monthnum%/%day%/%hour%/%minute%/%second%/
このように投稿日時で設定されていると不具合が起こります。
解決するには、パーマリンクを変更するか、wordpressの
バージョンをダウングレードします。
どの記事をクリックしてもアーカイブ
いつものように自分のブログにアクセスして、最近書いた
記事の確認をしようとしたんですが、
どうしてもアクセスできない。
どの記事をクリックしてもアーカイブ画面しか出てこない。↓
記事の編集どころか、確認さえもできません。
一度ログアウトして、再度記事にアクセスしてもダメです。
これでは、自分だけでなく誰にもブログを見てもらえません。
焦りました。
それから悪戦苦闘です。
この不具合で対処した事
そもそも初めはwordpressのバージョンアップが原因だという
ことも分からなかったので、 本当に手探りの状態です。
ググってもわからない、謎の現象
今までは、何かしら不具合があると404とか403とか501
などのステータスコードが表示されて、不具合のヒントらしき
ものが掴めたんですが、
ただひたすらアーカイブ画面に代わるだけ。
どこをどうするのか?何をどうするのか?
それこそわからない事が分からない状態。
ただ今までの経験から思いつく限りのことは試しました。
取りあえず試したこと
- ブラウザを一旦閉じてみる
- ブラウザのキャシュの削除
- ドメインの設定確認
- 最近入れたプラグインを停止
- サーバーのエラーログの確認
- .htaccessファイルの確認
最近wordpress上で自分が変更を加えたことなどを
思い出しながら試しました。
ドメインはつい先日「お名前.com」から「Xドメイン」に
移管したので、念のためにXserverできちんと認識されているか
確認しました。
最近インストールしたプラグインは、ShortCode star rating
ぐらい、これも停止してみました。
にはサーバーの接続エラーが記録されているので
これも確認しました。
もしかして、自分の意図しないリダイレクトが.htaccesse
ファイルに書き込まれているかもしれないと思い確認しました。
最後に、プラグイン全部停止してみて様子を見ました。
以上、自分で考えられることはやってみましたが、
結果は改善されません。
こんな時はgoogleさんにお願いします。
こんな時はgoogleでもどういう風に質問していいか分かりません。
とりあえず「wordpress 記事が表示されない」「wordpress記事に
アクセスできない」で検索すると考えられる原因は、
- キャシュ系のプラグイン
- phpのバージョンの違い
- 認証用ユニークキーの変更
- などなど
でした。
1、のキャシュ系のプラグインはそもそもインストールしてない
ので関係ない。
2、のphpバージョンはサーバーとプラグインのバージョン違い
で起こるらしいのでXserverのphpバージョンを変更してみた。
Xserverのサーバーパネルにログインし「php Ver.切替」を選択
次にphpバージョンを現在のphp7.3.14からphp7.2.27に変更してみる。
変更するのは何となく気持ち悪いので、これ一度だけ検証して
見ました。
結果は解決できませんでした。
3、の認証キーの変更は、サーバー内のwp-config-phpファイルに
手を加える作業であまり触りたくないので保留しました。
それからしばらく、検索するワードを色々変えながらgoogleを
いじっていましたが、これといった解決策に出会えません。
途方に暮れていた時、なにげなくwordpressのダッシュボードを
眺めていると、
普段ほとんど見ることの無い、「wordpressイベントとニュース」
のサポート欄に上記のような記事を見つけました。
記事を読んでみると、まさに
私の求めていた答えがそこにありました。
不具合の原因はwordpressのバージョンアップ
正確に言うと、パーマリンクの設定によってはこのバージョンアップ
によって 不具合が発生すると言う事です。
「はてなブログ」からwordpressに移行した方は注意
なんか意識していませんでした。
「はてなブログ」のパーマリンクはデフォルトで
/entry/%year%/%monthnum%/%day%/%hour%/%minute%/%second%/
このように投稿日時を表示するようになってます。
これをwordpressでそのまま使ってました。
新しいwordpress5.4.1は、このような日時表記のパーマリンクに
設定していると不具合が起きてしまいます。
不具合の解決方法2つ
そこで先ほどのwordpressサポート記事を詳しく調べると
不具合の解決方法として
①パーマリンクの変更
②wordpressバージョンのダウングレード
の2つが紹介されていました。
この不具合解決方法については以下の記事で紹介します。
①パーマリンクの変更↓
②wordpressバージョンのダウングレード↓
まとめ
wordpressのバージョンアップを自動にしている方も多いと思い
ますが、 バージョンの変更によっては私のような不具合に
出くわすことがあります。
覚えておきたいのは、
バージョンアップにもデメリットがある。
と言う事です。
その質を向上させるものですが、wordpressなどのオープンソース
プログラムの場合、関連する他のプログラム(プラグインやphpなど)
とのバランスまでは完全には考慮されていません。
また、wordpressの利用者数もとても多いいし全てのユーザーの
使用環境を想定してバージョンアップするのは不可能です。
ですから私たちユーザーは、そのwordpressの進化にその都度
個別に対応していくしかないですし、オープンソースである以上
自分自身のスキルを向上させていくしかないような気がします。
でも、今回の不具合などは、ユーザーに対してもう少し
分かりやすくアピールして欲しかったとは思います。
メールとかで知らせてくれないのか?
あんたの不具合なんかいちいち気にしてないわよ。
私と同じ様にwordpress5.4.1のバージョンアップによって不具合
に出くわした方に少しでもお役に立てれば幸いです。
それでは
①、②どちらを選んでも問題ないと思います。
ただ②のダウングレードには、せっかくアップグレードによって
プログラム全体が改良されているものを無駄にするような
気がして少し抵抗がありました。