WordPressとの10年 - 僕のエンジニアとしての成長
あなたにとって人生を変えた技術はありますか?
僕の場合はWordPressです。最も長く使った技術でもなければ、最も詳しい(いやまぁまぁ詳しい自負はありますが)技術でもありません。しかし、エンジニアとして最も多感な時期に出会った技術であり、今の自分を形作ってくれた特別な存在です。
WordPressが僕のWebエンジニアとしてのキャリアを開始するきっかけになってくれました。今までありがとう。
※ WordPressが世の中からなくなったわけではなく、個人ブログをWordPressから移行したので振り返りをした、という記事です。
はじめに
私がWordPressと出会ったのは大学院生の頃。Webサービスの仕組みすら理解していない素人でした。
当時はまだITエンジニア、ソフトウェアエンジニアといえば3Kと言われ、ブラックな職業No.1。ただ、少しずつだけ世の中が変わってきていた時期でもありました。
GoogleやAppleが台頭し、「外注やプロジェクト管理だけでなく、自分で手を動かせるエンジニアが今こそ必要だ」といった機運が高まっていたように思います。
情報系の学校に長く所属しながらも授業の課題程度しかプログラミングをやってこなかった僕も、そうした時代の流れや自分でサービスを企画して使ってもらうという幸運にも恵まれ、自身でプログラミングをできるようになりたいと渇仰していました。
たまたま学生イベントでホームページを作る機会があり、さくらインターネットのVPSを借り、環境構築に四苦八苦しながら、PHPやMySQLのインストール、WordPressのサイト立ち上げたをしました。これがきっかけで、少しずつWebの世界に足を踏み入れていきました。(その時立ち上げたWordPressのサイトは友人に跡形もなくApacheの設定やcss修正などされました。当時の技術力たるや…)。
viの使い方もろくに分からず、編集を始めて保存ができず友人に手助けしてもらったのをよく覚えています。(今でもホントにプログラミングで飯食ってるの?と笑われますw)
そんな僕も社会人になり、WordPressで自分のブログを立ち上げ、それがきっかけ(というほどでもないかもしれませんが)にWebエンジニアとしてのキャリアが始まりました。
この記事はそんな僕のキャリアと、いつも隣にいたWordPressのお話です。
WordPressから学んだこと
フロントエンド・サーバーサイド・インフラなどなど、Webスタックの総合力
僕の初期ブログもさくらインターネットのVPSを借りて定番のLAMPスタックで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以上の記事で使われている大量の画像最適化
- ブルーグリーンデプロイ
※ とはいえ、キャッシュ構成やインフラ構成の基礎はすでに先輩エンジニアがの方が整備してくれていました
単に技術的な部分だけでなく、大量にユーザーがいる・Webメディアが主力の収益元だったので、常に緊張感があり、結果として実践的な技術力を養うことができました。
なお、かなり記事は古くなりましたが、当時書いたWordPressのプラグイン開発の記事が、引き続き好評いただいており、嬉しい限りです。
0からわかるWordPressプラグイン開発(スッテプ・バイ・ステップ)
印象に残る出来事
特に印象に残っている業務として、「全画像の再最適化」と「サーバーの入れ替え」があります。
10,000個以上の画像最適化プロジェクト
スマートフォンでの表示最適化のため、全記事の画像をリサイズ・最適化する必要がありました。一見単純な作業に思えましたが、実際はかなりの緊張感のある作業でした:
-
準備段階
- 複数パターンでの変換テスト
- 切り戻し手順の確立
-
本番実行での工夫
- CPU使用率を監視しながらの段階的実行
- エラー時の自動リトライ機構の実装
- 深夜帯でのバッチ処理
当時は毎日数百万PVのアクセスがある中での作業。「もし画像が表示されなくなったら...」と考えると冷や汗が出ましたが、準備を念入りに行ったことで無事に完了。すべての画像が最適化され、表示が改善されたときの達成感は今でも忘れられません。
命がけ!?のサーバー入れ替え
今となっては「DNSを切り替えるだけ」の作業なのですが、当時は組織的にも技術的にもまだまだ発展途上。新環境と本番環境が混ざってしまうなど、予期せぬトラブルの連続でした。
「もし失敗したら会社の隣の川に飛び込むぞ」と先輩と冗談を言い合いながら、額に汗を浮かべて作業したのは良い思い出です(もちろん川には飛び込んでいません)。
振り返ってみると、これらの経験は技術力だけでなく、
- プロジェクトの計画立案と実行
- リスク管理とコミュニケーション
- チームでの連携と役割分担
といったスキルも身につけることができました。
トラブルも多かったですが、そのぶん得られた学びも大きかったと感じています。
技術の変遷とコモディティ化
2020年以降、技術スタックは大きく変化しています:
- Headless CMSの台頭(そういえばWordPressもREST APIを標準搭載もありますね)
- Vercel、Netlifyなどのホスティングサービスの進化
- GitHub ActionsなどのCI/CD環境の一般化
- Next.js、Gatsbyなどのフレームワークの成熟
ではこうした技術が登場したからといって、すぐに技術スタックを変更するか?といえばNoです。 ただ個人としての新たな技術に興味が湧いたり、「新規に限っていえば」メディア系のサービスやコーポレートサイトを構築する際に適用可能な新しい選択肢が誕生したことに間違いはありません。
実際に友人の会社で運用しているメディア・サービスでは、microCMSやNuxt.jsを採用していますし、僕の会社でもGatsbyやNext.jsを使った構築に舵をきっていきました。
個人ブログのNext.jsへの移行
会社とは別に個人ブログをどうするか?という問題がありました。とはいえ大してお金になっていない趣味のような個人ブログを、別の技術スタックへ移行するのは手間の割に見返りが少ないなと考えていました。
そのような中で今回移行を決断するに至りましたが、一番の理由はVPSのコストです(そこまで高いものではないのですが)。
数年前からAI系のサービスの利用料が増えてきており、個人としてコストの配分を見直す必要がありました。ブログ用のVPSにコストを支払うより、ChatGPTやCopilot系などのAI系サービスへの投資を増やすほうが、今後の会社経営や個人の成長にとってプラスになると考えました。
また移行することで以下のメリットがあることも経験則から分かっていました。
- パフォーマンスの向上
- Lighthouseスコア90点以上を余裕で目指せる
- 画像最適化が自動で行われる
- 開発・運用の効率化
- Vercelによるゼロコンフィグデプロイ
- インフラのメンテナンスから解放
- コンテンツ管理の改善
- Markdown + Gitによるバージョン管理
- 慣れたIDEでの快適な執筆環境
ただし、これは個人ブログだからこその選択ですね。
企業での導入を検討する場合は、以下の点も考慮が必要なことは言うまでもありません。
- コンテンツ管理者の技術レベル
- チームでの記事作成ワークフロー
- システムの保守性
WordPressへの感謝
WordPressは私にとって、単なるCMSではありませんでした。
キャリアのきっかけ、深夜の移行作業、本番環境でのトラブル、様々な教訓… そしてユーザー(閲覧してくださった方やWordPressを使って記事を作ってくれた編集者の方)の「ありがとう」の言葉。これらすべての経験が、今の私を作り上げています。
WordPressは僕のキャリアの隣りにいて
- エンジニアとしてのキャリアのきっかけ
- 実践的な技術力の基盤
- ビジネス価値の創出経験
を提供してくれました。
おわりに
個人ブログとしてのWordPressとはお別れですが、これからも技術との向き合い方や、得られた経験を大切にしていきたいと思います。そして、次の10年でどんな技術と出会い、どんな経験を積めるのか。それを考えると今からわくわくします。
最後に… ありがとう、WordPress! そしてこれからもよろしく(陰ながら応援していますw)