A Piece of Cake

2026年8月23日日曜日

体験記:AIを使ってブログのレンタルサーバーを変更してみた

 WordPressを他社のレンタルサーバーへ移行の記録

― AIの助言を受けながら進めたサーバー移行 ―


Bethany DrouinによるPixabayからの画像



長年利用してきたレンタルサーバー(AAAサーバーという)から、新しいレンタルサーバー(XXXサーバーという)へWordPressサイトを移行しました。(当該ブログではありません)


従来の「AAAサーバー」 ⇒ 新たな「XXXサーバー」
*独自ドメインは別のドメイン会社を利用で、今回こちらは引続き利用。

移行に至った理由は、AAAサーバー側に技術的な欠陥があった訳ではありません。トラブルがあった際の「Q&A」などのサポート系がXXXサーバーの方が充実していたことと、SEO関係のアドバイスが積極的に感じられたからです。


もう一つは、詳しい内容は本文の中でふれますが、「公開フォルダ」に関係することです。私がAAAサーバーでサイトをはじめた2015年から、初期設定ミスがあったことです。この設定ミスはサイトの表示では決定的なミスではなかったようですが、今回の移行作業を経験し特殊な設定だったことが分かりました。


ですから、こうした設定ミスが、サイトの表示関係に微妙に影響していたのかも知れません。 若干反応が悪かったり、管理画面等で一瞬ですが表示画面が可怪しかったことも、その影響だったのかも知れません。そうした長年のウヤムヤもあり、この際レンタルサーバー業者を替えて心機一転を考えた訳です。



今回移行したのは、独自ドメインで運営しているメインサイトと、そのサブドメインで運営しているサイトの2サイトです。


当初は、WordPressのファイルとデータベースを新しいサーバーへ移せば、それほど難しい作業ではないだろうと、かなり安易に考えていました。

ところが実際に始めてみると、ファイルの配置、データベース、wp-config.php、DNS、SSLなど、いくつもの要素が関係しており、思った以上に複雑な作業でした。


今回の移行で特に大きな助けになったのが、近ごろ私たちの生活にすっかり浸透してきた生成AI「ChatGPT」によるアドバイスでした。

それでは、前置きはこれくらいにして、手順に沿ってお話していきましょう。


Gerd AltmannによるPixabayからの画像


1.最初にバックアップを取る


まず、サーバー移行で最も重要なのは、何よりもバックアップです。


WordPressは大きく分けると、WordPress本体、テーマ、プラグイン、画像などの「ファイル」と、投稿、固定ページ、設定などを保存している「データベース」から構成されています。


そのため、ファイルだけではなく、データベースも必ずバックアップする必要があります。

今回も、移行前にファイルとデータベースの両方をバックアップし、さらにPCやUSBメモリにも保存しました。

これは、移行作業で問題が発生した場合に、元の環境へ戻すための重要な保険になります。

バックアップの方法の他、バックアップファイルのPC本体やUSBメモリーなどに保存する際の、保存フォルダの命名のアドバイスは、些細なことですが移行作業を混乱なく進める上で非常に役立ちました。 ファイル名というのはその時は分かっていとも、月日が経つと名前によっては何のためのファイルか判別がつかなくなるからです。


2.WordPressのファイルを移行する


まず旧サーバーからWordPressのファイルを新サーバーへ移しました。


ここで最初の難関になったのが、ファイルの階層構造でした。


ZIPファイルを展開した際、WordPressのファイルが一段深いフォルダに入ってしまい、公開フォルダに正しく配置できていない状態になりました。



この現象は、私自身のZIPファイルの展開のやり方に問題があったのかも知れませんが、ZIPファイルを解凍するとZIPファイル名のフォルダが、(図1)のように「public_html」の直下に作成されてしまいます。

本来は(図2)のようにpublic_html」の直下にZIPファイルの中身が、展開されなければいけないのですが、(図1)のように一段余計なフォルダが挟まる形(二重フォルダ構造)になってしまうのです。


(図1)

public_html  ← 公開フォルダ

└─ZIPファイル名のフォルダ  ← 余計なフォルダ

    ├─ wp-admin   

    ├─ wp-content  

    ├─ wp-includes 

    ├─ wp-config.php

    ├─ index.php

    └─ その他のWordPressファイル



この不具合は、AIに現在のフォルダ構造を説明し、どのファイルをどこへ配置すべきか確認しながら、一つずつ修正しました。


最終的には、


(図2)

public_html/

├─ wp-admin/

├─ wp-content/

├─ wp-includes/

├─ wp-config.php

├─ index.php

└─ その他のWordPressファイル


という正しい構造にしました。

ファイル移行では、ファイルの有無だけでなく「どの階層にあるか」が非常に重要だと実感しました。


