【ブログ】WordPressのドメイン変更が上手くいかないときの解決策

こんにちは、そのはです。

かなり詰みました。

 

前回の記事

[blogcard id=”339″]

こちらの記事では、以下のサイトを参考にしようとしていました。

さて、土地は手に入れたものの、お引越しはどうも簡単ではなさそう。

だが、一向に上手くいかない!!

具体的には、データベースSQLのデータの一括置換で詰みました。

下準備編まではスムーズにいけました。

 

上記のサイト主さんも、

データの置換には「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の記事の投稿画面にエラー

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

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

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

などが症状です。

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

WordPress ビジュアルリッチエディタが表示されない | web制作の覚え書き

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

define('CONCATENATE_SCRIPTS', false );

 

まとめ

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

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

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

それでは。

 

[ad][/ad]