「広告」

ワードプレス【ドメイン変更】DB変更プログラムとプラグイン

「広告」
記事内に広告が含まれています。
「広告」

ワードプレスのドメインを変更する場合。
例えば、引っ越しで、ドメイン名が変わる場合など、ちょっと面倒です。今回は、専用のプログラムで行う引っ越しと、プラグインで行う引っ越しの2つをまとめて、紹介します。

途中の作業まで、同じで、途中から
1)DB変更をする専用プログラム
2)ワードプレスのプラグイン
のどちらかで、行います。

前者のDB変更プログラムは、どちらかというと、技術者向きです。
後半のプラグインを利用するのは、日本語化もされていて、なじみやすいです。

まずは、共通作業から、

「広告」

ワードプレス、現在のバックアップ

データベースのバックアップと、WEBコンテンツのバックアップを行います。
(この記事では、割愛させていただきます)

「広告」

apache、nginxなどの変更

古いドメインから、新しいドメインへ変更をします。

「広告」

wp-config.phpの変更

「wp-config.php」に

define('WP_SITEURL','http://(新しいドメイン)/');
define('WP_HOME','http://(新しいドメイン)/');

の2行を加えます。
下のほうの「define(‘WP_DEBUG’, false);」の、後あたりに、記述します。
SSL対応の場合は、「https」とします。「https」の場合、SSL関係を設定してから行います。

「広告」

新しいドメインでログインをしなおす

新しいドメインでログインをしなおします。

この時に、投稿内容の「画像のURL」などは、古いままです。

次に、この設定の変更を2つのパターンで説明します。

「広告」

方法1、専用プログラムでの変更

Database Search and Replace Script in PHP」というプログラムを使います。

Ver 4で、php7に対応したようです。

↑リンク先のページからダウンロードの手続きを行います。
赤枠部分をチェック、名前とメールアドレスを入れます。
そして、「Submit」を押します。

↑画面上では、このような表示になります。

↑このようなメールが来ます。

Important: Search Replace DB is a professional developer tool, usually for helping with migrations where command line tools are not available. If you do not understand that this tool can easily damage your database then please do not use it and hire a professional. You should ensure that the script is placed in an obfuscated subdirectory that cannot easily be reached from the front end. If you wish to keep the script online permanently for some reason, make sure that as a bare minimum you set up http authentication for the folder in which it resides, otherwise, you will leave your site open to hackers. And we don't want that, do we?

という注意書きが書かれています。
上級者向けのツールだよ。ハッキングツールにもなるから取り扱い注意してね。心配なら、エンジニアを雇ってね。というような事が書かれています。

上記の「DB v 4.1.1 here」のところをクリックします。

上記のようなzipファイルをダウンロードすることができます。
このファイルを解凍して、移管するサイトにフォルダごとアップロードします。
中身は、変更しなくても大丈夫です。

↑うまくいけば、上記のような画面が出てきます。

↑まずは、DBに接続できるか、テストをします。
「database name」「username」「pass」を入れます。
「host」と「port」は、そのままのデータで大丈夫な場合が多いです。
そして、「Test connection」というボタンを押します。
成功すれば、その右側に「Success, You are connected.」と出てきます。

↑「Search Replace」というところの左側に「元のドメイン」。右側に「変更後のドメイン」を記入します。

↑赤枠部分の「Do a safe test run」というボタンを押します。
実際に置換する前のテストです。
すると、下のほうに、どのテーブルにどれだけの情報が入っているか、表示されます。
そして、

Incomplete or ill-typed serialization data:: This is usually caused by a plugin storing classes as a serialised string which other PHP classes can't then access. It is not possible to unserialise this data because the PHP can't access this class. P.S. It's most commonly a Yoast plugin that causes this error.

↑「 Yoastプラグイン」などのプラグインは、置換ができません。
という注意書きです。100%できないかも。ということですね。
ちなみに、このテストに使った、WordPressには、「Yoastプラグイン」は、入っていません。

↑実際に置換をします。「Search and Replace」というボタンを押します。

↑処理中のメッセージが表示されます。

↑置換の処理が終わりました。

↑投稿内容の、画像のフルパスが、新しいドメインに置き換わりました。

「広告」

方法2、Search Regex プラグインでの変更

ドメイン変更という目的ではなく、投稿済みのデータを、一括して変更できるプラグイン「Search Regex」で変更をしてみます。

↑「Search Regex」をインストールします。

↑「Search Regex」を有効化して、「ツール」から「Search Regex」を選びます。
初期画面は、上記のようになっています。
「You are advised to backup your data before making modifications.」
バックアップをしておいてね。と表示されています。

↑「Search」の横に「元ドメイン名」。「Replace」のところに「新しいドメイン名」を入れます。右側の「Search Flags」のところは、「IGNORE CASE」となっています。「大文字小文字を関係無く置換」という意味です。
まず、青ボタンの「Search」を押します。「まずは、チェック」という事です。
すると、下の方に、検索結果が出てきます。「オレンジ部分を変更しますよ」という事です。

↑実際に置換をします。「Replace All」を選びます。
上記のような画面になります。このとき、「0%」のまま、バーが伸びない事があります。また、2000%とか、すごい大きな数字になることもあります。
原因などは、わからないです・・・・
進まない場合、「Cancel」を押します。

↑「Cancel」のあと、もう一度、「Search」を押します。すると、「No more matching …」と出てきます。
そして、投稿内容などをみると、置換されています。「0%」のままの表示でしたが、処理はされたようです・・・

「広告」

ワードプレス、ドメイン変更、結論

前者の「Database Search and Replace Script in PHP」は、テーブル毎に、変換。
後者の「Search Regex プラグイン」は、「固定ページ」など、ワードプレスの項目毎に変換が可能。

どちらも、完璧な変更はできないかもしれません。
バックアップをとって、使いやすいほうで、変更されるのがいいかと思います。

「広告」

過去記事

search-replace-db-master エラー [WordPressドメイン変更] (2018/08/20)

WordPressのドメイン変更は「Database Search and Replace Script in PHP 」!(2018年版)(2018/07/02)

タイトルとURLをコピーしました