実は、このフォルダ構造が冒頭で触れたAAAサーバーのときは、契約当初から二階層フォルダ構成で設定されていたのです。WordPressを使ったWebサイトでは、フォルダ階層は上の(図2)のようになるのがセオリーです。ところが、その当時はWordPressを使い始めたばかりで、自分自身が勝手に設定したとは考えられず、恐らく何かの参考資料を基に、二階層フォルダ設定にしたのでしょう。今となっては知る由もないのですが。


3.エラーメッセージをAIに解読してもらう


今回の移行作業で、AIの恩恵(存在感)を強く感じたのが、エラーメッセージの解読に於いてです。


作業途中には、

  • wp-includes/version.php が見つからない
  • WP_Theme クラスが見つからない
  • 旧サーバーのパスを参照している
  • データベースへのアクセスが拒否される

など、専門知識がなければ原因を判断するのが難しいエラーが、次々と発生しました。



例えば、WordPressの


「Class "WP_Theme" not found」


というエラーメッセージが出たときも、単純にテーマの問題だと思ってしまいそうですが、実際にはWordPress本体のファイルが、正常に揃っているかを確認する必要がありました。


また、旧サーバーのパスを参照しているエラーについても、単純にWordPress全体が壊れているのではなく、特定のプラグインが旧サーバーの情報を参照していることを確認し、原因となっていたプラグインを一時的に停止することで解決しました。



Gerd AltmannによるPixabayからの画像



エラーメッセージをそのままAIに伝え、その意味と次に確認すべき場所を教えてもらう。

この方法が、今回の移行では非常に有効でした。


これまでも、Web関係に限らず、PCを操作していると、何かとエラーは出るものです。その際エラーメッセージを解読(翻訳)するのはかなり難問でした。昨今は英語のページもChromeの翻訳機能である程度は理解できるようになりましたが、100%内容を理解することは稀でしたから、AI様々です。

翻訳機能で日本語化できることと、エラメッセージを理解できることとは別物ですから。



4.データベース移行でもエラーが発生


ところで、Webの仕組みは複雑で、単にWordPressのファイルを移しただけでは、投稿や固定ページは表示されません。


まずはじめは、旧サーバーのphpMyAdminからSQLファイルを取得し、新サーバー側のデータベースへインポートします。


ところが、ここでもエラーが発生しました。 エラーの原因は、SQLファイルの中に、旧サーバーで使用していたデータベース名を作成・使用する命令が含まれていたため、新サーバー側でアクセス権限エラーが発生したのです。


エラーメッセージをAIに示したところ、単なる「データベースの設定ミス」ではなく、SQLファイル内に旧サーバー固有のデータベース名が残っていることが原因と分かり、対処することができました。 この点でも、私単独だったら理解できず、この時点で移行作業はストップしていたかも知れません。


その後、新サーバー側で正しいデータベースを作成し、必要なユーザーにアクセス権を設定して、無事インポートを完了しました。(この辺りの作業の手順もAIは丁寧に指示してくれます)


Irvin John MabliによるPixabayからの画像



5.wp-config.phpを新サーバー用に変更


データベースの移行後は、WordPressが新しいデータベースを参照できるように、wp-config.phpを変更します。


変更するのは主に、


データベース名

データベースユーザー名

データベースパスワード

データベースホスト


です。


ここもAIに確認しながら、一項目ずつ変更しました。

この作業が終わると、いよいよ新サーバー上で以前のWordPressサイトが、表示されるかを確認する段階まで来たことになります。


6.移行後の確認で分かったこと


しかしながら、サイトが表示されたからといって、移行完了とは限りません。


今回も、以下の項目が正しく表示されるかを確認します。


トップページ

管理画面

投稿

固定ページ

メディアライブラリ

画像

内部リンク

パーマリンク

HTTPS


確認は一つずつ行います。


メインサイトでは、トップページのスライド画像が表示されないという問題も発生しました。


調べると画像ファイル自体は正常に移行されており、メディアライブラリから画像を直接開くこともできました。ところが、実際のトップページ画面には本来あるべき画像が表示されていませんでした。


fancycrave1によるPixabayからの画像



そこで、Lightningテーマのスライド画像設定を確認し、画像を再指定することで無事に復旧しました。

* わたしの場合、スライドショーをトップページに設定していたので、今回のようなスライド画像が表示されないという不具合が出たのかも知れません。通常の画像であれば問題なく表示されていたのかも知れません。と言うのは、他のページでは問題なく画像表示されていたからです。


この経験から、「ファイルが存在すること」と「WordPress側の設定が正しいこと」は別々に確認する必要があると分かりました。


7.サブドメインの移行は基本的に同じ


