SynologyでWordPressを使ってWEBサイトを構築した場合、構築後にWordPressのサイトURLを変更したいケースが多々あります。
その為には色々な方法がありますが、完璧に移行させる為には「Search-Replace-DB」というパッケージを使う方法がお勧めです。
しかしこのツールの使い方を解説する前にWordPressがどの様にサイトURLを保存しているのか?を解説します。
WordPressは下記から構成されています。
①Webフォルダ直下のフォルダがWordPressのPHPプログラムになります。
②上記のプログラムが動くとMariaDB内のDBにアクセスして画面が表示されます。
メモ
DBの中に登録されるのは、サイトのURL、ページや投稿データの本文(この中にもURLもデータの一部です)、外観→カスタマイズで登録した画像等のURLデータ、ウィジェットで登録した画像等のURLデータです。
但し、画像その物はWebフォルダの中に登録されています。
データベースは各種のテーブルから構成されておりますが、URLに関連するテーブルに下記になります。
テーブル名 | 内容 |
wp_options |
option_value列に下記のデータが登録されています。
・サイトURL、ホームURL
・「外観→カスタマイズ」で修正したデータ(画像や動画のURLはここに入ります)
・ウィジェットで編集したデータ(画像や動画のURLはここに入ります)
|
wp_posts |
guid列に固定ページや投稿のURLが格納されています。 post_content列に本文の中に画像等へのリンクURLが格納されています。 |
wp_postmeta |
meta_value列に投稿、固定ページ・カスタム投稿に付随するデータが格納されています。
またカスタムフィールドのデータもここに格納されています。
|
よって、URLを変更する場合はSQLコマンドを実行する事により、旧のURLから新URLにすれば良いと思われますが、赤字の項目だけはこの方法では変更できません。
理由は、これらのデータは文字数+URLで持っている為、URLは変更できたとしても文字数が合わない為に設定データが無い物として扱われる為です。
これをうまく処理してくれるツールが「Search-Replace-DB」というパッケージです。
SynologyでMariaDB10を使っている場合は、「Search-Replace-DB」の使い方を一工夫しないと利用できません。
ここではこのケースを場合の使い方を解説します。
2-1.「Search-Replace-DB」のダウンロード
ダウンロードの仕方はWebで「Search-Replace-DB」で検索してその指示に従ってダウンロードして下さい。
2-2.「Search-Replace-DB」プログラムの配置
解凍した「Search-Replace-DB-master」フォルダをURL変更したいWordPressフォルダに配置します。
2-3.上記プログラムを実行します
下記URLでSearch-Replace-DB-masterを起動します。
https://変更したいサイトのURL/Search-Replace-DB-master
下記画面が表示されます。
データベースの所にエラーでデータベースが見つからないと表示されています。
これは「localhost」で見に行った結果、見つからないという意味です。
host:127.0.0.1(このIPアドレスは自分自身を指す特殊なIPアドレスです)
port:3307(MariaDB5の時は3306)
を指定してactionにある赤い「update detailsボタン」を挿入して下さい。
下記画面が表示されます。
エラーが無くなりました。
①に変更前のURL
②に変更後のURL
を指定して「Live runボタン」を実行すると、URL変更が実行されます。
尚、実行後に「delete meボタン」を実行するとSearch-Replace-DB-masterフォルダが削除されます。
これは必ず実行して下さい。
メモ
このプログラムはlocalhostで見に行く仕様となっているのでMariaDB5なら問題なく実行できると思います。
しかしMariaDB10はソケットを使ったlocalhost:/run/mysqld/mysqld10.sockですが、このプログラムはソケットは認識しません。
そこで自分自身を表すIPアドレス(127.0.0.1)とポート番号でMariaDB10を見に行く方法を取りました。