ドメイン&WordPressを含むサイトの引越しでの、URL変更作業:『DATABASE SEARCH AND REPLACE SCRIPT IN PHP』を使って

最近サーバー移転をして、その時々に起こった問題や注意点を記事にしてましたが301リダイレクトの記述方法URLの正規化など)、終わったと思っても次から次へと問題というか、やらなきゃいけないこと(いけなかったこと)がでてきます。

以前『サーバー移転の手順 1, 2, 3と書いたのですが、その時はドメインの変更はしない引っ越しでしたので少し手順は簡単でした。が、今回はドメイン変更も、そしてWordPressの移転も伴っているので、いちいち旧URLから新URLに置き換えないといけません。全部置き換えれた!と思ってもまた気がつけば見つかる。。といった感じですので、ドメイン&WordPressを含むサイトの引越しでしなければいけない、URL変更の場所、方法等を記載していきます。

URL変更の場所

被リンクの変更や、Twitter等、SNSにリンクさせてる場合は、それぞれたくさんしないといけないと思いますが『引越しするサイト』の中身は、基本的には以下の2箇所で良いと思います。

  • バックアップしたデータファイル
  • データベース(phpMyAdmin)内のデータファイル

この2箇所は『301リダイレクトの記述方法』の手順3と5の前に行います。

バックアップしたデータ(ファイル)のURL変更

手順3の『FTPソフト等で、バックアップしたデータ(ファイル)を移行(コピー)します。』の前には、FTPソフト等で 旧URLから新URLに置き換えておきます。

この作業をしていなかったので、引っ越し後にリンクエラーの通知がちょくちょくきて気がついたのですが、まずはこれ、基本ですよね。完全に忘れていました。。必ずやってくださいね。

phpMyAdminでのURL変更

次に、手順5の『phpMyAdminにもバックアップしたデータ(データベース)の移行(import)をします。』で、phpMyAdminから引っ越したデータベースを選択して、以下のような記述でクリエを実行しました。(次に記載する方法でまとめてできますので必須ではないです。)

UPDATE wp_options SET option_value = replace(option_value, 'http://OLD.jp/', 'http://NEW.com/') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://OLD.jp/','http://NEW.com/');
UPDATE wp_posts SET post_content = replace(post_content, 'http://OLD.jp/', 'http://NEW.com/');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://OLD.jp/','http://NEW.com/');

これで一応エラーなく上手く稼働しているものですが(トラブルがまだでてないだけかも?)、検索してみるとまだ数千個の旧URLが残っています。
ですのでこちらの『DATABASE SEARCH AND REPLACE SCRIPT IN PHP』のスクリプトを使った方法をご紹介します。

『DATABASE SEARCH AND REPLACE SCRIPT IN PHP』を使ったURLの変更方法

MySQLのドメインの書き換えは、phpMyAdminから一括で変更可能なようですが、この方法では移転先WordPressで不具合(ウィジェットが表示されない等)が生じるようです。ですが、この『DATABASE SEARCH AND REPLACE SCRIPT IN PHP』を使えばそのような問題が起こることなく簡単に変更できるようですので、その方法を以下に記載していきます。

  1. まずは『DATABASE SEARCH AND REPLACE SCRIPT IN PHP』をダウンロードします。(Versionは 2 でも 3 でも大丈夫でしたが、動く方をDLしてください。)
    DATABASE SEARCH AND REPLACE SCRIPT IN PHPの使い方1
  2. フォルダをリネイムします。(セキュリティのためのようです。)
    URL変更
  3. FTPソフト等で、以下のフォルダがある同階層にアップロードします。
    (root directoryには置いてはいけないようです。また、階層を間違えるとエラーで動きません。)
    /your-secret-search-replace-folder
    /wp-admin
    /wp-content
    /wp-includes
    DATABASE SEARCH AND REPLACE SCRIPT IN PHPの使い方2
    ちなみに、階層を間違えておくと、以下のようなメッセージが現れます。

    The script encountered an error while running an AJAX request.
    If you are using your hosts file to map a domain try browsing via the IP address directly. If you are still running into problems we recommend trying the CLI script bundled with this package. See the README for details.

  4. ブラウザで『http://newアドレス/URL-henkou(リネイムした任意の名前)/』にアクセスします。
    DATABASE SEARCH AND REPLACE SCRIPT IN PHPの使い方3
  5. 置き替えたいOldドメイン→Newドメイン(http://はなし)を入力します。
  6. actionの『live run』を押します。
    (ちなみに『dry run』はお試しのようなもので実際には変更されません。ですので書き換え後の確認等に使用することもできます。)
  7. 無事置き換わっていたら、あとはこのスクリプトを削除します。

以上で終了です!無事終了すると、このようなメッセージが現れます。
succeed
なんと親切なスクリプトなんでしょうね。これを最初から知っていれば、最初のクリエを実行することもなく、簡単に置き換えれいたのに。。
ま、これも勉強!ということで、また一つ賢くなりました。

Google AdS



関連記事

『reCAPTCHA v3』を問い合わせページのみ&左側に表示させる方法:その1


2025/1 更新 『Google Cloud Platform』の項目が増えていて、この記事の方法では先に進…

記事を読む▷


onMouseOver、onMouseOutで、簡単にテキストを切り替える!


前回のonMouseOver,onMouseOutで簡単に画像を切り替える!の続き、応用編です。 実はこちらサイト…

記事を読む▷


Youtube動画がWordPressで思い通りに表示されない原因と解決方法!レスポンシブ・URLをそのまま表示・横並び配置等:サムネイル

Youtube動画がWordPressで思い通りに表示されない原因と解決方法!レスポンシブ・URLをそのまま表示・横並び配置等


WordPress(ワードプレス)の投稿にYoutubeの動画を表示させたい時、URLをそのまま貼るだけで自動でこんな感…

記事を読む▷


アイキャッチ_RSSImport

WordPress:プラグイン”RSSImport”を使って気になるサイト等の最新情報を表示させる方法


前回はRSSのボタンを自分のサイトに表示させる方法を書いたのですが、今回は自分のサイト以外(勿論自分のものもOK!)の気…

記事を読む▷


WordPressのデータベースのテーブル接頭辞を、phpMyAdminで変更する方法


最近サーバーを変更してWordPressの引っ越しをしたのですが、引っ越し前のサーバーの初期設定でWordPressのデ…

記事を読む▷


Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください