見出し画像

サイト制作で起きた事件から、社内ルールが存在する理由を探る。

どうも、TANAYANです。

私は現在「Web制作のディレクター」をしていますが、先日とある事件がありました。

本記事は私の戒めでもありますが、サイト制作者にはぜひ知っておいて欲しいことも書います。

終盤は「ルールってなんで存在するのか」にも事件を元に言及しようと思います。


リニューアル後、事件が起こった…

とあるWebサイトのリニューアルにおいて、公開後、お問い合わせフォームの「送信ができない」「フォーム開くと前回の内容が残っている」との連絡をクライアントからいただいた。

Web制作をしている人ならわかってくれるはず。「一大事」だと。
特にフォーム系の不具合は、寿命が縮む思いがする。。。

本番公開直後に数回したテスト送信ではそんなことなかった。そもそもフォームに内容が残ってるなんて、そんなことある?と。

この事件の原因

まず原因から説明すると、「キャッシュ対策のためのプラグイン」が原因であった。

※本サイトは、CMSである「WordPress」を導入している。誰でも簡単にサイトの更新ができるようにするためのシステム。そしてこのWordPressには、拡張機能としての「プラグイン」をいれることで、よりカスタマイズができたり、独自の機能を簡単に追加できたりする。お問い合わせフォームも1からコードを書かずにプラグインを入れることがほとんど。

よくよく思い返すと、サイト公開後にキャッシュ対策のためのプラグイン「WP Super Cache」を入れた

これは、私ディレクターが訳あって(後述)いれたものであって、導入する前にエンジニアには一切相談をしていない。事件が発覚後、エンジニアに調査をしてもらうと、やはりこのプラグインが原因だと。

そもそもなんで入れたかというと

  • WordPress管理画面にある「サイトヘルス」にて、「おすすめ改善」としてキャッシュに関する記載があったから。(これはWordPress6.0あたりから表示されるようになった内容で、WordPressをサイトへインストールした直後ですら表示される。もちろん「おすすめ改善」の表示が無い状態が好ましい)

  • 「PageSpeed Insights」の点数が悪めで、改善したかったから。(「PageSpeed Insights」とはGoogleが提供しているWebページの表示速度改善などが総合的に確認できるツールで、このツールで出される点数は検索順位などにも影響してくる重要な指標。誰でも利用可能。PageSpeed Insights (web.dev) )

簡単にいうと、「クライアントのビジネスのためにも、できるだけ早く、できる限り、Webサイトをよくしたい」という想いからの行動であった。

表示速度が遅いは「悪」とされる

Web制作者としても、クオリティ面を気にする身としてもやはり、ページ表示速度は気になる部分である。

これを読んでいるあなたも、ページを開いた際に全然表示されないとイライラするはずだ。なんならそもままバックして見ないこともあるだろう。Googleも、これらの見る側の人に優しいサイトが増えることを願っているらしく、極端な言い方かもしれないが、いくらデザイン(見た目)が良いサイトでも表示速度が遅い(中身が悪い)サイトは「悪」とされるのだ。

最近のGoogleはさらにこの分野に関して力を入れているようで、私自身もより気にしていかないと思っていた矢先なので、今回正式な導入は初めてであった。

キャッシュの導入は注意する必要がある

「キャッシュ」とは、一度訪れたページの内容をブラウザなりに保存してくれる技術であり、結果的に読み込むデータ量が一気に減る = 「ページ速度を早くできる可能性」がある(かなり簡潔に説明している点は何卒ご了承のほど)。

WordPressの場合、このプラグインをインストールするだけでページ速度が速くなる可能性を秘めている(プラグイン自体は2クリックで導入できてしまうほど簡単)。

ただしこのキャッシュ系の機能を導入する場合は、お問い合わせフォームのような「動的ページ(ユーザーの入力があるなどで変化するページ)」は対象外にする必要があった。ようは、キャッシュの有効化によって「保存」をしてしまうため、「送信ができない(動かない)」「フォーム開くと見知らぬ内容が残っている」といった事件になったのだ。

※なお、キャッシュ自体は別に悪い技術ではなく、むしろユーザーのためになる素晴らしい技術。また、今回導入した「WP Super Cache」も悪いわけでは無く、むしろ「WP Super Cache」は評価も高いプラグインであり、設定でページ単位で除外することも可能。

過去にプラグインの導入が無かったとは言え、落ち着いて考えれば分かることである。そして、プラグイン導入後の確認は怠っていたのも相まった。。。

この事件を受けて、考えねばならないこと

※ここでは、私自身の過失はもちろんなので置いといて、他の誰かもこのような事件を起こさないためを思って書く。

なぜ、エンジニアに頼らなかったのか。

