AIにサーバーを触らせて、サイトを1本立ち上げてみた話

AIにサーバーを触らせて、サイトを1本立ち上げてみた話
目次

サーバーの管理画面を開かずに、サイトを作れるらしい

新しいサイトを立ち上げようと思ったんですが、この作業がなかなか面倒。

サーバーにログインして、ドメインを追加して、SSLにチェックを入れて、WordPressの簡単インストールを開いて、サイト名とユーザー名とパスワードを入力して・・・(笑)。

ひとつひとつは大した作業じゃないんですが、画面をあちこち行き来するので地味に時間を持っていかれます。しかも年に何回もやらないから、毎回どこに何があるか忘れている時がある。

そんなとき、エックスサーバー が公式のMCPサーバーを出していることを思い出しました。MCPというのは、AIが外部のサービスを直接操作するための仕組みです。要するに、AIにサーバーの操作をそのまま任せられる。

最近は、TSUMUGI(claude code内に構築したSTORYLINEのAIエージェントの名前)にも色々なMCPを接続しているので試しにエックスサーバーも試してみることにしました。

「ドメイン登録してWPを入れて」で、本当に入った

登録方法は公式サイトにあるので割愛します。

入れたあとは、エックスドメインで取得したドメイン名を入れて「登録してWordPressをインストールして」と伝えただけです。

サイトのタイトル、管理者のユーザー名、メールアドレスを聞かれたので答えると、そのまま作業が進んでいきました。管理画面は一度も開いていません。数十秒で「インストールしました」と返ってきて、データベース名まで表示される。

※ 他社でドメインを取った場合には、「」の手続きがあると思います。

正直、ちょっと拍子抜けしました。あの行ったり来たりは何だったのかw

ちなみにAPIキーは対象のサーバーごとに1つ発行する形なので、AIに渡す範囲を絞れます。うちは本体の資産が入っているサーバーとは別の、新しいサイト用のサーバーだけを渡しました。

ところが、サイトが表示されない

ここからが本題です。

インストールが終わったのでブラウザで開いてみたら、出てきたのは「無効なURLです」の一言。エックスサーバーのエラーページです。

ドメインはエックスドメインで取ったのでネームサーバーは最初から合っているはず。実際に調べてみると、ネームサーバーもIPアドレスも正しくサーバーを向いていました。SSLの証明書も発行済み。なのに開かない。

結論から言うと、ただ待てばよかっただけでした。ドメインを追加してからサーバー側の設定が反映されるまでに、1時間ほどかかります。追加したのが21時すぎで、開けるようになったのは22時台。その間はずっとエラーページが出続けます。

ここが一番の罠でした

厄介なのは、このエラーページが「200 OK」で返ってくることです。

普通、ページが存在しなければ404が返ります。ところがこの反映待ちの状態では、サーバーは「正常に応答しました」という顔をしてエラーページを返してくる。だからステータスコードだけを見ていると「お、繋がった」と勘違いします。実際、自分もAIも一度これに引っかかって、「もうWordPressが動いている」と早合点しました。

見るべきはステータスコードではなく、ページのタイトルでした。「無効なURLです」と出ていれば、まだ反映されていない。それだけの話です。

TSUMUGI

数字やステータスは「中身の代理」でしかない、と改めて思いました。代理を見て判断すると、だいたいどこかで足をすくわれます。

反映後に残っていた、たったひとつの不整合

1時間ほどして開けるようになると、あとはきれいなものでした。

  • httpでアクセスするとhttpsに自動で切り替わる
  • ページの中に古いhttpのURLが混ざっていない
  • パーマリンクも最初から記事名の形になっている

ひとつだけ、WordPressの設定に食い違いが残っていました。「サイトアドレス」はhttpsなのに、「WordPressアドレス」だけhttpのまま。

実害はすぐにはないのですが、プラグインやテーマがこの値を見てURLを組み立てることがあるので、放っておくと後から妙なところにhttpが混ざります。設定 → 一般から「s」を一文字足して保存。ここは手でやりました(一度ログアウトします)。

この項目だけは、間違えると管理画面に入れなくなることがあります。

AIに任せず、これは自分でやる、という線引きにしています。

どこまで任せて、どこから自分でやるか

今回やってみて、線の引き方がだいぶはっきりしました。

ドメインの追加やWordPressのインストールのような「増やす」操作は、任せて問題ありません。うまくいかなくても、もう一度やればいいだけです。

一方で「消す」「変える」操作は、必ず自分の確認を挟むようにしました。ドメインの削除、データベースの削除、SSLの解除。この手のものは、間違えたときに元に戻すのが大変です。実際、初期のサンプル記事を削除するときも、AIには「消していい?」と一度聞いてもらってから実行しています。

あと地味に効いたのが、消す前に「本当にそれで合っているか」を機械に確認させることでした。

IDだけを頼りに消すと、想定と違うものを消してしまう。IDと名前の両方が一致したときだけ実行する、という形にしておくと安心感があります。

サイトが全部消えたとか洒落にもなりませんからね。

結局、何が短くなったのか

正直に言うと、待ち時間があるので「1時間で立ち上がった」わけではありません。反映は待つしかない。

短くなったのは自分が画面に張り付いている時間のほうです。指示を出して、待っている間に別の作業をして、戻ってきたら終わっている。ひとりでやっていると、この「自分が拘束されない」という部分がいちばん大きい。

その後は、claudecodeで別の仕事をするだけです。

そのあと、テーマ「SWELL」は自分でインストールしてから、固定ページ(運営者情報・プライバシーポリシー・お問い合わせなど)の作成もclaudecodeにお願いして、サイト土台としては形になりました。

このあたりは毎回ほぼ同じものを作るので、他の自分のサイトから型も持つてきてくれて、サイトとのテイストに合わせて作成してくれます。

これがなにげに面倒なんですよね。

次回予告:AIに任せた作業を、どうやって信用するか

今回いちばん考えさせられたのは、速さより「終わったと言われたことを、どう確かめるか」でした。

APIが「タイムアウトしました」と返してきたのに、実際には処理が成功していた場面もありました。エラーを真に受けてもう一度実行していたら、二重に登録されていたかもしれません。

やったと言われたことを現物で確かめる。

この一手間をどう仕組みにするかは、次回書いてみようと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次