22日で59ページ、毎朝勝手に1ページ増えるサイトの作り方|Astro+GitHub Actions+XServer


 資格情報サイトを22日で59ページまで作った。しかも今も毎朝1ページずつ増えている。人が毎日書いているわけではなく、増える状態を作ったという話。何をどう組んだかを書きます。

技術的な話は、ほぼありません。

何を作ったか

作ったのは「資格マップ」という、資格情報をまとめたサイトです。宅建士、日商簿記、中小企業診断士といった資格について、難易度・合格率・勉強時間・受験料・試験日程を1ページに整理しています。

公開したのは2026年7月25日、これを書いている時点で22日目です。資格ページが49本、複数の資格を比べる記事が10本、あわせて59ページになりました。

もうひとつ、申込の締切が近い試験を並べたカレンダーも置いています。この「締切」が、あとで説明する毎朝の自動更新の理由になります。

今回のこのWebサイトは「申込み締め切り」という生きた情報を管理することで、人手での管理を超えた世界をAIを使って「生きた情報」として強みにしています。

なぜWordPressではなく静的サイトにしたか

このサイトはWordPressを使っていません。記事はテキストファイルで書かせて、Astroというツールがそれを読んで、htmlを組み立ててくれます。あとはそのhtmlファイルをサーバーに置くだけ。いわゆる静的サイトです。

速さや管理の手軽さもありますが、WordPressのセキュリティのめんどくささ。静的サイトであれば原則無問題。でもって、AIがAstroという提案をしてきた点も大きかったです。さらに、完全自動化を目指す上でWordPressという選択肢は消えました。

管理画面を人が触る前提の仕組みなので、毎朝勝手に記事が増える状態にするには相性が悪いと考えました。

なお、問い合わせフォームだけはサーバーのPHPで動かしています。全部を静的にしているわけではありません。必要な場所にだけ動く仕組みを置けば十分かと。

毎朝1ページ増える仕組み

仕掛けは3つあって、それぞれ役割が違います。この仕掛けについてもAI自身が考えてくれて作ってくれました。

1つ目は、記事を書くところ

毎朝7時半に、次に作る資格ページをAIが1本書きます。どの資格から作るかはあらかじめ順番を決めてあり、上から順に消化していきます。合格率や試験日程は公式サイトを見に行かせて、出典のURLと確認日をデータに残す。裏が取れなければ試験日程などはなしになります。

2つ目は、公開するところ

記事ができてGitHubに入ると、そこから先は自動です。サイト全体を組み立て直して、サーバーへ転送するところまで人手は入りません。

3つ目が、実は一番大事

記事が増えていない日も、毎朝サイト全体を作り直しています。
なぜかというと、静的サイトは作った瞬間の「今日」で固まるからです。
このサイトには申込締切のカレンダーを載せていて、「あと5日」といった表示が出ます。作りっぱなしにすると、この「あと5日」が何日経っても5日のまま。だから中身が変わっていなくても、毎朝焼き直して日付を進めています。
これだけの作業は人手ではとてもできません。AIを使っているからこそ、残日数を進めさせたり、新しい受験日を取得したりなどを自動化できています。

自動で走らせるなら、止める仕組みのほうが本体です

自動化で一番手をかけたのは、動かす部分ではなく止める部分でした。用意した「止める」は2種類あります。これも実態はAIからの提案です。

壊れたものを公開しない

サーバーへの転送は、手元で作ったファイル一式で本番をまるごと同期する方式です。速くて確実な反面、作り損なったファイル一式を送れば、本番もその通りになります。 無人で走らせる以上、ここは疑ってかかる必要があります。

そこで転送の前に、2つの関門を置きました。

ひとつは、組み立てたHTMLの検査。壊れたページが混じっていたら、そこで打ち切ります。AIで品質管理エージェントを走らせています。

もうひとつは、もっと単純な数の確認です。トップページや404ページなど必ずあるはずのファイルが揃っているか。そして生成されたページ数が一定数を下回っていないか(いまは30を切ったら異常と判断させています)。何かの拍子に中身が空のまま処理が進んでも、ここで引っかかります。これも、私自身は感知していません。AIが勝手に決めてくれている内容です。

古い情報を載せ続けない

資格サイトで本当に怖いのは、壊れることより間違ったまま静かに動き続けることです。試験日や申込締切を1件間違えれば、読者は実害を受けます。

そこで掲載データには必ず出典のURLと「いつ確認したか」を持たせ、期限が近いものを毎日洗い出して報告させています。実際はこんな形で上がってきます。

宅建士:掲載中の申込期間があと4日で終わります。次回試験の日程を調査してください。

ただ、限界もあります。「次回試験の日程が公表された」ことだけは、自動では気づけません。 公表のタイミングは団体ごとにばらばらで、待っていても通知は来ない。だからせめて「あと何日で切れるか」を毎日突きつけて、調べに行くきっかけだけは自動で作っています。定期的にリサーチさせる仕掛けを準備しています。

おかげで、まあまあ、AIのトークンを消費するのは仕方ありません。そして、今後、資格が増えていけば増えていくほど、このトークン消費量は増えそうで恐れおののいています。

結局のところ

自動化というと速く回すことに目が行きますが、実際に効いたのは間違ったまま進まないことのほうでした。止め方を決めていない自動化は、失敗も自動で拡大します。
まあ、これもAIからの提案なんですけどね。

いくらかかって、どんなサイトに向くのか

費用はほとんどかかっていません。

サーバーは前から借りているものに相乗りさせたので、増えたのはドメイン代だけです。ドメイン代も、初年度なので0円で取得できました。今の価格で、来年は1992円です。SSL証明書は無料のものが自動で発行・更新されます。ビルドと転送を回しているGitHubの仕組みも、この規模なら無料の範囲に収まっています。

ただし正直に書くと、一番かかっているのはAIの利用料です。記事を書いているのがAIなので、ここは書く量に応じて増えます。つまり、資格が増えると更に増えていきます。

サーバー代よりこちらが主役、という構成になっています。ClaudeのProプランで、休み休み作成して最初は作りましたが、今はプランをアップさせました。

向いているのは、更新はあるけれど構造が決まっているサイトです。製品カタログ、料金表、拠点や店舗の一覧、施工事例。どれも「項目は同じで中身だけ入れ替わる」ものなので、この作り方がよくはまります。

逆に向いていないのは、会員登録や検索、予約のように、その場で処理が必要なものです。そこは素直に別の仕組みを使うか、当サイトの問い合わせフォームのように、必要な部分にだけ動く仕掛けを混ぜるのがいいと思います。

まとめ

22日で59ページになりました。速く書いたからではなく、増える状態を作ったからです。

中小企業のサイトの多くは「作ったときは良かったが、放っておいたら古くなった」という問題を抱えています。原因は書く人の熱意ではなく、更新が仕組みに乗っていないことです。

全部を自動にする必要はありません。放っておくと古くなる部分だけを仕組みに乗せて、間違ったまま進まない歯止めを先に作っておく。それだけで、サイトは勝手に生き続けてくれます。


このブログの人気の投稿

AI検索の発展によりWebサイトを直接見られない問題

X Pro(旧TweetDeck)が便利すぎる

突然、Gmailから独自ドメインのメールアドレスから送信ができなくなった