これは、私自身が元エンジニアなので、プラグインの導入や設定、ちょっとしたコード(PHP)の修正などは、問題なく可能なのである。だが、今回ばかりは裏目にでた。裏側を触れるからこそ、頼ることを忘れていた。もちろん、コードを知っているからこそできるディレクションもあるので、元コーダーじゃなければこんなことは起こらなかった… とは思わないが。

かつ、「エンジニア達が忙しそうだった」というのも理由としてある。クライアントのためにも早く対応してあげたいという想いと、エンジニア達の他案件の忙しさも考慮すると、無意識に手が動いていた。もちろん、エンジニア達はもしかしたら別に忙しくともなく空いてたかもしれない。この「タスクの状況がわからない」というタスク管理が甘い部分も原因として少なからずある気がしている。

ではなぜ、話しすらしなかったのか。

「ルール整備」が甘いことに原因がある気がしている(もちろん、こういう事件があるからこそアップデートされていくものでもあると思うが)。

社内の誰も知らなかったのであればしょうがないと言えるかもしれないが、ひとりは知らなくて社内の誰かは知ってる状態を作れるのであるのであれば、おそらく解決できることであった。誰が指示して、誰がプラグインを導入して、誰が何を確認してなどのルール。(これはこれでプロジェクトのスピード感が無くなるなどの懸念もあると思うが)

もちろん、それなりにやってきている会社なので、ルールが全くないわけではない。ここ数年の度重なる改善で、「サイト仕様書」などのドキュメント整備や、コーディングルールやサイト公開前のチェックリストなどもある程度整備されつつある。ただ、「プラグイン入れる場合はエンジニア確認を必須にする」というルールは無かった

さらには、社員は毎日「日報」として、その日にやった内容なども書き、社内チャット共有している。このプラグインを入れたことはもちろん日報に書いており、誰かしらは私がプラグインを入れたことを目にしているはずである。

となると、社内の「共有の仕方」悪いのかもしれないし、はたまた「発信の仕方」が悪い状態というのも原因としてあるかもしれない。

そして、「先人に頼る」という意識か。

結局こういったことはやはり「先人」だったり、より「専門の人」に頼ったほうがいいと感じた。

自分のWeb歴は3年ほどで、ある程度の事はできるようになっているものの、社内には10年以上Webをやってる人がいる。プラグインを導入した私よりも知識のある誰かがいるはずで、軽くでもいいので話をしておくべきだった。よく言われる「報連相」の意識が抜け落ちていた。

まぁ、「報告」なんて堅苦しくとらえず、「頼ってみる」くらいの軽い気持ちで話せる社内空気・文化とかの話にもなってきそうだが。。。
※別に社内雰囲気が悪いとかではないし、こういった「制作系」の会社ってどこかピリついている時が少なからずあると思うので、今回重なった。

ではルールや管理方法は、どう改善すべきか。

いろいろ書いたが、ここが一番書きたかったこと。
「なんでルール整備するの?」ということ。

少し話が逸れるが、私は現在、社内に対して新しいタスク管理ツールの導入を目指している。これは私発案ではなく上司からお願いされたこと(正確には上司からのお願いではなく、上司自身も悩んでいるので案が欲しいという感じ)。

ただ、ツールを調べたり案をまとめていくうちに、「なんでこれやってるんだっけ?」ってなってくるのだ。これを頼まれた当初は「確かに導入しなきゃ」と思ったはずなのだが。

そこでこの事件もありここ数日で考えたのだが、「クライアントに迷惑をかけないためにはどうすればいいか」という意識の強さが大事なのかもしれない、と。

ようは、タスク管理ツールの導入を上司から頼まれた時は「社内の整備をしたい」というあくまで社内という「身内」ベースの意識が大きな理由だと捉えたのだが、結局それは「クライアントやその先にいる人に迷惑をかけない」という「外部」に繋がるものであったのだ。

今回の事件に関して言えば、「タスク管理ができている状況」で「プラグインを入れる場合はエンジニアに確認するというルール」があれば起こる確率は低いはずだし、結果クライアントに迷惑をかけなくて済んだはずであるし、サイトを実際に見るユーザーにも迷惑がかからなかったのである。

身内の整備やルールがされていな状況において「なぜ整備するのか」「なぜルール化するのか」という不満だったりはよく聞く。ただそれは、ひとつ屋根の下にいない他の誰かのためになるからこそのモノだと、今回の事件を通してふと感じた。

もし、ルール整備の目的を見失ったのであれば、「外部の誰かのため」として考えると、自然と良い方向に向かっていく気がする。

そして、意味不明なルールも稀に目にするが、もしかしたらそれはほんとに身内だけのものになっているのかもしれないし、よく考えれば外部の誰かのためを思ったルールかもしれない。


いただいたサポートは、私の好きを突き詰めるために全額使わせていただきます。