🧐

Netlifyの無料枠を使い切りそうになったので、『SOZAI』をStatic Exportsにしました

2024/06/28に公開1

はじめに


この度フリー素材サイト『SOZAI』をリリースしました!!
本記事では『SOZAI』の技術的な部分にフォーカスにして紹介していきたいと思います。

▼ サイトリンク
https://soz-ai.com/

また、イラストリクエストもお持ちしています。
https://docs.google.com/forms/d/10C9FOrT-IvdL9_yN1VUdhgDvWaxExGaTRDWDLMsWfP4/viewform?edit_requested=true

▼ 前回の記事
https://zenn.dev/y_ta/articles/400ae15054ef0b

技術的な取り組み

『SOZAI』はNext.js、microCMSを使ってSSGで作り、Netlifyにデプロイしました。

サイトをリリースしてから3日、4日たったころ、Netlifyから以下のメールが届きました。

内容としては、「現在の課金サイクルにおいて、『SOZAI』での呼び出し回数が許容量の50%に達しました。」というものでした。多くの方にサイトに訪れていただけて大変嬉しいのですが、月の無料枠の半分をすでに使い果たしてしまいました。

Netlifyで詳細を確認すると、Serverless Functionsへのリクエスト数が9.8万回に達していました。月の無料枠は12.5万回なので半分を余裕で超えてしまっています。

そこで、Node.jsが動く環境を必要としないStatic Exportsに移行しました。通常、SSGのサイトをビルドすると.next/serverというフォルダの中にHTMLファイルが生成されます。一方でStatic Exportsの場合は、outというフォルダの中に作成されます。

Node.jsを不要な環境、すなわちServerless Functionsを必要としなくなり一安心なのですが、一つだけ問題があります。Next.jsの機能に制約を受けてしまうということです。

例えば、以前このページは以下のurlでアクセスできましたが、静的エクスポートにしたため、動的な処理を伴うクエリパラメータを使うことができなくなってしまいました。

https://soz-ai.com/all-sozai?page=2

現在では、パスパラメータでのアクセスが可能となっています。

https://soz-ai.com/all-sozai/2

まとめ

拙い記事ではありますが、最後までお読みいただきありがとうございました。また、『SOZAI』に関して技術的なアップデートを行った際には、Zennにて記事を投稿する予定です。普段のスライド作成やブログ執筆時に『SOZAI』をご利用いただければ、開発チーム一同大変嬉しく思います。

Discussion