制作の実験として、東京都内の自治体の「ごみ分別」と「粗大ごみ料金」を品目名から検索できる地域生活メディア LOCALnavi を自社で作って運用しています。この記事では、その技術構成と、つまずいた点・工夫した点を制作メモとして残します。
構成:Astroの静的生成 × データ駆動
サイトは Astro の静的生成で構築しています。自治体が公開するオープンデータ(CSV)を JSON に変換し、市区町村ごとに1ファイルへ分割。ページは市の JSON が存在するかどうかだけで自動生成される疎結合な設計にしました。新しい市を追加するときは、データを投入するだけでページ・内部リンク・サイトマップまで揃います。運用が量産に耐えるかどうかは、この「データを置けば増える」構造で決まります。
1,000品目超を高速に検索する
1つの市で1,000〜1,600品目になるため、検索はサーバーを持たないクライアントサイドで完結させています。ビルド時に品目名・別名・分別区分を含む軽量な JSON を生成し、入力に対して即時に絞り込む方式です。静的ホスティングのままで、体感速度は動的検索と変わりません。実際の挙動は 府中市のごみ分別検索 で確認できます。
市をまたいだ「料金比較」というデータの見せ方
粗大ごみの手数料は自治体ごとにばらばらで、同じ品目でも数倍の差が出ます。単市のデータを並べるだけでなく、複数市を横断して比較すると、公的データからしか得られない情報になります。この考え方でまとめたのが 東京都の粗大ごみ料金の比較 です。データ駆動サイトは、集計の切り口を変えるだけで新しいコンテンツを生み出せるのが強みです。
YMYL:一次出典と最終更新の明示
料金や分別ルールは生活に直結する YMYL 領域です。各ページに出典(自治体公式・省庁オープンデータ)と最終更新日を明示し、詳細は必ず公式で確認する導線を置いています。AI検索時代に評価される情報設計という観点でも、一次情報を正確に構造化して届けることを最優先にしています。
静的サイト+オープンデータは、低コストで保守しやすく、量産と高速検索を両立できる組み合わせでした。同種の地域データサイトを検討している方の参考になれば幸いです。
コメントを書く