保守管理契約してるんならWordPressのセキュリティアップデートくらいやっとけよォ~
色々なしがらみからウェブサイト(WordPress)の保守管理は現在契約中の会社と続けないといけないけど、信頼関係があまりないのか、サイトの修正を頼みたいとの依頼が飛んできた。
ちょっとした修正程度のニュアンスで進んでいたのだけど、「こう変えたいんです!」と具体的な話になった途端、内容がリニューアルレベルの話に。
おいおい…
一応、クライアントには保守契約結んでる会社から管理者権限のアカウントを発行してもらうことできた。
管理画面に入ってみると、いろいろ問題が。
まず目についたのが、WordPress本体のバージョンが低い。
とはいえ、チェックしたところメジャーアップデートしていないだけで、マイナーバージョンは最新になっていた。
一番の問題はプラグイン。おそらく保守管理の会社が製作してから一度もアップデートしていない。セキュリティホールも放置。中にはメンテされないまま、セキュリティの事由により公開停止されている。
こうなっている理由は2つほど考えられた。
一つは、保守管理を請け負っている会社がサボっている。
もう一つは、テーマが本体のアップデートで不具合を出す可能性が高いこと。
管理画面からテーマエディタを開いてコードをチェックしたらまあ、ダメの典型。
トップページはコンテンツを front-page.php にハードコーディング。ここまではまあ許容範囲。ひどいところは固定ページ全部ハードコーディングしてるからね。
このテーマはとりあえず固定ページはまとも。固定ページの投稿画面にコンテンツがある。(とはいえarchive.phpなどに固定ページテンプレート名を付けるなど、WordPressについて分かってない人が作った形跡が見て取れたのだが)
驚いたのが、functions.php にコードが一切無かったこと。style.cssにもテーマ名の情報があるだけでCSSのコードは皆無。
あー、このパターンかと。
関数やら何やらは、functions.phpではなく、別のファイルに細かく分けておかれているのだろう。PHPプログラマがやりがちなやつ。
WordPress屋ではなく、PHPerが作ったな、と判断できるポイントとして、cssやjs、画像などを /assets/ ディレクトリに入れるってのがある。このテーマもそのパターン。
まあ気持ちは分かる。普通のウェブシステムってそんな作り方するし。慣れたディレクトリ構成を変えるのって気持ち悪いもんね。
ただ、これをやられると、管理画面のテーマエディタではテーマの全容が把握できない。
そしてPHPerがWordPressテーマを作るときにやりがちなのが、WordPress関数をほとんど使わないこと。
WordPressはPHPで動くから、それでも最初はちゃんと動くんですよ。最初はね。
ただ、こういうテーマは往々にしてWordPressのアップデートやPHPのアップデートについていけない。エラーが出る。ひどいときはサイトが全く表示されなくなる。廃止されたPHP関数のせいで処理が止まるから。
まあ、そんな状態では、WordPress本体のアップデートはできない。プラグインは最新版のWordPressに追従するから、プラグインだけ最新版にしてしまうと、アップデートしていないWordPressで正常に動かない可能性がある。だからプラグインもアップデートしない。
こういう、アップデートできないテーマって、制作会社が独自に作ったテーマや、有料のテーマでよくみられる。
WordPressのアップデートを阻害するテーマは時限爆弾でしかない。
お金をもらって、将来サイバー攻撃による損害を発生させるものを納品するってのはほとんど犯罪じゃないかとすら思う。
で、そういうサイトを納品し、そして保守管理契約を結んでおきながらセキュリティホールを放置している業者さんよ。恥を知れ。
独自のテーマでやるのなら、せめてアップデートについていけるよう、つくりはシンプルに、そして可能な限りWordPress関数を使って、ガイドラインに沿った標準的なやり方で作るべき。
そうすればアップデートのたびにテストする必要性はほとんどない。本体もプラグインも基本的に自動更新にすることができるから月額が安くてもペイするんだよ。