今回、メインサイトのほかに、sub.example.comという形式のサブドメインサイトも移行しました。

基本的な手順はメインサイトと同じです。


ただし、サブドメインを新サーバー側に登録し、そのサブドメイン専用の公開フォルダを用意する必要があります。


また、メインサイトとは別のWordPressとデータベースとして扱いました。


サブドメインの設定では「反映待ち」と表示されたこともありましたが、時間を置いて確認すると「正常」に変わり、SSLも正常に機能しました。


8.DNSとSSLを確認する


最後にドメインのDNSの確認です。


今回、ネームサーバーは、


ns1.xxxxxxx.jp

ns2.xxxxxxx.jp

ns3.xxxxxxx.jp

ns4.xxxxxxx.jp

ns5.xxxxxxx.jp


となっており、ドメインが新しいサーバー側を向いていることを確認します。


さらに両サイトともhttps://で正常に表示されることも確認します。


ここまで問題ないことが確認できたら、初めて旧サーバーを解約する準備に入ります。


9.旧サーバーは最後に解約する


新サーバーでサイトが正常に動作していても、旧サーバーをすぐに削除するのは避けたほうが安全です。


今回もバックアップを確保したうえで、メインサイトとサブサイトが新サーバーで正常に動作することを何度も確認してから、旧サーバーの解約手続きを行いました。 この点は、AIはとても慎重でした。



10.AIの助けがなければ、独力での移行は難しかった


Franz BachingerによるPixabayからの画像



今回のサーバー移行を終えて、最も強く感じたことがあります。

それは、WordPressやサーバーに関する専門知識が十分でない私一人では、今回の移行を最後まで完了することはかなり難しかっただろうということです。


特に役立ったのが、エラーに対するAIの対応力でした。


エラーメッセージをそのまま伝えることで、


  • 「このエラーは何を意味しているのか」
  • 「どこを確認すればよいのか」
  • 「今は何をしてはいけないのか」
  • 「次に何をすればよいのか」


を順番に整理することができました。


また、画面の状態を伝えながら作業を進めることで、いきなり複雑な操作をするのではなく、一つ操作して確認し、問題がなければ次へ進むという方法を取ることができました。


これは、サーバー移行のように失敗すると、サイトが表示されなくなる可能性がある作業では、とても重要なことだと思います。


もちろん、AIの回答をそのまま信用して操作するのではなく、実際の画面やエラーメッセージを確認しながら進めることが大切なことは勿論です。


今回の経験から、AIは単に質問に答える道具というより、専門知識が必要な作業を進める際の「相談相手」や「トラブルの切り分けを手伝ってくれる存在」として非常に有効だと感じました。


まとめ


Franz BachingerによるPixabayからの画像


今回のWordPressサーバー移行で重要だったのは、

  • ① バックアップを取る
  • ② ファイルとデータベースを別々に考える
  • ③ ファイルの階層を確認する
  • ④ wp-config.phpを正しく設定する
  • ⑤ エラーメッセージを正確に読む(スクリーンショットなどでエラー画像をチャットに添付)
  • ⑥ 画像・リンク・パーマリンクを確認する
  • ⑦ DNSとSSLを確認する
  • ⑧ 新サーバーが完全に正常になってから旧サーバーを解約する

という基本を一つずつ守ることでした。


そして今回、AIの助言を受けながら実際に作業したことで、単に「移行できた」という結果だけでなく、WordPress、サーバー、データベース、DNSがどのようにつながっているのかを、自分自身でも以前より理解できるようになったことが大きな収穫でした。


サーバー移行は一見難しそうに見えますが、バックアップを確実に取り、エラーが出たら慌てず内容を確認し、一つずつ原因を切り分けていけば、個人でも十分に挑戦できる作業だと感じました。


最後までお読みいただきありがとうございます。

from JDA


<追記>

今回、レンタルサーバーの移行作業では、生成AI「ChatGPT」に全面的にお世話になりましたが、長いやり取りの中で、いくつか的外れの回答、いわゆる「ハルシネーション(幻覚)」もありました。

それは専門知識の誤り、つまり今回ならWeb系、IT系の知識の誤報ではなくて、寧ろ私たちが指示するプロンプトの出し方に問題があると感じる節もあります。日本語の微妙なニュアンスを、AIは適切に判断できないところに原因があるのだと思います。しかし、これは人間同士のコミュニケーションでも充分に起こり得ることです。

プログラムの改善も求められる一方で、私たち利用者側もプロンプトの出し方に工夫が必要だと感じました。


AIはどんな質問にも「分からない」といったネガティブな回答は返してきません。だからこそ、私たちはAI一辺倒ではなく、緊張感を持ってAIの回答に向き合うことが求められるのだと思いました。