最近では、サイトの移転は便利なプラグインがあるので、サーバーの移転やドメイン名の変更など特別な知識が無くてもトラブルなく実行できてしまいます。
しかし、Elementorで作られたテストサイトを本番サイトに移転する時に、メジャーなサイト移転プラグインを使って移転したら、Elementorで作られた部分だけドメイン名の変更がされませんでした。
DB置換ツールを色々試しましたが、どうやっても置換できません。
かといって、直接Elementorの記事を一個づつ直すのも現実的じゃない数でした。
Elementorにはサイト移転時のURL変更ツールが組み込まれてます。ダメ元でそちらを使うと綺麗に置換できます。
おそらく、ElementorのDBが一般のDB置換ツールで変更できないので、そのためのツールなのでしょうが、仕組みがわからないと気持ち悪い。
検索すると、この記事が見つかりました。
WordPress Elementorで作成されたサイトのURL変更や常時SSL化対応する際に気を付けること
Elementorで作成されたサイトのURLをテスト用のものから本番用のものに変更する作業で地味にはまってしまいましたので、内容を残しておきます。 普段 WP-CLIでコマンドラインでURLやテキスト置換を行っておりましたので、特に気にせず
- Elementorで作成されたデーは “wp_postmeta” テーブルに meta_keyが “_elementor_data” というレコードに保存されています。
- また形式は、WordPressでよくあるシリアライズ化されたものではなくJSONエンコードされた形で保存されています。
一般的なDB置換ツールは、シリアライズされたデータをいちど戻してから置換を行います。Elementorのデータはシリアライズされていないので、シリアライズされたデータを戻すフローでは検索対象に引っかからないようです。
Elementor本体にDB置換ツールが付いているので最悪の事態にはならないのですが、こういう特殊なことをやられると、とても困ります。
そのうち、有名なマイグレーションツールでは対応するかもしれませんが、少なくともElementorのサイトは、wp cliなどのDB置換ツールでは置換ができないということは覚えておきたいと思います。
Elementorのサイトのドメイン変更の時は、通常のサイト移転ツールを通した後、ElementorのURL変更ツールを使うという2段構えにする必要があります。