【解決】初心者がWordPressドメイン変更でつまづいたポイント

SUMMARY

  • PHPのバージョンに気を付けないとデータベース内のデータ一括置換ができない。
  • ダッシュボードや投稿画面のエラーはサイトURLやスクリプトを適宜変更する。

前回の記事

エックスサーバー 上にある、当ブログのドメインを変更しようとしていました。

しかし、下準備編まではスムーズに進んだものの、データベース内のデータ一括置換で詰みました。

参考にさせていただいた上記のサイト主さんも、

データの置換には「earch and Replace for WordPress Databases Script」というツールを使います。

尚、私の環境では最新版の3.10ではうまく動きませんでした。

以前のリリース版である2.1.0ではうまく動きましたので、3.10が動かない方は2.1で試してみるとよいと思います。

と仰っているのでver.2.1.0を使ってみましたが、そちらも使えず(PHPエラーが出ました)に詰みました。

仕方なく、別の方法を模索し始めました。

ドメイン変更の方法と注意点

最終的に参考にしたサイト

【徹底解説】WordPressドメイン変更の手順と注意点 | WordPressの引越し代行なら『サイト引越し屋さん』

基本的には、前回参考にしていたサイトとアウトラインは一緒です。

こちらで参考になったのは、以下の2点。

SQLのデータエクスポートの注意点

インポートする際のエラーを避けるために、
データをエクスポート時に「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドを追加する」にチェックを入れます。

サーバーデータの一括置換

データベースSQLのデータ一括置換は前回のサイトで解説されていましたが、サーバーデータの一括置換も行うべきですね。

これまで書いてきたブログ上の記事の中に、旧サイトのURLの記述があったらリンク切れになってしまいます。

FTPにてローカルディレクトリにダウンロードした移行用サーバーデータについて、置換ツール「Devas」を用いて一括置換してあげましょう。

Devasのダウンロードはこちら

でもやっぱり「Search and Replace for WordPress Databases Script」が使えない

サーバーデータを一括置換したはいいものの、データベースのデータを一括置換できなければどうしようもありません。

参考にしたのはこちら。

書いてあることはどのサイトも同じようなことですが、こちらではひとつ参考になったことが。

一括変換時にはプロトコルを省略すべし

ここでいうプロトコルとは「Hyper Text Transfer Protocol」、
つまり「http」や「https」といったURLの接頭文を書くな!ということです。

「http」や「https」だけでなく「:(コロン)」や「/(スラッシュ)」も省略しましょう。

置換できる文字列の個数が変わってくるみたいです。

参考サイトの記述をお借りすると、

※Search and ReplaceのHPにはreplaceに何を書くか詳しく書かれていないため、私の私見となります。私が試した限りでは、http(s)やスラッシュが含まれていないURLもDB内に存在したため、httpなどがないURLの方がDry Runで多くヒットしました。つまり、httpなどを含めた文字列で置換すると、漏れが出てしまうと考えています。

  • 良い例: www.example.com/test
  • 悪い例: http://www.example.com/test/

でもまあ、置換ツール「Search and Replace for WordPress Databases Script」が使えない限り、この知識は役に立たないのですが…(笑)

searchreplacedb2.phpでエラーが出るときは、PHPのバージョンダウン

天啓が舞い降りました。

searchreplacedb2.phpでエラーが出るときの対処方法 | webcreator.me

今まで「Search and Replace for WordPress Databases Script」のver.2.1.0を使おうとして吐かれていたエラーは、PHPのバージョンのよるものだったらしいです。

私の使っているxdomainのサーバーでは簡単にPHPのバージョン管理ができるのでPHPをver.5.6へバージョンダウンしてみると、searchreplacedb2.phpは問題なく動作しました。

もしかすると「Search and Replace for WordPress Databases Script」のver.3.1.0の不具合もPHPのバージョン変更でなんとかなったのかな…??

WordPressのダッシュボードへログインできない

いろいろ迷走しているうちに、ダッシュボードへログインできなくなることがありました。

それは色んなサイトに「WordPressの一般設定から”WordPressアドレス”と”サイトアドレス”を変更すればいけるで!」と書かれていたのに惑わされたわけですが…。

ここに登録されているURLはWordPressの外部、データベースから変更することができます。

詳しい手順はこちらの中盤に書かれています。

WordPressの記事の投稿画面にエラー

ドメイン変更の過程で起きたのか、WordPressのバージョン変更の時点で起きたのか不明ですが、記事の投稿画面がバグりました。

具体的には、Classic Editorについて

  • 「ビジュアル」↔「テキスト」の切り替えができない
  • 「メディアを追加」が無反応
  • 「テキスト」のショートカットタブが現れない

などが症状です。
どうやらJavaScriptとの連結が関与しているとかなんとか。

wp-config.phpに一行加えて解決しました。

define('CONCATENATE_SCRIPTS', false );

まとめ

紆余曲折ありましたが、なんとかドメイン移行ができました!

PHPのバージョン設定が盲点でしたね…。
(Web関連の作業をすると、課題を解決するためのググり力が上がる気がします(笑))

これで投稿が再開できそうなので、今後ともよろしくお願いします!

それでは。