
WordPressとの10年 - 僕のエンジニアとしての成長
あなたにとって印象的な技術はなんですか?僕の場合はWordPressです。
一人前のエンジニアになろうとしたときに触れていた技術で、今の自分を形作ってくれた特別な存在です。
ただ環境が変わり仕事でWordPressを使わなくなってだいぶ立ちました。 もともと仕事の検証環境を兼ねて用意していたWordPressですが、この度Next.jsに引っ越しをしました。今までありがとうWordPress。
引っ越しをした良い機会なので、「僕とWordPressの関わりを振り返ってみよう」と思いこの記事を執筆しました。
はじめに
僕がWordPressと出会ったのは大学院生の頃。Webサービスの仕組みすらろくに理解していない素人のころ。
当時のITエンジニア、ソフトウェアエンジニアといえば3Kと言われ、ブラックな職業No.1。コンサルやプロジェクトマネージャが花形、プログラミング開発を行うエンジニアは軽んじられる存在。ただ、少しずつ世の中の流れが変わってきていた時期でもありました。
- スマートフォン(iPhoneやAndroid)の登場
- Web2.0的なサービス、色々なサービス同士のAPI連携
などなど。
「外注やプロジェクト管理だけでなく、自分で手を動かせるエンジニアが今こそ必要だ」といった機運が高まっていたように思います。
情報系の学校に長く所属しながらも授業の課題程度にしかプログラミングに触れてこなかった僕も、こうした時代の流れや、たまたま入った大学院で自分たちでサービスを企画して使ってもらうというおもしろい授業などで経験を積み、気が付けば自分できちんとサービスを作れるエンジニアになりたいなーと漠然と考えるようになりました。
幸運にも学生イベントでホームページを作る機会があり、さくらインターネットのVPSを借り、環境構築に四苦八苦しながら、PHPやMySQLのインストール、WordPressでホームページを立ち上げたのが、初めてネットサービスを自分で立ち上げた(というほど大げさなものではないのですが…)のがこのときでした。これがきっかけで、少しずつWebの世界に足を踏み入れていきました。(その時立ち上げたWordPressのサイトは友人に跡形もなくApacheの設定やcss修正などされました。当時の技術力たるや…)。
viの使い方もろくに分からず、編集を始めて保存ができず友人に手助けしてもらったのをよく覚えています。(今でもホントにプログラミングで飯食ってるの?と笑われますw)
そんな僕も社会人になり、WordPressで自分のブログを立ち上げ、幸運にもそのブログを当時の上司に発見され転職、Webエンジニアとしてのキャリアが始まりました。
この記事はそんな僕のキャリアとWordPressのお話です。
WordPressから学んだこと
フロント、サーバー、インフラ。Webスタックの諸々
僕のブログ遍歴(システム側)は、
- Blogger
- さくらインターネットのVPS + 定番のLAMPスタック
というものです。当時はシステムエンジニアとして業務システムの一部を作っていて、なかなかWebの技術に触れるチャンスも少なかったので、勉強も兼ねて自前でWordPressを構築しました。WordPressを使っていたことで、転職活動中に先輩エンジニアから声をかけて頂き転職することができました。たまたまWordPressを使ったWebメディア事業が拡大し、人を探していたフェーズでした。タイミングや縁ってあるなーと思います。
転職先では、AWS(EC2+RDS+CloudFront+S3など)の構成でWordPressを運用していました。
当時はSEO全盛期、月間3000万pv以上のトラフィックに大量のユーザー、そして会社としてはメインの収益サービス。主に運用を担当していましたが、常に緊張感があり、結果として実践的な技術力を養えたかなと思います。
- フロント面
- WordPressのテーマ開発、コンポーネント分割、BEMベースのcss設計
- ショートコード、プラグイン開発
- A/Bテスト(jsによるDOM操作やcssの優先度)
- GoogleAdsense / DFP / 3rdパーティなど広告配信の基礎
- サーバー面
- WordPressのコンテンツ解析を通したSQLの基礎学習(MySQLのスロークエリ対策やインデックス設計)
- PageSpeedInsightやLightHouse高得点に向けたHTMLレンダリングの最適化
- インフラ面
- Nginxキャッシュによる負荷対策(EC2やRDSのコストをお安く)
- 3000以上の記事で使われている大量の画像最適化
- ブルーグリーンデプロイ
なお、かなり記事は古くなりましたが、当時書いたWordPressのプラグイン開発の記事が、引き続き好評いただいており、嬉しい限りです。
印象に残っている出来事
特に印象に残っている仕事として、「全画像の再最適化」と「サーバー入れ替え」があります。
10,000個以上の画像最適化プロジェクト
スマートフォンでの表示最適化のため、全記事の画像をリサイズ・圧縮最適化をする必要がありました。一見単純な作業に思えましたが、実際はかなりの緊張感のある作業でした:
-
準備段階
- 複数パターンでの変換テスト
- 切り戻し手順の確立
-
本番実行での工夫
- CPU使用率を監視しながらの段階的実行
- エラー時の自動リトライ機構の実装
- 深夜帯でのバッチ処理
当時は毎日数百万PVのアクセスがある中での作業。「もし画像が表示されなくなったら...」と考えると冷や汗が出ましたが、準備を念入りに行ったことで無事に完了。すべての画像が最適化され、表示が改善されたときの達成感は今でも忘れられません。
命がけ!?のサーバー入れ替え
ちょと大げさですが、サーバー入れ替えの話です。 今となってはクリティカルな部分は「DNSの向き先を切り替えるだけ」とわかってはいるのですが、当時は組織的にも技術的にもまだまだ発展途上で、新旧環境の混在・新環境でバッチが動かないなど予期せぬトラブルの連続でした。
「もし失敗したら会社の隣の川に飛び込むぞ」と先輩と冗談を言い合いながら、額に汗を浮かべて作業したのは良い思い出です(もちろん川には飛び込んでいません)。 トラブルも多かったですが、そのぶん得られた学びも大きかったと感じています。
技術の変遷とコモディティ化
僕がWordPressを使った仕事から離れたのはだいたい2020年ですが、それ以降関連する技術スタックは大きく変化しています。
- Headless CMSの台頭(そういえばWordPressもREST APIを標準搭載もありますね)
- Vercel、Netlifyなどのホスティングサービスの進化
- GitHub ActionsなどのCI/CD環境の一般化
- Next.js、Gatsbyなどのフレームワークの成熟
こうした技術が登場したからといって、すぐに技術スタックを変更するか?といえばNoですが、 個人としては新たな技術に興味が湧いたり、「新規開発に限っていえば」メディア系サービスやコーポレートサイトの構築などにこうした技術を適用することも増えました。
実際に友人の会社で運用しているメディア・サービスでは、microCMSやNuxt.jsを採用していますし、僕の会社でもGatsbyやNext.jsを使った構築に舵をきっていきました。
個人ブログのNext.jsへの移行
さて会社とは別に個人ブログで使っていたWordPressどうしようかなーというのは割と数年間チンタラ考えていました。大してお金になっていない趣味のような個人ブログなので、別の技術スタックへ移行するのは手間の割に見返りが少ないなとなかなか手を動かせずにいました。
ただ数年前からAI系のサービスの利用料が増えてきており、個人のコスト配分を見直す必要に迫られました。ブログ用のVPSにコストを支払うより、ChatGPTやCopilot系などのAI系サービスへの投資を増やすほうが、今後の会社経営や個人の成長にとってプラスになると考え今回に移行に踏み切りました。
また移行することで以下のメリットがあることも経験則から分かっていました。(実際に移行してメリットをかんじています)
- パフォーマンスの向上
- Lighthouseスコア90点以上を余裕で目指せる
- 画像最適化が自動で行われる
- 開発・運用の効率化
- Vercelによるゼロコンフィグデプロイ
- インフラのメンテナンスから解放
- コンテンツ管理の改善
- Markdown + Gitによるバージョン管理
- 慣れたIDEでの快適な執筆環境
まぁこのあたりは、僕がエンジニアで自己完結できることや、このブログが個人ブログで気楽っちゃ気楽みたいな部分があるからこその選択だとは思います。
企業で使っているWordPressを置き換える場合は、検討することが山程あるのは言うまでもないですね。
- コンテンツ管理者の技術レベル(Markdownでいけるのか、どうかとか)
- チームでの記事作成ワークフローの整備
- システムの運用、保守性(人、お金)
WordPressへの感謝
巷では色々と言われるWordPress、特に僕の周りのエンジニアからの評判はあまり良くないですねw
中身が見えにくいCMSですし、DBの構造も基本的にはデフォルトで使う、hookやfilterで処理を追加する、などとっつきにくいところが多いですね。
ただ僕にとってはキャリアのきっかけになった存在ですし、技術的にも深夜の移行作業や本番環境でのトラブル対応など、様々な経験を積ませてくれたいいやつです。
また幸運にもたくさんのユーザー(閲覧してくださった方やWordPressを使って記事を作ってくれた編集者の方)に「ありがとう」といってもらえた体験。これらすべてが、今の僕を作り上げているといっても過言ではありません。(言い過ぎか?)
おわりに
個人ブログとしてのWordPressとはお別れですが、これからも陰ながら応援しています。
ありがとう、WordPress!