【解決】初心者が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」を用いて一括置換してあげましょう。
でもやっぱり「Search and Replace for WordPress Databases Script」が使えない
サーバーデータを一括置換したはいいものの、データベースのデータを一括置換できなければどうしようもありません。
参考にしたのはこちら。
- WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう | infoScoop開発者ブログ
- WordPressでドメイン変更後に画像が表示されないトラブルの解決方法
書いてあることはどのサイトも同じようなことですが、こちらではひとつ参考になったことが。
一括変換時にはプロトコルを省略すべし
ここでいうプロトコルとは「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関連の作業をすると、課題を解決するためのググり力が上がる気がします(笑))
これで投稿が再開できそうなので、今後ともよろしくお願いします!
それでは。
コメントを書く