コロラド州ボルダー。ロッキー山脈の麓に広がる、人口10万人の小さな街。

スタートアップの街として知られるこの場所で、Todd Hooper(トッド・フーパー)は朝のコーヒーを淹れながら、自分が作ったサービスのダッシュボードを眺めていた。$2.5M ARR。従業員は自分1人。オフィスもない。

静かな数字だった。


月間数百万ページを処理。従業員ゼロ。営業ゼロ。広告ゼロ。

Prerender.io。名前を聞いたことがある人は少ないかもしれない。

だが、ReactやAngularで構築されたウェブサイトが検索エンジンに正しくインデックスされている裏側で、このサービスは静かに動いている。Fortune 50企業も使っている。個人開発者も使っている。誰もが同じ問題を抱えていた。

JavaScriptが動的に描画するページを、Googleのクローラーは読めない。

フーパーはその問題を、週末のハックで直した。


大学の研究室ではなく、Angularアプリが真っ白に表示された日

なぜ1人のエンジニアが、検索エンジンの盲点に気づけたのか。

2013年。フーパーはジョージア工科大学でコンピュータサイエンスを学んだ後、ボルダーのスタートアップで働いていた。Rally Software、Collective IP。小さなチームで、プロダクトマーケットフィットの感覚を叩き込まれた時期だった。

「自分のAngularアプリをGoogleで検索したら、何も出てこなかった」

当時、シングルページアプリケーション(SPA)は最先端の技術だった。ユーザー体験は滑らかになる。だがGoogleのクローラーはJavaScriptを実行できない。ページを開いても、真っ白。コンテンツが存在しないのと同じだった。

業界全体が同じ問題を抱えていた。しかし、誰も解決していなかった。

「業界が追いつくのを待つ代わりに、自分で直すことにした」

フーパーは週末、ヘッドレスブラウザでJavaScriptを実行し、レンダリング結果のHTMLスナップショットを検索エンジンに返す仕組みを書いた。シンプルな発想だった。ブラウザで見える画面を、そのままボットにも見せる。それだけのことだった。


20行のミドルウェアだった

最初のバージョンは、驚くほど小さかった。

Node.js、Headless Chrome、そしてわずかなルーティングロジック。フーパーはそれをオープンソースとしてGitHubに公開した。収益化するつもりはなかった。同じ問題で困っている開発者がいるなら、使ってもらえればいい。それだけだった。

だが、何かが起きた。

「How to make JavaScript websites SEO-friendly」「Angular app not showing in Google」——開発者たちが検索するたびに、Prerender.ioにたどり着いた。GitHubのスターが増えた。Issueが飛んできた。そして、ある日メールが届いた。

「ホスティングしてくれないか。自分たちでサーバーを管理したくない」

企業からの問い合わせだった。フーパーはシンプルなホスティング版を作り、初日から課金を始