Claude Codeで1日1記事自動公開する仕組みを作った
このサイトのブログ、実は人間がほとんど書いていない。
2026年3月20日のサイト公開から、毎日1〜2本の記事が継続的に公開されている。自分がやっていることは、たまに「.」とだけ入力してEnterを押すことくらいだ。あとはClaude Codeが全部やってくれる。
「それって品質は大丈夫なの?」と聞かれることがある。正直に言うと、自分が書くよりむしろ丁寧だ。
仕組みの全体像
このブログの自動更新は、Think→Decide→Execute→Learnという4フェーズのサイクルで動いている。
Think(状況把握)
↓ 戦略ドキュメント・アナリティクスを読む
Decide(判断)
↓ 次に書くべき記事を決める
Execute(実行)
↓ 記事執筆 → バリデーション → PR → マージ
Learn(記録)
↓ 運営ログ・コンテンツプランを更新
Claude Codeはこのサイクルを1回回すたびに、新しい記事を1本公開する。1サイクルにかかる時間は10〜15分程度。
Search Consoleを読んで記事テーマを決める
ただ「次の予定記事を書く」だけではない。毎回、Google Search ConsoleのAPIを叩いて実際のデータを確認してから記事テーマを選んでいる。
具体的に見ているのはこういうシグナルだ:
ポジション11〜20のクエリ(Quick Win):もう少しでページ1に入れるキーワードを優先する。今日この記事を書いているのも、"claude code 執筆"というクエリが11位に入っていたからだ。
インプレッションがあるのにクリックがないページ:表示はされているが選ばれていないページは、タイトルや内容の改善で伸びる可能性がある。
新しく検出されたクエリ:想定していなかったキーワードで表示が始まったら、そこに向けたコンテンツを強化する。
データを見ると「次に何を書くべきか」がかなり明確になる。カン頼りで記事を書くより、はるかに効率がいい。
gitで完結するワークフロー
記事の公開フローは、ローカルのgitリポジトリだけで完結している。CMSダッシュボードもなければ、デプロイ用の管理画面もない。
daily-ops/YYYY-MM-DD-記事slugのブランチを作成content/blog/YYYY-MM-DD-slug.mdxにMDXファイルを書くnpx tsx scripts/validate-blog.tsでバリデーションnpm run buildでビルド確認- GitHub PRを作成 → マージ
- Vercelが自動でデプロイ
PRのマージまでがClaude Codeの担当で、その後はVercelが勝手にデプロイしてくれる。人間が確認するタイミングは、PRをマージするかどうかの判断だけだ(それすら自動化できるが、今は意図的に1クッション置いている)。
このサイトのMDXベースのブログ構成については、設計思想ごと別の記事に書いてある。Claude Codeが扱いやすいようにあらゆる設計が最適化されている。
「人間らしさ」をどう担保するか
自動生成の記事が読んでいて「AIっぽい」と感じる原因はいくつかある。主なものは:
- 箇条書き多用:「まとめると以下の通りです。①〜②〜③〜」という展開
- 冗長な前置き:「はじめに〜について解説します」
- 結論の先延ばし:本題に入るまでが長い
- 語尾の均一化:「〜です。〜ます。〜です。」が繰り返される
このブログでは、これらを避けるために記事ごとに「人間化ルール」を適用している。一人称のエピソード、断定的な語尾、省略や倒置——人間が書いたときに自然に出てくる表現を意図的に入れる。
完璧ではないが、「なんとなく読める」レベルには達していると思う。あとは継続的なA/Bテストだ。
運営ログで全部公開している
このサイトにはAI開発ログ(/ai-log)というページがある。AIが何をやったか、どんな判断をしたか、何分かかったかを全部記録して公開している。
透明性を持たせているのは、「AIで運用しています」という事実自体がコンテンツになると考えているからだ。Claude Codeが自律的にサイトを育てていく様子は、AI自動化に興味がある人にとって面白いはずだし、自分自身の実力証明にもなる。
記事を読んで「これ自分のサービスにも使えそう」と思ってもらえたら、それがそのまま受注につながる。
今後の課題
正直に言うと、まだ課題は多い。
SEOのインデックス問題:現在、45ページ中インデックスされているのは15ページほど。記事を増やしても検索に出てこなければ意味がない。hreflangの設定やキャノニカルURLの整理が必要だ。
記事の品質ばらつき:毎日1本のペースを維持すると、どうしても薄い記事が混じる。量と質のバランスは継続的に調整している。
コンテンツの鮮度管理:古くなった情報を含む記事の定期見直しがまだ仕組み化できていない。
こういう課題も含めて、全部公開しながら改善していくつもりだ。「完璧な状態になってから公開する」より、「動いている状態を見せながら育てる」方が、このサイトのコンセプトに合っている気がする。
まとめ
このブログが毎日更新され続けているのは、Claude Codeが自律的にSearch Console→記事執筆→git→デプロイのサイクルを回しているからだ。人間の介入は最小限で、でも記事の品質はある程度担保できている。
自分がこのシステムで一番面白いと思っているのは、「AIが自分でデータを見て、次に何をすべきか判断する」という部分だ。指示を待つのではなく、状況を読んで動く——これができるようになると、自動化の意味が全然変わってくる。
興味があれば、ブログシステムのセットアップ方法やAI駆動の執筆ワークフローも見てみてほしい。