お問い合わせはコチラから

Elementorで作られたサイトのテキストをDB置換で変更する

サイト運営

Elementorで作成したサイトでよくあるのが、グローバルメニューとかを自作していているケース。

その場合、リンク先の指定がドメイン直書きだったりします。

こういう直書きされたドメイン名は、All on One Migrationなどのサイト移転ツールでは新しいドメインに置換されないようです。

【超簡単】All-in-One WP Migrationならバックアップもサイト移転も手間いらず【512MB制限のその先へ】
Wordpressサイトのバックアップやサイト移転は、『All-in-One WP Migration』を使うのがもはや定番です。このプラグインを使うと本当に簡単にバックアップとリストアができる上に、他のサーバーへのWordpressサイト...

ドメイン変更したドメイン名を置換するには?

search-regexプラグインを使う

サイト移転のURL置換でよく使われるのが、search-regexです。

search-regexプラグインは使うとエラーが出ます

このプラグインは既に更新されなくなって久しいですが未だによく使われています。そしてインストールするとPHPのバージョン7.2だとエラーが出たりします。

Search Regex
Search Regex adds a powerful set of search and replace functions to WordPress posts, pages, custom post types, and other...

プラグイン Search Regex を使うと、

「サイトで技術的な問題が発生しています」という件名で以下のようなエラーメッセージが記されたメールが届きます。

Uncaught Error: Call to undefined method SearchRegex::base_url() in /sample.com/public_html/wp-content/plugins/search-regex/view/results.php:26

search-regexプラグインではElementorのページは置換できません

ElementorのサイトでAll on One Migrationで置換されなかったURLをsearch-regexで置換すると、プラグイン上は置換は成功します。しかし、そもそも検索できない部分があるようで、置換したいところをすべてを置換できないようです。

おそらく、記事や固定ページを対象としてるので、データベース全てが検索対象になっていないのではないかと思います。

search-and-replace-for-wordpress-databasesを使う

データベースの置換で検索すると出てくるのがSearch and Replace for wordpress databaseの紹介記事です。

Database Search and Replace Script in PHP | inter.connect
Search Replace DB is a powerful tool for developers, allowing them to run a search replace against their database where ...

Search and Replace for wordpress databaseはプラグインではありません

WordPress公式でも紹介されているツールということで、Search and Replace for wordpress databaseは決定版なのでは?と思う人も多いと思いまうが、実はプラグインではないというオチでした。

Search and Replace for wordpress databaseはインストールするのが大変です

別にプラグインじゃなくても良いのですが、サーバーにzipファイルを展開してアップロードするという時点でFTPアカウントが想定されている点や、サーバーの制限からできない人も多いと思います。

ということで、良さそうだけど導入のハードルが高いのでパスしました。

(おススメ)wp-migrate-dbプラグインを使う

Search Regexプラグインが無力だと知ったときに吐き気がしましたが、半ばあきらめかけていたところで見つけたのが、wp-migrate-dbというプラグインです。

WP Migrate Lite – WordPress Migration Made Easy
データベースの移行。メディア、テーマ、プラグインを含む、サイトの全体のエクスポート。シリアライズされたデータに対応した、コンテンツの検索と置換。

説明

WP Migrate DBは、データベースをMySQLデータダンプ(phpMyAdminと同様)としてエクスポートし、URLとファイルパスの検索と置換を行い、シリアル化されたデータを処理してから、SQLファイルとしてコンピューターに保存できます。

データベースの移行を完了するには、データベース管理ツール(phpMyAdminなど)を使用してSQLファイルをデータベースにインポートし、既存のデータベースを置き換えます。本番サイトからローカルインストールに新しいデータを移行するか、ローカルで開発したサイトをステージングサーバーまたは本番サーバーに移行する必要がある開発者に最適です。

WP Migrate DBは、シリアル化されていないデータ(配列とオブジェクトの両方)を処理し、データのシリアル化を解除して、文字列を特定し、それらに対して検索と置換を実行します。すべてのデータが処理されると、再びシリアル化され、データベースに戻されます。

DB全体を対象にシリアル化して置換できるのがGood

もともとデータベースを置換しながらバックアップしてエクスポートするためのプラグインのようでしたが、Find & Replaceにも対応しています。

