AIでWebサイト運用を完全自動化した方法|月55記事を1人で回す仕組み
3月に始めたポートフォリオサイトが、1ヶ月で56本の記事を抱えるブログになった。全部AIが書いて、AIが公開して、AIがSEOを分析して、AIが次に何をすべきか判断している。
「そんなの品質が心配」と思うかもしれない。正直、自分も最初はそう思っていた。でも実際に回してみると、人間がやるより判断が速くてブレない。数値を見て「この記事はリライトすべき」「今週は新記事より改善に集中すべき」と自分で決められるAIは、想像以上に頼りになる。
この記事では、SHOW SmartWork Lab(このサイト)の自動運用の仕組みを全部公開する。
自動運用の全体像
運用はThink→Decide→Execute→Learnの4ステップで回している。
Think(状況把握): GA4とSearch Consoleから最新データを自動取得。PV推移、検索順位、インデックス率、CTRを一覧化する。strategy.mdという「戦略ファイル」を毎回読み込んで、今の優先度とbacklogを把握する。
Decide(判断): データを見て今日やるべきことを3つまで選ぶ。「インデックスされていないURLが7件ある→Indexing APIで送信」「検索順位11位の記事がある→リライトでページ1に押し上げる」のように、数値根拠で決める。
Execute(実行): ブランチを切ってコード変更、ビルド確認、PR作成、マージまで全部自動。記事の執筆もここに含まれる。
Learn(学習): 実行結果をoperations-log.mdに記録し、前回の判断が正しかったか検証する。リライトした記事のCTRが上がったか、新記事がインデックスされたか、数値で振り返る。
このループが1日4回(6時・12時・18時・0時)cronで回る。
技術スタック
自動化を支えているのは、意外とシンプルな構成だ。
- Claude Code: 記事執筆・コード修正・SEO改善の実行エンジン。CLAUDE.mdにプロジェクトの文脈を書いておくと、毎回ゼロから説明しなくても動ける
- cron + シェルスクリプト: daily-ops.shがオーケストレーター。レートリミットの残量を動的にチェックして、十分な余裕がある時だけ実行する
- Google Analytics Data API + Search Console API: Pythonスクリプト(fetch-analytics.py)でデータ取得。結果をMarkdownファイルに書き出して、Claude Codeが読める形にする
- Web Indexing API: 新しい記事やリライトした記事のインデックス登録をリクエスト
- GitHub CLI: PRの作成・マージをコマンドラインから自動実行
全部無料のツールで構成されている。Claude Codeの月額だけが唯一のコスト。
実際の数値で見る運用成果
正直に書くと、まだ「大成功」と言える段階ではない。でもデータの推移は着実に前進している。
インデックス率: 開始時6/32(19%)→ 現在28/81(35%)。www統一やIndexing API活用で改善中だが、まだ53ページが除外されている。
検索露出: SC上で6記事がページ1-2圏内に出現。ai-writing-workflowはCTR 11.1%、claude-vs-chatgpt-freelanceは掲載順位7.1で安定。
GA4 Organic検索流入: 正直に言うと、まだゼロ。SCではクリックが記録されているのにGA4に反映されない現象が続いている。トラフィック全体も週11PVと少ない。
数値を隠さず出しているのは、自動運用の「リアルな立ち上がり」を記録したいから。3ヶ月目の個人サイトでOrganic流入ゼロは珍しくない。むしろ56記事がインデックスされ始めて検索に出てきた段階で、ここからが本番だと思っている。
自動運用で分かった3つのこと
量産には限界がある
最初の2週間で40本書いた。毎日複数本。でもインデックス率が上がらず、Googleから「このサイト全体の品質はどうなんだ」と見られている感覚があった。
途中で方針を切り替えて、新規記事は週2本に制限。残りの日はリライト・内部リンク・CTA改善に使うようにした。この判断はAI自身がデータを見て下したもので、人間が介入する必要はなかった。
内部リンクの設計は初日からやるべきだった
54記事中17本が「孤立記事」(他の記事からリンクされていない状態)だった時期がある。Googlebotはリンクを辿ってページを発見するので、孤立記事はいつまでもインデックスされない。
今は新記事を公開するたびに、インデックス済みの関連記事から内部リンクを張るルールにしている。これも自動運用のループに組み込まれている。
「待つ」判断ができるのがAIの強み
SEOの効果が出るまでには1〜2週間かかる。人間だと「何もしない日」に焦って余計なことをしがちだが、AIはデータが出るまで待てる。4/10〜4/13は「待ちフェーズ」と判断して、大きな変更をせずモニタリングに徹した。
この「やらない判断」は、自動運用を安定させる上で意外と重要だった。
自動運用を始めるなら
同じ仕組みを作りたい人向けに、最低限必要なものを整理する。
- Claude Codeのサブスク(Max Plan推奨。記事執筆+コード修正で1日あたり数十回のやり取りが発生する)
- CLAUDE.mdにプロジェクト文脈を書く(技術スタック、運用ルール、判断基準をまとめておく。これがないとAIは毎回ゼロから文脈を理解しようとして効率が悪い)
- GA4 + Search Console APIのサービスアカウント(データ取得の自動化に必須)
- cron設定(1日2〜4回が現実的。多すぎるとレートリミットに引っかかる)
全部ゼロから構築するなら、半日あれば動く状態まで持っていける。自分の場合はClaude Code自体に「この自動運用基盤を作って」と指示して、30分で初期構成ができた。
自動化の相談やサイト運用の代行に興味があれば、気軽に声をかけてほしい。