2018年から母校のWebサイトの運用に携わっているのですが、今年の夏は野球部が全国高等学校野球選手権の県大会で優勝の成績をおさめたことで僕は突然甲子園出場校のWebサイト担当者になったのでした。何せ初めてのことなので分からないことも多いし驚きの連続でした。
エックスサーバービジネスで猛烈なアクセスに耐える
準々決勝までは単純にOBとして試合結果を見ていたのですが、準決勝を勝った時にはWebサイト運用担当者として「これは優勝したときのために準備をしなくてはならないのでは?」と考え始めました。実際、Webサイトの閲覧数も増加傾向にあったので、エックスサーバーのキャッシュ機能が有効になっているかを確認するとともに、WordPressにWP Fastest Cacheをインストール・有効化しました。WP Fastest CacheがなくてもTTFBは130ms前後でしたがさらに速くなりました。
翌日の決勝戦で母校が優勝した日は猛烈なページビュー数になりました。たしか12万PV前後です。Gooblebotなどからのアクセスも入れるとさらにPVが増えると思います。以前は大雨の際に在校生向けの緊急情報を掲載した朝に503エラーが発生する困ったサーバー(マネージドVPS)を利用していたのですが、エックスサーバービジネス(スタンダードプラン)では全く問題ありませんでした。僕のサーバーの選定に間違いはなかった、と答え合わせができた瞬間でした。(コストを大幅に下げ、パフォーマンスは大幅に向上したのです)
甲子園1回戦の日も人のアクセスだけで22万PVと猛烈なページビュー数を記録しました。また、元々写真が多めなこと、画像ファイルのWebP化はできていないことから転送量は330GB近くになっていました。共有サーバーなのでさすがに何か言われるか?とヒヤヒヤしていましたが、この日も何の問題もなく終わりました。
甲子園出場が決まった時は膨大なページビューと転送量に注意が必要だと分かりました。母校は私立で夏にはオープンスクールなどのイベントもあることから、Webサイトにアクセスできなくなるのは非常に困るのです。
モジュール(コンポーネント)が整っていると楽
理事長・校長先生の挨拶や募金のお知らせなどを掲載するのですが、モジュール(コンポーネント)がそれなりに整っていたので(ページ毎にCSSを書いていて僕の設計とは違うなと思うものの、引き継いだサイトなので仕方がない)読みやすいページをスピーディーに作る事ができました。PDFや画像にテキストを書いてアップロードして終わり、ではなくきちんとHTMLに本文(テキスト)書いて掲載することができたのです。(ごく一部の情報だけが読み上げのできないPDFでした。)モジュールが整っていることのメリットを改めて感じました。
その他にもfunctions.phpをサッと編集してカスタム投稿タイプを追加し、甲子園出場に関する情報を逐次更新できたのも便利でした。カスタム投稿タイプの投稿もwp_postsテーブルのレコードになるだけなので気軽に追加したのです。
まとめ
普段からパフォーマンスやCSS設計にこだわる・改善していくことがいざという時にとても役立つと分かりました。Webサイトはいつ、何が起こるか分かりません。これからも最新の情報をキャッチアップしながらよりよいWebサイトを作っていけるよう努力していきたいと思います。