結論
法人サイト urisol.com を WordPress から Astro + Cloudflare に自力で移行した。 相棒は Claude Code 一本。実装期間は夜と早朝を使って約3週間。 年間コストは 31,148円 → 約1,800〜13,200円。関数名を考える脳みそを他に回せた。
動機
動機は3つに集約できる。
- コストが重い。旧構成はお名前.comの共用サーバ+独自ドメイン2本で年31,148円。売上に対しては誤差でも、触らないものに払い続けるストレスが大きかった。
- 自分で触れないのがストレス。WP は更新のたびに管理画面・プラグイン・テーマの三層を意識する。CSSひとつ変えるのに気が重い。
- AI時代の運用を試したい。自動投稿・Markdown管理・Gitで履歴を追う、という運用をやってみたかった。
要するに、技術的興味と金銭的合理性が一致した。
構成
2026年4月時点の最終形。
- サイト本体: Astro の静的サイト、Cloudflare Workers Static Assets で配信
- ソース: GitHub(push → 自動ビルド・自動デプロイ)
- 旧ドメイン
urisol.jp: Cloudflare Worker で全パスを urisol.com に301リダイレクト - 問い合わせフォーム:
form.urisol.comWorker + Resend でメール転送 - 自動投稿: GitHub Actions が毎朝06:03 JST に Anthropic API を叩き、Markdown を
src/content/blog/ja/に commit - ドメイン管理は Cloudflare Registrar に移管予定(お名前.comから)
月額コストは $3〜5(ドメイン別)。Google Workspace Business Starter(月950円)を足しても年13,200円前後。
使ったプロンプトの粒度
AIへの指示は「参考にして」ではなく「これをコピーしてからこう変える」と動詞で書く。実例(固有名はぼかし)。
「urisol.com の Astro プロジェクト構造を読み取って、同じテンプレートから個人ブログ
urinosuke.comのリポジトリを新規作成。ブランドは urinosuke、製品販売なし、英語ルートは削除、初期記事3本を下書き状態で配置。作業ログは .secretary/ops/ に残すこと。」
効くポイントは3つ。
- 複製元と目的地を明示する。抽象名詞(「参考に」)ではなく動詞(「コピーして、削って、置く」)で書く。
- 削るものを明示する。AIは追加に強く、削除に弱い。放っておくと既存要素が残る。
- ログを残させる。不具合時に「何をやったか」を人間が読めないと全てやり直しになる。
詰まった3箇所
1. Astro i18n の副作用
prefixDefaultLocale: false のまま /en/ 配下を削ったら、SSG のルート解決で想定外のリダイレクトが出た。AIは「i18nを完全に外すか、en側を残すか」と選択肢を返してきた。迷わず「外す」で通した。個人ブログに多言語は不要。
2. Cloudflare Pages か Workers か
2026年時点の新規プロジェクトは Workers Static Assets が推奨。AIは最初 Pages の手順を出してきたので引き戻した。ドキュメントの最新性は人間が公式で確認するしかない、という教訓。
3. Windows の cp932 問題
Python で Anthropic API を叩き Markdown を書き出すスクリプトで、Windows の標準出力が cp932 で落ちた。sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') を先頭に入れて解決。AIは最初これを省略したが、エラーログを貼ったら即修正してきた。エラーメッセージを貼るのが最速の修正コマンドだ。
Claude Code への所感
一言で言えば「関数名を考える脳みそを他に回せる」。
命名、ボイラープレート、型の整合、i18nのお作法。この辺を全部こっちに振れるので、人間は「何を作るか・何を削るか・どこで止めるか」に集中できる。検査現場でいえば、肉厚計の数値を読む時間を削って、配管のどこを測るかの判断に時間を使える、という感覚。
誰にでもできるか
条件付きで Yes。
- GitHubとコマンドラインが触れること。ここは避けて通れない。
- 何を作るかの仕様を自分で言える人。AIは仕様を埋めるのは得意だが、決めるのは不得意。
- エラーログをコピペできること。冗談ではなく、これが最大のスキル。
逆に、AIが肩代わりしないのはこのあたり。
- 料金比較は古い情報で答えることがある。公式料金表は自分で確認する。
- ディレクトリ設計の長期保守性は弱い。「5年後これは破綻する」という嗅覚はまだ人間側にある。
- ビジネス判断はしない。更新頻度、価格、公開範囲の意思決定は本人の問題。
まとめ
非エンジニアがAIでサイトを作れる時代はもう完全に来ている。道具は揃った。残るのは、何を作り、何を削り、どこで止めるかを決める意思だけだ。
次回はこの自動投稿の仕組みを P0 商品としてどう切り出したかを書く。
このブログは Anthropic Claude + Astro + Cloudflare で運営しています。構築手順は urisol.com の AI自動投稿ブログ構築キット にまとめました。