Petal開発記録:GitHub Pages を卒業して Worker + R2 に移行した理由

GitHub Pages では更新の遅延・キャッシュ問題・動的処理の限界に直面。Petal 開発を進める中で、Cloudflare Worker と R2 へ移行することで即時反映・API化・画像最適化が実現し、開発のストレスが激減。実際に起きた課題と移行後の改善点をまとめます。

目次

OJapp Petal を作り始めて 3か月。最初は GitHub Pages を使って開発していました。 「無料で使える」「簡単に公開できる」「静的サイトなら十分」──そう思っていたけど、Petal の機能が増えていくほど、GitHub Pages の限界に何度もぶつかるようになりました。

この記事では、実際に開発しながら感じた “GitHub Pages 卒業ポイント” と、 Worker + R2 に移行したことで得られた圧倒的な快適さをまとめます。

GitHub Pages で感じた限界

① 更新しても反映されない(反映まで数分〜数十分)

Petal の UI を直したり、テキストを微調整したりしても、GitHub Pages はすぐに反映されません。 反映されたとしても、ブラウザ側のキャッシュ・iOS の影キャッシュ・GitHub の反映遅延が重なって、 「直ってるのか直ってないのか」すらわからない時間が続く。

開発スピードが完全に止まる瞬間が多かったです。

② キャッシュの二重地獄(Safari × GitHub)

iOS Safari のキャッシュは強力で、WebClip(ホーム画面アイコン)だとさらに更新されにくい。 そこに GitHub Pages の “遅延更新” が重なると、 「本番が古いまま」「手元のコードは新しい」「どっちが本当?」 という混乱が生まれる。

Webツール開発者としては、致命的な開発ストレスでした。

③ 動的処理ができない

Petalでは、 ・ユーザー認証 ・画像アップロード ・公開/非公開の切り替え ・承認フロー などが必要になります。

これらは静的サイトの GitHub Pages では不可能。 API を別場所に作り、構成が複雑になるのも大きな理由でした。

Worker + R2 を使ってみたら、世界が変わった

① 更新が即時反映(0.1秒〜数秒)

Cloudflare Worker にコードをデプロイすると、 ほぼリアルタイムで世界中に反映されます。

GitHub の「更新されてるか謎」な時間が完全に消え、 一気に開発スピードが2〜3倍になりました。

② API がネイティブに作れる

Petal の ・ユーザー情報 ・Petal 投稿データ ・承認ステータス などはすべて Worker 上の API と D1 / R2 で処理しています。

「静的サイトに無理矢理 API を付ける」のではなく、 最初から API 前提で構築できるのが本当に楽。

③ 画像は R2 に置くだけで高速&安定

Petal は “1人1投稿・画像必須” という仕組みなので、画像ストレージが重要です。

R2 に置いた瞬間、 ・読み込み高速 ・容量ほぼ気にしなくていい ・コストも激安 になり、GitHub のブロブ管理のストレスがゼロになりました。

④ iOS の影キャッシュ問題がほぼ解決

Worker を使うと、レスポンスヘッダでキャッシュ制御ができるため、 iOS 特有の “古いアイコンを読み続ける問題” が激減しました。

GitHub Pages ではどうにもならなかった部分なので、ここが最大のメリットかもしれません。

Petal の成長に合わせて、仕組みも成長していく

GitHub Pages は「静的ページを置く場所」としては最強ですが、 Petal のような ユーザー参加型・画像投稿型・承認管理型 のサービスには限界がありました。

Worker + R2 に移行したことで、 ・本番反映の速さ ・動的API ・キャッシュ制御 ・ストレージの拡張性 が揃い、Petal の開発は次のフェーズに進めるようになりました。

まとめ:GitHub Pages は卒業。Petal の未来のために Worker へ

GitHub Pages は本当に素晴らしいサービスです。 最初のOJappも、ここから始まりました。

でも、Petal の仕組みが成長するにつれて、 「静的サイト」から「サービス」へ進む必要が出てきた。

Worker + R2 への移行は、 そのタイミングが来たというだけの話です。

ここから Petal は、 もっと速く、もっと自由に進化できる。 そんな環境にやっと辿り着けました。

👉 Petalはこちら(開発中)

Cookie同意バナーの本当の理由|GDPR・トラッキング・規制をわかりやすく解説

なぜCookie同意バナーが必要なのか?GDPR・ePrivacy・サードパーティCookie規制・ITP・トラッキング技術など、初心者には見えない背景を中級者向けに詳しく解説します。

おじゃち

OJapp代表 WPプラグインPWAマーケティング・OnePage.OneApp.(1P1A)・ホーム画面名刺&SNSのPetal・その他OJappToolsなどを開発。PWA・ホーム画面・Safari挙動・軽量Web体験を中心に、実験しながらWebアプリを開発しています。

← 記事一覧へ戻る