さくらからエックスサーバーレンタルサーバーへの乗り換え 8: WordPress移行3 migrating WordPress to a different hosting server 3
はじめに
このシリーズのほとんどはパスワードプロテクトしてきた。サーバーに関わる当方の情報を掲載せざるを得なかったためである(隠してしまうとぼくが利用する際に不便という理由)。さくらのドメインのエックスサーバーへの移行なども終わったので,WordPressコンテンツの移行完結をここで示したいと希望している。窓外のぼくの梅には若葉が繁り,ソメイヨシノの大木は満開で,花吹雪も見える。
エックスサーバーのぼくの誕生日までのキャンペーンは終了し,新たなキャンペーが始まっている。ぼくが3年契約したキャンペーン中での移行を目指したが未だ実現していない。お任せ(3万3千円)無料サービスに期待したが,サブディレクトリ(https://motochan.info/wp)に配置されているWordPressの移行は対象外だという。負傷したことなどもあって昨日,簡単移行を実行したがエラーで進めなかった。とすると,自ら進めなければならない。これがこの投稿の核心である。
1. 簡単移行の試み
エックスサーバーのサーバーパネルにログインして,左ペーントップの「全メニュー表示」を選択すると,図1が表示される。赤い下線を施した「WordPress簡単移行」を選択する。

移行済みWordPress一覧が表示されるが,もちろん,ぼくには無い。「+WordPressを移行」ボタンをクリック。
図2には作業結果を表示している。

移行元urlには,さくらによって,サブディレクトリの /wp が付加されている。移行先ullには,サブディレクトリを入力しないことになっている。実は,/public_htmlフォルダーにインストールされる。
次に,図2の右下隅の「移行する」ボタンをクリックした結果は,エラー(移行元WordPressのダッシュボードへのログインに失敗している可能性があります。)であった。WordPressに受け入れられなかった。思えば当然のことであった。日頃,WordPressにコンテンツをアップロードする場合,自ら設定したユーザー名とパスワードを使っているのだから,それらを入力する必要があったのである。すぐにクリアして,右下隅の「移行する」ボタンをクリックした。
その3分後には,スライダーで40%の表示が出るが,その2分後には,図3のように,エラー「移行元WordPressからのバックアップの取得に失敗しました。」が出た。このエラーメッセージのすぐ下に,「もう一度お試し」とあり,まあ,実行したが根本的な問題がありそうで諦めた。手作業での移行が必要なのだろう。

赤い「確認しました」のボタンをクリックすると図4のファイル削除のアドバイスが。掃除を自動的にしてくれるようだ。もちろん,「削除する」ボタンをクリック。

簡単移行,は諦めた。
2. エックスサーバーが公開している移行手続
2.1 エックスサーバー公式
ホーム > マニュアル > WordPressの移転について が,エックスサーバーの「孤独の移行手続き」に関わる,いわば公式ページであろう。目次を次に。
この内容を見ると,官僚的というか制度優先というか,なんとも臭い。流れはこのようだと理解するだけだ。
2.2 WordPressブログの引っ越し(サーバー移行)手順を解説!
https://www.xserver.ne.jp/blog/wordpress-migration/ これはエックスサーバーT部長のブログの位置付けである。
この手順に沿って検討したいと思う。ただ,理解に苦しむ時には,次の該当部分を覗いてみる。
DesignAmus ~デザインアムズ~作
【サーバー移転・前編】さくらインターネットからエックスサーバーへの移転手順
【サーバー移転・後編】エックスサーバーにFTPソフトで手動データ移行~手順解説~
【ドメイン移管・無料特典利用】さくらインターネットからエックスサーバーへのドメイン移管手順
3. 改めてサーバー移行の選択肢
ネット検索してサーバー移行には三種の機会が提供されていることを知った。以下に簡潔に。
3.1 All-in-One-WP Migration
これを使えば夢のように簡単に移行できる。https://ja.servmask.com/products/unlimited-extension だけ見ても分かりにくいかもしれない。まず1年間分$99を購入して年間ライセンス5.75ドル/月(年払い)ということらしい。使用料$5.75/月という情報がネット上にあるが誤りである。これはWordPressのプラグインで高機能なのであるがこの種の需要は多くはないだろうと素人ゆえか想像している。
極めて軽いWordPressを運営している方は,この無料版を使えるかもしれないが,その方面の利用者からの評価は極めて低い。
このアプリを使うとデータベースも自動で書き換えられる。移動元でこのアプリをインストールしてコンテンツのバックアップをとって,移動先でもこのアプリをインストールしてコンテンツを復元するだけだ。WordPressの引越しを超簡単にできる「All-in-One WP Migration」の使い方 に記述されている。
ぼくの目的からするとこのアプリは高額だ。1度使うだけで$100はちょっと痛い。エックスサーバーのお任せ移行(サブディレクトリー非対応)が33,000円と謳われていることからすると,リーズナブルか。
3.2 UpdraftPlus
T部長やDesignAmusさんの記述を見ていて,なんとも納得が行かない。たとえば,せっかく圧縮されたバックアップファイルをなんで解凍するのか,などと驚いた。泥臭い。
で,ネット検索して,,UpdraftPlus で WordPress サイトを超簡単に移行する方法 by こうすけ,に出会った。この方法で実施しようと思う。データベースの書き換えの内容については,T部長やDesignAmusさんの記事が参考になるだろうと考えている。
4. UpdraftPlusを利用して移行
前述の主に UpdraftPlus で WordPress サイトを超簡単に移行する方法 by こうすけ,に基づいて実行したい。
4.0 大まかな移行手順
リンクとともに掲載する。当方の記述はぼくの環境での実行過程を示している。ぼくのこれからの記述に疑問を持った際に利用してほしい。
手順2. 【移行元】WordPress サイトのデータのバックアップ
4.1 database (db)ファイルの一部加工
ぼくはUpdraftPlus(Updraft Backup Plus)無料版を使って毎日午後4時半からほぼ午後5時まで,レンタルGoogleDrive(100GB)に自動でバックアップをとっている。最新の三日分がキープされている。
午後4時30分ないし午後5時移行作業は,午後1時半または午後5時過ぎから実行することになるだろう。ウェブコンテンツを作成しつつ実行するので時間がかかる。
4.1.1 実行前の準備
後に述べるが結果的には,a. エディター Visual Studio Code,b. -gzファイルへの圧縮アプリ,はこのプロセスでは不要であった。しかし使用してみて,優れたツールであって今後?使えそうには思っている。
a. エディター Visual Studio Code取得
こうすけさん推薦のこのエディターは,Windows,Linux, macに対応している。macOS への Visual Studio Code のインストール方法 を参考にmacにインストールし,日本語化した。マックのドックに表示した。
b. -gzファイルへの圧縮アプリ取得
Visual Studio Codeによる編集済みのdatabaseファイルを元の-gzファイルに戻す必要がある。こうすけさんは7-Zipを推薦しているが,macユーザーからすると使いにくいソフトなので,Perplexityにお尋ねした。圧縮技術GZIPで圧縮されたファイルにファイル拡張子-gzが付加される。初心者にお勧めが次。
————————————————
Keka
• 特徴: Macで利用しやすい圧縮・解凍ソフト。多くの形式に対応しており、簡単な操作でファイルを圧縮できます。
• 対応形式: ZIP、7z、TAR、GZIPなど。
• 入手方法: 公式サイトまたはMac App Storeから無料でダウンロード可能。
————————————————
Perplexityお勧めだが1000円でしかもダウンロード,インストールした筈だがmac内でみつからない。Perplexityはその際には再度実行せよとあったが,クルクル回ったままだ。
https://www.keka.io/ja/ 作成者のサイトにアクセスしてダウンロードできた。KekaExternalHelper-v1.2.0.zipというファイルがダウンロードフォルダに入った。mac付属のStuffIt Expanderを使ってアプリケーションフォルダに解凍した。KekaExternalHelper.appが見える。ドックに運んだ。使用の際はファイルをこのアイコンにドラッグ&ドロップすれば良いはずだ。1000円は請求されない。寄付は任意になっている。ユーザーの書き込みに,Ketaとあったりして,Kekaって覚えにくーい。ケ(ン)カ?
c. Search-Replace DB取得
UpdraftPlusを利用したサイト移転(引っ越し)方法 by 祐太郎紹介のツールであり,次の図にはこのサイトに掲載されているダウンロード法が示されている。2025年4月10日現在,v4.1.4になってはいる。なお,GitHub(ギットハブ)にサインインした上でダウンロードする必要がある。

GitHubのサイトに示された情報で,参考になる部分を次にコピペしている。
Search-Replace-DB
https://github.com/interconnectit/Search-Replace-DB
Readme:
Search Replace DB – v4.1.4
This script was made to aid the process of migrating PHP and MySQL based websites. Works with most common CMSes.
Usage:
Do backups.
Migrate all your website files.
Upload the script folder to your web root or higher.
Browse to the script folder URL in your web browser.
Fill in the fields as needed.
Choose the Do a safe test run button to do a dry run without searching/replacing.
Installation:
To install the script, please place the files inside your sites public folder and head to yoursiteURL/Search-Replace-DB
CLI script:
To invoke the script, navigate in your shell to the directory to where you installed Search Replace DB.
Type php srdb.cli.php to run the program. Type php srdb.cli.php –help for usage information: 以下省略。
PerplexityにCLI scriptを尋ねた。
————————————————
WordPressにおけるCLIスクリプトの例: WP-CLI
WP-CLIはWordPress専用のCLIツールであり、以下のような操作が可能です。
主な機能
• WordPress本体やプラグインのインストール・アップデート・有効化.
• データベース操作(検索・置換、インポート・エクスポート).
• サイト設定や投稿管理.
————————————————
4.1.2 データベース操作の練習
a. dbダウンロードと解凍
昨日(Apr. 7, 2025)のバックアップファイル群のデータベースファイルは次のものだ。
backup_2025-04-07-1632_YamatoGeographer_4efdb673ff8b-db.gz 825.7MB
dbファイルだけは拡張子が,-zipではなく,-gzである。Google Driveでこのファイルを選んで右クリックしてダウンロードを始めた際は1.5MBとあったが,2分後ダウンロードが完了した結果は865.8MBだった。そして,StuffIt Expanderで解凍したら,3.02GBである。重ーいい。想像を絶している。全体的に重いサイトであることがエックスサーバーで用意された簡単設定が役に立たなかった訳なのだろう。
b. Visual Studio Codeを使ってみた
Visual Studio Code (略してVS Code)はマイクロソフトが提供しているシェアウエアである。これを立ち上げて前述のdbファイルを開こうとすると図5のように,「ファイルは非常に大きいため,テキストエディターに表示されません(2.81GB)」とメッセージされる。このメッセージの直下に,それでも開くと,制限の構成,の二択が出ている。

「制限の構成」を選択すると,図6のように,
メッセージ: Workbench: Editor Large File Confirmation
エディターで開く際に確認を求める前に、ファイルの最小サイズを MB 単位で制御します。この設定はすべてのエディターの種類と環境に適用されるとは限らない場合があることに、ご注意ください。1024MB =1GB
それで,1024×3 = 3072MBに変更し,意味わからんけど「バックアップと同期の設定」ボタンをクリック。

図7に見えるサインインのボタンをクリック。

図8のように,「サインイン済み」になっている。

図9のように,画面の左上の◻︎が並ぶアイコン(数字の1が見える)をクリックした。三つの拡張機能が表示される。そこで,GitHub Copilot Chatの「拡張機能の再起動」をクリックした。

その結果,図10の右ペーンのように,Ask Copilotの表示が復活した。さらに,図10の左下の設定欄で,VimとGitLens-Git sup….の二つをインストールせよのようなお誘いがある。意味がわからないのでPerplexityに質問した。「インストールするべきか?
• 必要性を確認:
• Vim: Vim風の操作が不要であればインストールしなくても問題ありません。
• GitLens: Gitを使用している場合は便利ですが、必須ではありません。」とありスキップした。

遠回りをしたが,最初から,「フォルダを開く」をクリックすれば良かったのである。

図12の中央のペーンにはdbファイルのテキスト群が見えている。図11の「フォルダーを開く」をクリックすると,マックのファインダーに入って,改めて,dbファイルを選択した。dbファイルは構造的にフォルダーなのだろう。
さらに,図12の右下隅の「強制的に機能を有効化」をクリックした。今後は今までのステップは省略されるのであろうと推測する。

図13のように,ファイルを再度開け,とのことで,改めて,「フォルダーを開く」をクリックする。

図14のように,左右のペーンの幅を狭めて,テキスト本文が全部見えるよう。

この本文の最上部の注記は次のようだ。行頭の#は省略されている。
————————————————
WordPress MySQL database backup
Created by UpdraftPlus version 1.25.3 (https://updraftplus.com)
WordPress Version: 6.7.2, running on PHP 8.3.8 (Apache), MySQL 5.7.40-log
Backup of: https://motochan.info/wp
Home URL: https://motochan.info/wp
Content URL: https://motochan.info/wp/wp-content
Uploads URL: https://motochan.info/wp/wp-content/uploads
Table prefix: wpedcff9
Filtered table prefix: wpedcff9
ABSPATH: /home/motochan/www/info2020/wp/
UpdraftPlus plugin slug: updraftplus/updraftplus.php
Site info: multisite=0
Site info: sql_mode=NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Site info: end
————————————————
このうち,次の四行に注目する。
Backup of: https://motochan.info/wp
Home URL: https://motochan.info/wp
Content URL: https://motochan.info/wp/wp-content
Uploads URL: https://motochan.info/wp/wp-content/uploads
この表記からすると,さくらのWordPressのurlは,https://motochan.info/wp である。こうすけさんのウェブでは,旧サーバーでのhttps://upd.worldで検索して,新サーバーでのhttp://localhost:7000に置換すると言っているが,当方ではさくらのサブディレクトリーの/wpも加える必要性がある。そしてエックスサーバーの方では,http://motochan.info/public_html にすることになると思うが。エックスサーバーのサポートにメールで尋ねる必要がある。
図15左ペーンで,motochan.info/wp で検索した様子が示されている。左ペーンではヒットした行が並んでいる。

図16では,左ペーンのペーン幅を拡大している。

図17では検索結果の2行に⇨をつけている。上の⇨の行では文章が見える。つまりWebページの地の文が見えているのである。dbファイルはコンテンツのテキストをすべて網羅しているらしい。下の⇨の,15:50の行,言い換えると第1436行だけ選んでコピペするとめちゃくちゃ長い(CotEditorで「高度な文字カウント」を実行するとUnicodeスカラで263,120字だ)。核部分を見ると,’https://motochan.info/wp/2020/05/29/355-revision-v1/’,などとなっている。
確かに,https://motochan.info/wp/ を,http://motochan.info/public_html/
と置換することになるのだろう。エックスサーバーの方はコンテンツがないので,https化を実行できない。コンテンツを移行したあとで,SSL化することになるので,エックスサーバーの方は,http://,が適切だと思われるのである。

以上,2025年4月9日。
c. シリアライズされたデータは変換されない
UpdraftPlusを利用したサイト移転(引っ越し)方法 by 池田祐太郎には,上掲のUpdraftPlus で WordPress サイトを超簡単に移行する方法 by こうすけ,を評価しつつ,大きな問題点を挙げている。
————————————————
「データベースファイルを一部加工」の箇所はDB内のURL文字列を移行元から移行先へと変換するプロセスですが、 wp_options や wp_postmeta テーブル内にはシリアライズされたデータが保存されている場合があり、シリアライズされたデータがDB内にあると完全にURLの変換ができずに旧サイトのURLが残ってしまう可能性があります。
WordPress 公式にもこのように記載があります。
URL を変更するためにデータベース全体の検索と置換を行うと、いくつかのテーマやウィジェットには URL の長さを示す値を保存しているものがあるため、データのシリアライゼーションに問題が生じる可能性があります。これが変更されると、壊れてしまいます。WordPress の移行 | WordPress.org 日本語
よって、この方法で進めた場合はシリアライズされた部分は置換されないため、ウィジェットやプラグインで不具合が発生したり、投稿や固定ページ等で設定されたページ内リンクが移行元URLのまま、といったような問題が発生してしまう可能性があります。
————————————————
「シリアライズされたデータ」とは何か,Perplexityにお尋ねすると,
————————————————
WordPressにおける用途:
WordPressでは、主にカスタムオプションや設定データを効率よく保存するためにシリアライズを利用します。これにより、複数のデータを1つのデータベースレコードにまとめることが可能となります。
URL変更時の問題:
• WordPressを別の環境に移行する際、シリアライズデータ内のURLなども更新が必要です。データ内に含まれる文字列の長さ(s:10
のように文字列長を定義)が正しくない場合、アンシリアライズに失敗することがあります。
• 解決法: シリアライズデータを考慮したURL置換ツールを使用(例: Search and Replace for WordPress Databases)。
————————————————
などとあって,前項4.1.2.bの図17のように,ぼくのサイトでも多用されていて,こうすけさんのようにurlの置換をテキストベースで実施する方法は不適切であることがわかる。
4.2 Research-Replace DBのパラメータ取得
4.2.1 Search-Replace DBの導入
祐太郎さんの記述(2021-2022年)に基づくと,こうすけさんの「移行前にdbのテキスト置換」は不適切で,移行先でまずはUpdraftPlusを使って全データをインポートして,さらに,4.1.1.c で取得したSearch-Replace DBを使って,一括置換を実施する必要がある。こうすけさんは移行前で,祐太郎さんは移行後である。
ホーム > ツール >【WordPress】DBの置換には「Search Replace DB」を使おう 2018年4月 by 車椅子コーダーさんの情報もあった。使用法が丁寧に解説されている。
Search Replace DBの使い方!データベース内のドメインを一括置換する方法 2025年1月 by しゅんのすけさん,にもある。これが最新だ。
祐太郎さんによれば,アップロード後、アップした先のURLを直打ちしブラウザでアクセスしてみると、一括置換ツールのスクリプト画面が表示されます,とある。

4.2.2 一括置換ツールのスクリプト画面
図18の内容はもちろん,移行先のサーバーの情報である。未だWordPressの移行作業に入っていないので,何をしていいのかまだ把握できていない。
祐太郎さんによれば,
————————————————
必要な情報を入力し接続成功後、一括置換を実施
まずは正しくデータベースにアクセスできるか確認しましょう。Database Details より以下の情報を入力します。それぞれに対応する wp-config.php の箇所です。
- database name: WordPress のためのデータベース名
- username: MySQL データベースのユーザー名
- pass: MySQL データベースのパスワード
- host: MySQL のホスト名
- port: MySQL のホスト名にポートが設定されている場合はポート番号を入力(任意)
単純に wp-config.php にかかれている内容を入力すれば問題有りません。入力できたら「Test connection」をクリックし接続テストします。
接続成功後、「replace」に移行元の古いURLを、「with」に移行先の新しいURLを入力します。ドメイン名のメールアドレスを利用している場合があるため、httpプロトコルから入力すると安全です。
例
with: https://new.highfivecreate.com
replace: https://old.highfivecreate.com
————————————————
「単純に wp-config.php にかかれている内容を入力すれば問題有りません。」とあるので,UpdraftPlusでファイル群をインポートの後に,wp-config.php を参照すれば良いということになるが,
現在のさくらのワードプレスのwp-config.phpを閲覧してみよう。
4.2.3 さくらのwp-config.php
FTP client: Commander One < さくらからエックスサーバーレンタルサーバーへの乗り換え4 に示したサーバーへのアクセスでさくらのwp-config.phpを参照している。
Research-Replace DBのパラメータは前述のように,
- database name: WordPress のためのデータベース名
- username: MySQL データベースのユーザー名
- password: MySQL データベースのパスワード
- host: MySQL のホスト名
- port: MySQL のホスト名にポートが設定されている場合はポート番号を入力(任意)
であるが,
- database name: アカウント_wp2020
- username: アカウント
- pass: ぼくが設定したWordPressにログインするパスワード
- host: さくらの設定値.アカウント.sakura.ne.jp
- port: httpの場合は21, httpsの場合は22
となるが,ポート番号が任意という意味がわからない。おそらく,ポート番号の入力が任意の意味であろうが,Research-Replace DBのパネルでは,portにあたる空欄はあって,入力が任意とは記されていない。
Research-Replace DBのパネルへのMySQL databaseの空欄に入れるパラメータはさくらのものではなく,エックスサーバーのものである。
4.2.4 XServerのwp-config.phpとさくらXServerのurl
XServerのwp-config.phpの情報が明確ではない。とにかく,XServerの移行対象ドメインにWordPressをインストールして,CommanderOneでwp-config.phpを参照する必要がある。
Research-Replace DBのパネルには,search/replace欄があって,
replace欄には,https://motochan.info/wpが,
with欄には,http://motochan.info/public_htmlが,
入るものと想像しているが,エックスサーバーのサポートに尋ねる必要がある。
4.3 Research-Replace DBの使い方の確認
どうも実行経験がないので,このアプリの使用法がわからない。このサイトに出かけて調べる必要性を感じる。
WordPress Search Replace DB の使い方 更新日:2022年03月13日
作成日:2021年4月26日 by 不明。ご自分の備忘録的なサイトで凄く丁寧にノウハウが示されているので,差し当たり,これで移行準備は完了とすることに。
以上,2025年4月13日。
おわりに
実際の移行プロセスは次のページへ:
さくらからエックスサーバーレンタルサーバーへの乗り換え 9: WordPress移行4 migrating WordPress site from Sakura to XServer 4