ドメイン&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



関連記事

これは便利!!WordPressの投稿内に、管理者やログインユーザーにしか見れないメモを残す方法


よく投稿を途中まで作って、なかなか仕上げれずに長い期間あいてしまうと『これなんのサイト参考にしてたんやっけ?』とか『え〜…

記事を読む▷


SyntaxHighlighter Evolved のサムネイル

WordPressで “SyntaxHighlighter” を使って、ソースコードをキレイに書く方法


よくwebデザイナーさんやクリエイターさん、プログラマーさんたちの書いてるwebサイトを見たら、ソースコードを、 …

記事を読む▷


easy-edit

共通パーツ(header,footer等)をjQueryで読み込んで編集を楽にする方法 & 文字化け対策


WordPress等のCMSではなく、htmlで構築され、headerやfooter等、同じパーツを使っているサイトを編…

記事を読む▷


アイキャッチ_RSSImport

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


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

記事を読む▷


サーバー移転の手順 その1:サーバーからサーバーへの移行(同サーバー(EXTREM)同士)


現在使用しているサーバーが、ここ数ヶ月、アクセスできない状態が頻発するようになりました。 その度にこちらからサーバーへ…

記事を読む▷


Message

メールアドレスが公開されることはありません。

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

PAGE TOP