このような無差別にデータベースを置換するタイプであれば、Elementorのサイトでも置換できるはずです。そもそも、Wordpressはデータベースにしか情報が入っていませんので、データベース内部を置換すれば必ずサイトに反映されるからです。

wp-migrate-dbは、search-regexと違って検索&置換に時間がかかりますので、その点からも動きが本格的です。

Elementorのサイトでwp-migrate-dbでFind & Replaceを実行したところ、マジで置換できました!

とても救われました。

というのも、Elementorの修正は編集画面でいちいち編集して直すと時間がかかります。とても編集画面が重いので非力なサーバーではやってられないからです。

wp-migrate-dbは正規表現とかに対応していないと思いますが、ドメイン変更などは単純な置き換えなので正規表現は必要ナッシング。

wp-migrate-dbをAll in One Migrationと一緒に使うと威力倍増

wp-migrate-dbはとても破壊力があるので、すべてを失うかもしれません。そんな時に必要なのはバックアップです。

バックアップを取って、気軽にリストアできるとしたら怖いものなどありません。

ですので、私は、All in One Migrationでバックアップして問題あればリストアできる環境でwp-migrate-dbを使用します。

データベースのバックアップに特化したUpdraft Plusも無料なので便利です。

UpdraftPlus: WP Backup & Migration Plugin
WordPress サイトを別のホストまたはドメインにバックアップ、復元、または移行します。バックアップをスケジュールするか、手動で実行します。数分で移行できます。

WordPressのバックアップというのは、データベースとwordpressインストール時から追加されたファイルだけあればよい。

つまり、外部から追加したファイルとデータベースだけあればOKです。

WordPress公式でおススメされているURL書き換えプラグイン

WordPress公式でおススメされているURL書き換えプラグインは以下の2つです。

  • Velvet Blues Update URLs
  • Better Search Replace

Velvet Blues Update URLs

Velvet Blues Update URLs
Updates all urls and content links in your website.

説明

WordPress Webサイトを新しいドメイン名に移動すると、ページへの内部リンクと画像への参照が更新されません。これらのリンクと参照は古いドメイン名を指したままです。このプラグインは、Webサイトの古いURLとリンクを変更するのを支援し、この問題を修正します。

特徴:

  • ユーザーは、コンテンツ、抜粋、またはカスタムフィールドに埋め込まれたリンクの更新を選択できます
  • ユーザーは添付ファイルのリンクを更新するかどうかを選択できます
  • 更新されたアイテムの数を表示する

(おススメ)Better Search Replace

Better Search Replace
A simple plugin to update URLs or other text in a database.

これは良さそうなプラグインです。

置換前にテストできるのも優れていますし、インターフェースもわかりやすいです。

前述のSearch and Replace for wordpress databaseをベースに作られているとかいないとか。

説明

WordPressサイトを新しいドメインまたはサーバーに移動する場合、すべてが正常に機能するにはデータベースで検索/置換の必要性があります。このタスクに使用できるプラグインはいくつかあります。このプラグインは、これらのプラグインから最高の機能を統合し、次の機能を1つのシンプルなプラグインに組み込みました。

  • すべてのテーブルのシリアル化サポート
  • 特定のテーブルを選択する機能
  • 「ドライラン」を実行して、更新されるフィールドの数を確認する機能
  • WordPressの実行中のインストール以外にサーバー要件はありません
  • WordPressマルチサイトサポート

まとめ

Elementorはとても便利なので、Wordpress本来の機能を無視してWixのようにいたる所でURLを直書きしたブロックをベタベタ張りまくる人が多いと思います。

そういうサイトはドメイン変更時に苦労します。

URLリダイレクトしてしまえばよいじゃないか?と言う話もありますし、それでもいいと思います。

今回は、データベースを直接検索して置換するという荒業を使ったように思えるかもしれませんが、普通のサイト移転では当たり前のように行われていることです。

Search regexで期待した結果が得られず、もうダメだと思った時には、wp-migrate-dbやBetter Search Replaceで一網打尽にするというチョイスもあるというお話でした。

WordPressの本質はデータベースであることを理解すると、視野が広がりますし、困ったときの対処方法も見えてきます。

 

 

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

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