「WordPressを別のドメインにお引越ししたい」
「WordPressを別のレンタルサーバーにお引越ししたい」
コーポレートサイトやブログを長期間運営していると、理由はさまざまですが、このような場面に遭遇することが多々あります。
このように公開中のWordPressを別のサーバーやドメインにお引越しする場合、作業に取り掛かる前に考えるべきことがいくつかあります。
この記事では、WordPressのお引越しで考えるべきことについて解説します。
目次
WordPressのお引越しは難しい
WordPressはサーバー上にプログラムが設置されていることに加えて、データやファイルが保存されている場所が分散しています。このことがWordPressのお引越しを難しくしている最大の要因です。
具体的には、
・プログラム本体・・・Webサーバー
・プラグインやテーマ・・・Webサーバー
・メディアファイル(画像など)・・・Webサーバー
・投稿や固定ページのデータ・・・データベースサーバー
これらのファイルやデータは、シンプルに保存されているだけでなく、データベースによって操作しやすいように管理されてます。
たとえば、メディアファイルはWebサーバー上の「uploads」フォルダに保存されていますが、これらをお引越し先のサーバーにそのままアップロードするだけでは、お引越し先のWordPressはメディアファイルとして認識してくれません。メディアフォルダにアップロードされている各ファイルは、WordPressの機能によってIDが割り当てられて、その情報はデータベースで管理されています。
つまり、「Webサーバー上に存在していること」+「WordPressによって管理されていること」の2つの条件を満たす必要があるわけです。
WordPressをお引越しするときには、このようなファイルやデータを整合性を維持したまま、お引越し先のWordPress上に環境を再現する必要があり、元のWordPressの環境によって、整合性を維持したまま環境を再現させるということが非常に困難なケースがあります。
WordPressのお引越しを難しくする要因
元のWordPressの環境によってお引越しが困難になると述べましたが、具体的には以下のようなケースが考えられます。
テーマファイルにドメインやパスがそのまま書かれている
WordPressのテーマファイル内にお引越し元のドメインやパスがそのまま書かれていると、お引越しがうまくできません。
たとえば、テーマのスタイルシートのパスを取得する「get_stylesheet_directory_uri()」という関数があります。テーマファイル内でスタイルシートをlinkタグで読み込ませるときに、
<link href=”<?php echo get_stylesheet_directory_uri(); ?>/css/style.css” rel=”stylesheet”>
↑のように記述すれば、WordPressが動作しているドメインに応じて、適切なsytle.cssが読み込まれますが、
<link href=”https://XXXXX.net/manual/css/style.css” rel=”stylesheet”>
↑のように生のパスの情報がテーマファイル内に記載されていると、お引越し先のWordPressでうまく動作しない可能性があります。この場合、WordPressが動作しているドメインが何であっても、「XXXXX.net」のドメインにあるstyle.cssを読み込もうとしてしまうからです。
いわゆるSwellやJINのような有料テーマは、さまざまな環境で動作させることを想定しているため、生のパスの情報が記載されている可能性は極めて低いでしょう。
しかし、Web制作会社が制作したコーポレートサイトの場合、WordPressをお引越しすることを想定して開発されていない可能性があります。つまり、さきほど解説した生のパスの情報がテーマファイル内に書かれていたり、ページのIDなどがそのままの数字で書かれていることがあります。
なぜそうなっているのかというと、その方が開発が楽だからです。いちいち関数を使ってパスやIDの情報を取得するより、WordPressを公開している環境の情報をそのまま書いても正常に動作するので、そうしているケースは多々あります。
つまり、現在動作している環境に依存しているコードがテーマファイル内に含まれている場合、そのままお引越しをしても正常には動作しないのです。このような時は、とりあえずお引越しをして、お引越し先の環境に合わせてテーマファイルをちまちま修正していく必要があります。
PHPやデータベースのバージョンが異なっている
WordPressを異なるレンタルサーバーにお引越しすると、サーバーで動作しているPHPやデータベースのバージョンの違いによってエラーが発生することがあります。
実務でありがちなケースとして、大昔に制作してほったらかしにしていたWordPressを心機一転、新しいサーバーにお引越しして気合いを入れて運営しなおそう、とするケースがあります。
大昔に制作してほったらかしにしていた場合、PHPのバージョンがだいぶ古いPHP5とかで動作していることがあります。
2023年12月現在、PHPの最新バージョンはPHP8です。PHP5で動作していたWordPressのテーマをPHP8の環境にお引越しすると、ブラウザ上にエラーや警告が発生する可能性があります。
なぜなら、PHP5では正常に動作していた関数やコードが、PHP8では非推奨になっていたり仕様が変更されていたりすることがあるからです。
このように動作させるサーバーを変更すると、既存のテーマファイルでエラーが発生するようになることがあり、この場合もお引越し先の環境でテーマファイルの修正が必要になります。
投稿やメディアファイルのデータが多すぎる
お引越し前のWordPressで既存の投稿やメディアファイルが多すぎると、お引越しがうまく行かない可能性があります。
投稿・固定ページ・メディアファイルなどは、WordPressのデフォルトのインポート・エクスポートツールを使ってお引越しできますが、データが多すぎると、通信中にサーバーから接続を切られたりして、全てのデータをうまくお引越しできないケースがあります。
肌感覚では、投稿数やメディアファイル数が数百個くらいなら、なんとかWordPressデフォルトのインポート・エクスポートツールでうまくお引越しできます。しかし数千くらいの規模になると、通信中にエラーが発生してしまい、うまくエクスポートできないケースが多いみたいです。