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

LINEで送る
Pocket

最近サーバー移転をして、その時々に起こった問題や注意点を記事にしてましたが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
なんと親切なスクリプトなんでしょうね。これを最初から知っていれば、最初のクリエを実行することもなく、簡単に置き換えれいたのに。。
ま、これも勉強!ということで、また一つ賢くなりました。



関連記事

SyntaxHighlighter Evolved のサムネイル

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


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

記事を読む▷


画像やテキストを中央(上下左右真ん中)に配置する方法


普通にtext-align:center;や、margin:0 auto;等でテキストや写真を真ん中に配置したつもりでも…

記事を読む▷


OGPをWP-OGPのプラグインを改変して設定する!!2015年のOGP最新設定


今度こそ。。。OGPの設定で何時間、というより何日?何ヶ月?かかってるんや。。。という感じなのですが、もう最初の投稿から…

記事を読む▷


日付を自動更新で表示させる! 簡単コピペ!!


先週『日付を毎月変えるの邪魔くさいし、サイトに書いてる日付とってくれへんやろか?』という依頼がありました。 とって…

記事を読む▷


WordPressでGIFアニメが動かない時の対処法


今回アイキャッチ画像にGIFアニメを登録したのですが、登録時、また、メディアライブラリ内ではしっかりGIFアニメとして動…

記事を読む▷


2017最新版:SNS等の公式ロゴ(アイコン)素材のまとめ(Facebook, Instagram, Youtube, Twitter, Line etc.)


一度サイトを作ってしまうとなかなか更新せず使い回してしまうのが、この『SNSのロゴ(アイコン)』だと思うのですが、サイト…

記事を読む▷


WordPress:特定カテゴリで投稿を古い順に表示させる方法


Wordpressの投稿の表示は、デフォルトでは新しいものから表示されますよね。でも特定カテゴリーでは反対(投稿した順番…

記事を読む▷


サーバー移転の手順 その3:移転後のトラブル


前回、前々回と書きましたが、サーバーの移転、少々、いや、かなりやいこしいです。できたあとは疲れ果てて『もーできたしえーわ…

記事を読む▷


easy-edit

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


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

記事を読む▷


アイキャッチ_RSSImport

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


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

記事を読む▷


Message

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

参考にさせていただいてるサイト

Error: Feed has an error or is not valid

PAGE TOP