この5月は、日差しが強い日は暑く感じますが、曇りの日には少し涼しく感じます。
それほどに日差しによる影響が強く出る季節なのかもしれません。
さて、今回はWordPressあるある、というわけではありませんが、WordPressの本体バージョンアップに伴う「困った…」という体験談をお伝えさせていただきます。
WordPressに限らず、様々なソフトウェア、スマホアプリなど、バージョンアップによって、「良くなった面」と、「困った面」が同時に起こることがよくあります。
スマホアプリの場合は、バージョンアップでバグの修正が行われたかと思うと、同時に広告表示がされるようになったり…と、これは置いておきましょう。
弊社ではWordPressをベースとしたホームページ(ウェブサイト)の制作サービスを提供しておりますが、本体などのバージョンアップによる不具合などを避けるため、原則としてお客様によるWordPress本体のバージョンアップは控えていただいております。
テーマファイルとの互換性の問題もありますが、本来は良い機能の追加や脆弱性対策強化にもかかわらず、思わぬところで不具合が出ることがあります。
今回は、そんな「更新するんじゃなかった…」と一瞬思ってしまう、画面は真っ白、顔は真っ青になったWordPress本体のバージョンアップにまつわる体験談のコーナーです。
WordPress 3.8くらいまでによくあった
本体更新途中の「タイムアウト」
今現在はWordPressの本体バージョンは4.5.2(投稿公開時点)ですが、バージョン3.8くらいまでの、3.xあたりの頃には、よく更新タイムアウトによる、本体更新エラーがありました。
WordPressは、WordPress本体の更新(バージョンアップ)の際には「メンテナンスモード」になります。
そして、この本体更新エラーは、実を言うと、本体は更新出来ているのですが、「メンテナンスモード」が解除されない、というタイプのエラーが多かったというのが実情です。
バージョンアップ中にWordPressホームページ(ウェブサイト)にたくさんアクセスが集まって、サーバーに負荷がかかると、更新中にサーバーが処理能力の限界に達して、更新に影響が出る場合があります。
WordPressが「メンテナンス中」の表示のまま管理画面が開けない
そういったことを防ぐために、更新中は、「メンテナンスモード」に切り替わるのですが、バージョンアップを開始して、「更新中」の表示がされたまま(その間はタブのところにくるくる回る円が表示されます)、しばらく待ってみても、ブラウザに変化が無く、何十分待ってもそのまま、ということがよくありました。
そこでページを更新してみると、「メンテナンス中」の表示のまま、管理画面すら開けない、という現象が起こりました。
「現在メンテナンス中のため、しばらくの間ご利用いただけません」と表示されたままです。
このメンテナンスモードが消えないエラーは、WordPressのプラグイン更新でもよく起こるエラーです。
WordPressのプラグイン更新でメンテナンスモードが消えないエラー
FTP操作でWordPressの更新エラーを復旧を試みる
この場合は、ブラウザ上(つまりWordPress管理画面)での修正は厳しく、FTP操作で何とかするしかありません。
最近では、こういったタイムアウトによる更新エラーはなくなりましたが、WordPressバージョン3の前半くらいの時に、一度テストサイトが再起不能になったことがあります。FTP操作で復旧を試みましたが、画面も頭も「真っ白のまま」という結果になりました。
結局データベースバックアップを元に、WordPressサイトを再構築することになりました。
本稼働前のサイトだったので良かったのですが…
当時は、タイムアウトになるまでの時間の設定を変更してから「更新」という対処が一般的でした。
表示画像が粗くなる
「WordPressの困った体験」として、いきなりWordPressサイトの表示画像が粗くなるという現象を経験したことがあります。
ウェブサイト(ホームページ)は、サーバーや通信の負荷だけでなく、表示速度向上が一つの課題になっています。それはユーザーのストレス軽減のためでもあり、SEOとしての要素のためでもあります。
テキストデータ(文字データ)はデータ量が軽いため、ほとんど無視しても大丈夫ですが(データベースからのリクエスト数やレンダリングの際の呼び出しが多いという場合は別です)、画像はテキストデータに比べて圧倒的にファイルサイズが大きく、表示速度に大きき影響します。
そういえば、昔iモードなどで、パケット代節約のために画像をすべて非表示にしている友人が多かったことを今思い出しました。
この面は、現代でもスマートフォンなどでも、Wi-Fi環境ではない場合、データ容量(通信量)の上限を気にされる方もいらっしゃるかと思います。
jpeg圧縮やリサイズ画像の生成
そういったことを解決するために、jpegを圧縮したり、画像をサイズの異なった幾つかのパターンを用意したりするといったWordPress本体の機能やプラグインがあります。
(近年では次世代フォーマットのWebPなどが利用されています。サイト内画像(jpeg)等をWebPに変換してくれるプラグインもあります)
大雑把には、画像をPC用、スマホ用などデバイス種類分用意して、サイトにアクセスするデバイスによって呼び出す画像を振り分けるというものです。
この機能自体は、横幅が320pxなどのスマートフォンで、横幅1280pxの画像を通信する必要が無いので非常に合理的ですが、まれにタブレットからアクセスした場合にスマホ用画像が表示されて粗くなったりする場合があります。
いわば、サーバー負荷軽減やSEOのために、サイトの表示速度向上を目指して実施された「画像に対する配慮」が影響し、タブレット環境なのにスマートフォン表示用の小さな画像がWordPressサイトに適用されて、「引き伸ばされて粗い画像」しか表示されなくなるという現象です。
これも本体バージョンアップやプラグインのバージョンアップに伴い、旧バージョンまで正常に表示されていたものが、管理画面内で新たに設けられた「設定」を操作したり、テーマファイルの記述を変更しない限り、不具合が続く場合があります。
WordPressバージョン4.4くらいからよく起こりました。
これも「バージョンアップするんじゃなかった…」と一瞬思う瞬間です。
タイトルの表示が書き換えられる
WordPressカスタマイズにより、メタ設定の「サイトタイトル」に工夫をしていたのに、そのやり方が通じず、WordPress本体バージョンアップによって、急に「純正」の仕様に逆戻り、ということが起ったことがあります。
トップページならば
サイト名 – キャッチフレーズ
というような表示です。
これはWordPressバージョン4.1から起こった現象で、一般的には、header.phpにタイトル設定の記述をしていたものが、<?php wp_head(); ?>からタイトルを吐き出すという仕様の変更があったためです。
テーマファイルのカスタマイズで、カスタマイズしたタイトル記述をすると、<?php wp_head(); ?>から吐き出されるタイトルと重なり、少し異なったタイトルが(カスタマイズしているため)、ソース中に2つ記述されていることになる、という現象が起こりました。
add_theme_support( 'title-tag' )
基本的にこういった記述をfunction.phpに入れないかぎり、前から使っているテーマには、<?php wp_head(); ?>からのタイトル出力はなされないのですが、header.phpを使用していないなど、少し通常とは異なったタイトルの吐き出しをしている場合には、自動的に<?php wp_head(); ?>から出力されるケースもあります。
「うーん…」
こういった場合は、<?php wp_head(); ?>のタイトル出力を制御することからカスタマイズを始めなければなりません。
本体のマイナーアップデートで、解決するケースもありますが、時期や解決の確実性は保証されていないため、少し冷や汗モノです。
WordPressサイトにおいてもタイトルの設定は、モロにSEOに影響が出るため短期間でも変な仕様になると、その期間にインデックスされてしまったものはしばらく残存し、再クロールまでの間の検索順位に大きな影響を与えます。
バックアップを忘れずに
本来は、コンテンツ作りに集中するためのCMSなのですが、WordPressを筆頭に本体バージョンアップへの対応で、時間をとられることがよくあります。
バージョンアップはより良い機能やバグの修正といった良い側面もある一方、プラグインやphpバージョンとの互換性がなくなったり、新たなバグによる不具合との隣り合わせです。
画面が真っ白になった場合は、エラーだとわかるのですが、表面上わかりにくい不具合もよくあります(先の「ソース中のタイトルの重複」など)。
直そうと思ったら「真っ白の画面にエラーコード」という事もよく起こります。
WordPress本体更新の際は、最低限、テーマファイルやアップロードファイル、データベースのバックアップは必要です。
必要に応じて、旧バージョンのWordPress本体に戻すというような対応も必要になるでしょう。
と、いつも肝に銘じております。
今回は、WordPressの「困った体験談」をお送りしました。
弊社では、WordPressのエラー復旧、エラー修正にも対応しています。
(初回投稿日 2016年5月26日)