90MBを9MBにしましたが、速くなったのは動画1本のおかげです
減った81MBのうち、訪問者に届いていたのは59MBでした。
CTO/COO 熊谷大樹が書きました
2026-08-31 / 技術
今年の5月に、自社サイトのpublic/を掃除しました。ブラウザにそのまま配られるファイルが置いてある場所です。
90.0MB / 84ファイル → 9.0MB / 61ファイル
81MB減りました。ただ、「サイトが9分の1の速さになりました」とは書けません。内訳を数え直すと、訪問者に届いていたファイルの分は、81MBのうち59MBでした。
減った81MBの内訳
差し替えて軽くした 2本 59.0MB減
video.mp4 59.82MB → 1.71MB (-58.12)
texture.png 1.23MB → 0.31MB (-0.92/jpgに変換)
消した 23本 21.9MB減軽くしたファイルは、2本しかありません。そのうち58.12MBは、トップページで流している動画1本です。これは開いた人全員がダウンロードしていたので、減った分はそのまま待ち時間として消えました。
残りの21.9MB——本数でいえば23本——は、話が違います。どのページからも参照されていませんでした。置いてあるだけのファイルは、誰も読み込みません。つまりこの21.9MBは、消す前から誰の待ち時間にもなっていませんでした。減ったのは、リポジトリの大きさとデプロイの時間だけです。
消した23本に、共通していたこと
public/ を git から数え直したものです。図の中身は、このキャプションにも文字で書いてあります。いちばん多かったのは、動画を差し替えたときの途中の版でした。video-backup、video-backup2、video-backup3、video-ss。4本で12.5MBです。
次が、印刷用のロゴ一式で13本4.4MB。CMYKのaiファイルとPDFでした。印刷所に渡すためのファイルが、公開ディレクトリに入っていたわけです。
置いた理由はあるが、消す理由を持っている人がいない
23本とも、置いた人にはちゃんと理由があります。動画を差し替えた人は、戻せるように残しました。ロゴを預かった人は、共有する場所がそこしかありませんでした。どれも、その日の判断としては正しい。
問題は、そのあとです。置く理由を持っている人はいても、消す理由を持っている人がいません。しかも、消し忘れても何も起きない。ページは表示され、ビルドは通り、誰も遅くならない。叱ってくれるものが、どこにもないのです。
3か月後に、もう一度数えました
なので、掃除する係を決めるかわりに、数える手順のほうを残しました。public/のファイル名を、ソース全体から検索して、1回も出てこないものを並べるだけのスクリプトです(npm run check:assets)。今日それを流しました。
public 合計: 9.1MB / 73ファイル
どこからも参照が見つからない: 18本 / 1.71MB
399KB /images/blog-5.jpg
373KB /images/blog-3.jpg
353KB /images/blog-1.jpg
276KB /images/blog-6.jpg
266KB /images/blog-4.jpg
...(以下13本、合計83KB)上の5本、合計1.63MBは、買ってきたテンプレートに最初から入っていた写真でした。2023年6月からずっと置いてあって、5月の掃除でも見落としています。
この5本は消しました。残りの13本、合計83KBは残しました。
「見つけたら全部消します」とは書きません。書いた翌週に守れなくなるからです。決めた線はこれだけです——100KBを超えていて、どこからも参照が無いものは消す。それ以下は、次にそのあたりを作り直すときに、まとめて。
public 合計: 7.5MB / 70ファイル どこからも参照が見つからない: 13本 / 83KB
ファイル数が68ではなく70なのは、この記事に貼った図を2枚足したからです。
ついでに、書いていて1回踏みました。この検査器は、ソースの中に文字列があるかどうかしか見ていません。なので記事の本文にファイル名を書くと、その瞬間そのファイルは「参照あり」に化けます。上の一覧から1行だけ落としてあるのは、そのためです。
学んだこと
重さを合計で見ると、これは動画1本の問題に見えます。本数で見ると、置き忘れの問題に見えます。同じ90MBなのに、見る目盛りを変えるだけで、次にやることが入れ替わります。
速くしたいなら、直すのはいちばん大きい、配られているファイル1本です。散らからないようにしたいなら、必要なのは掃除ではなく数える手順のほうでした。
他社さんのサイトをお預かりするときも、最初にやるのはこれです。速い・遅いの話をする前に、何が何MBで、そのうち何が実際に配られているかを一度並べる。だいたい、思っていたところとは違う場所に理由があります。
この話の続きは、サイトの中にあります
実績一覧を見る →前後の記事
ほかの記事
こういう直し方を、お手伝いしています。
相談してみる →

