WordPress の移行

WordPress を新しいサーバーに移す場合でも、サーバー上の別の場所に移す場合でも、WordPress を再インストールする必要はありません。WordPress は、これらすべての状況に柔軟に対応することができます。

新しいサーバーへの移行

WordPress をあるサーバーから別のサーバーに移動する場合は、まず WordPress のディレクトリ、画像、プラグイン、サイト上のその他のファイル、およびデータベースのバックアップから始めましょう。WordPress のバックアップデータベースのバックアップを参照してください。

ドメイン名と URL を変更しないとき

WordPress サイトのホームとサイト URL を変更せずにドメインを移動することはとても単純で、ほとんどの場合はファイルを移動するだけで済みます。

  • データベースと URL が変わらない場合は、ファイルとデータベースをコピーするだけで移動できます。
  • データベース名やユーザーが変わる場合は、正しい値になるように wp-config.php を編集してください。
  • 切り替える前にテストしたい場合は、データベーステーブル「wp_options」の「siteurl」と「home」を一時的に変更する必要があります (phpMyAdmin などを通じて) 。
  • もしリライト (パーマリンク) の設定をしていたら、.htaccess を無効にして、パーマリンクを再設定しなければなりません。

ドメイン名と URL を変更するとき

ウェブサイトを移動したり、ドメイン名や URL を変更したりするには (例: http://example.com/site から http://example.com へ、または http://example.com から http://example.net へ) 、以下の手順を順番に実行する必要があります。

  1. 既存サイトのファイルをダウンロードします。
  2. データベースのエクスポート – MySQL に入ってデータベースをエクスポートします。
  3. バックアップされたファイルとデータベースを新しいフォルダに移動します – どこか安全な場所に – これはあなたのサイトのバックアップです。
  4. 移動したいサイトにログインして、「設定」 > 「一般」と進み、URLを変更します。(例: http://example.com/ から http://example.net へ) – 設定を保存し、404ページが表示されることを期待してください。
  5. サイトのファイルを再度ダウンロードします。
  6. データベースを再度エクスポートします。
  7. wp-config.php を新サーバーの MySQL データベース名、ユーザー名、パスワードに書き換えます。
  8. ファイルをアップロードします。
  9. 新しいサーバーにデータベースをインポートします。

ドメイン名や URL が変更されると、さらに懸念されることがあります。ファイルやデータベースは移動できますが、古いドメイン名や場所への参照はデータベースに残り、リンクやテーマの表示に問題が生じる可能性があります。

URL を変更するためにデータベース全体の検索と置換を行うと、いくつかのテーマやウィジェットには URL の長さを示す値を保存しているものがあるため、データのシリアライゼーションに問題が生じる可能性があります。これが変更されると、壊れてしまいます。シリアライズの問題を回避するには、3つのオプションがあります。

  1. ダッシュボードにアクセスできる場合は、 Velvet Blues Update URLs または Better Search Replace プラグインを使用してください。
  2. ホスティングプロバイダー (またはあなた) が WP-CLI をインストールしている場合は、WP-CLI の検索置換 を使用してください。
  3. Search and Replace for WordPress Databases Script を使用して、古いドメイン上のすべてのインスタンスやパスを新しいものに安全に変更することができます。(** データベース管理に慣れている場合のみ、このオプションを使用してください ** )

注意: wp_posts テーブルでのみ検索と置換を実行してください。
注意: Search and Replace for WordPress Databases Script はサードパーティ製のスクリプトです。

既存のサーバー上でのディレクトリの移動

WordPress ファイルをサーバー上のある場所から別の場所に移動させる、つまり URL を変更するには、特別な注意が必要です。WordPress を独自のフォルダに移動させたいが、ドメインのルートから実行させたい場合は、WordPress を専用ディレクトリに配置するを参照してください。

ここでは、WordPress のサイトを同じサーバー上の新しい場所に移動させるための手順をご紹介します :

  1. 2つのオプションのいずれかを使用して新しい場所を作成します :
    1. WordPress のコアファイルを新しいディレクトリに移動する場合は、新しいディレクトリを作成します。WordPress をルートディレクトリに移動したい場合は、上書きされる可能性のある index.php、.htaccess 、およびその他のファイルがすべてバックアップおよび/または移動されていることを確認し、ルートディレクトリが新しい WordPress ファイルの準備ができていることを確認します。
  2. サイトにログインします。
  3. 管理画面」 > 「設定」 > 「一般」 画面に移動します。
  4. WordPress アドレス (URL): のボックスで WordPress コアファイルの新しい場所にアドレスを変更します。
  5. サイトアドレス (URL): のボックスで WordPress (公開サイト) のアドレスと一致するように、新しい場所にアドレスを変更します。
  6. 変更を保存」をクリックします。
  7. (今はまだ、サイトを開いたり表示したりしようとしないでください !)
  8. WordPress のコアファイルを新しい場所に移動します。これには、http://example.com/wordpress のような元のディレクトリ内にあるファイルと、すべてのサブディレクトリを含みます。
  9. では、 yourdomain.com/wp-admin にアクセスしてサイトを開いてみましょう。 注意: yourdomain.com/wp-login.php に行く必要があるかもしれません。
  10. パーマリンクを設定している場合は、「管理画面」>「設定」> 「パーマリンク設定」に移動して、パーマリンク構造を更新してください。メインの index.php ファイルと同じディレクトリにある .htaccess ファイルが更新されます。
  11. アップロードされた既存の画像やメディアのリンクは古いフォルダーを参照しているため、新しい場所に更新する必要があります。この作業は、Better Search Replace または Velvet Blues Update URLsWP-CLI’s search-replace プラグインを使って行えます。ホスティングプロバイダ (またはご自身) が WP-CLI をインストールしている場合は WP-CLI の検索置換、SQL データベースへで手動更新、またはサードパーティのデータベース更新ツールである Search and Replace Databases Script (注: このスクリプトは経験豊富な開発者が使うことをおすすめします) などの方法もあります。
  12. ホストによっては、パーミッションが変更されている場合があります。パーミッションが “0000” になっているファイルがないか確認し、”0644″ に戻してください。
  13. お使いのテーマがメニューに対応している場合、トップページへのリンクに古いサブディレクトリが埋め込まれたままになっている可能性があります。「外観」→「メニュー」で更新してください。
  14. サーバーを再起動しないとエラーになることがあります (Mac の MAMPソフトなど)。

ファイルを移動するに、URI の場所を設定することが重要です。

場所を変更するのを忘れた場合

URL 変更前に誤ってファイルを移動してしまった場合には、2つの選択肢があります。

If you accidentally moved the files before you changed the URIs: you have two options.

  1. 元々 /path/to/old/ にファイルがあり、URL 変更前にそれらを /path/to/new に移動したと仮定してみましょう。これを直す方法は /path/to/old/ のシンボリックリンク (symlink。Windows ユーザーには「シンボリックリンク」は「ショートカット」に相当します) である /path/to/new/ を作ることです。ln -s /path/to/new /path/to/old のコマンドを実行してから、上記の手順を通常通り進めます。その後、必要ない場合はシンボリックリンクを削除します。
  2. WordPress のアドレスを変更し忘れた場合、WordPress の管理画面から変更することは不可能ですが、データベースにアクセスすれば修正できます。サイトのデータベースで、wp_options テーブルを見付けてください。このテーブルは管理画面上で設定可能な全オプションを格納しています。WordPress アドレスとサイトアドレスは、siteurlhome (option_name フィールド) として格納されています。option_name='siteurl' または option_name='home' と実行するだけで、そのoption_value フィールドを正確な URL に変更することだけです。

WordPress サイトの URL を誤って変更してしまった場合

誤って URI を変更してしまい、ファイルを移動できない (ただし、リダイレクトなどでログインページにはアクセスできる) 状態になったとします。

URI をリセットするために、wp-login.php ファイルが使えます。このファイルで以下の行を探してください。

require( dirname(__FILE__) . '/wp-load.php' );

そして、その後に以下の行を追加します。

// 要修正: データベースが更新された後に以下の行を取り除くこと
update_option('siteurl', 'http://your.domain.name/the/path' );
update_option('home', 'http://your.domain.name/the/path' );

これで完了です。サイトをテストして、正しく動作することを確認します。また、.htaccess ファイルにリダイレクトの指示を追加して、訪問者を新しい場所に誘導することを検討してください。

サイト URL の変更ページにも詳細があります。

古いサイトの管理

サイトを閉じる

  1. 古いサイトから、主な WordPress ファイルのコピーをハードディスクへダウンロードし、新サーバーに適するようにwp-config.php の編集を行ってください。
  2. 古いサイトへ戻り、管理画面 > 設定 > 一般 へ行き、(両方の) URLをあなたの新サイトのURLに変更ください。
  3. サーバーにログインし、phpMyAdmin でエクスポートしたデータベースをファイルとして保存します (念のため古いデータベースはそのままにしておいてください)。この新しいデータベースと、WordPress コアファイルの編集済み wp-config.php を新サーバーにアップロードしてください。

運用を続ける

Caution: Make sure you have a backup of your old site’s WordPress database before proceeding!

Part A – Activating Your New Site

  1. Download your entire WordPress installation to your hard drive. Name the folder appropriately to indicate that this is your OLD site’s installation.
  2. Download your database.
  3. Go back to your OLD site and go to options and change the url (both of them) to that of your new site.
  4. Again, download your entire WordPress installation to your hard drive. Name the folder appropriately to indicate that this is your NEW site’s installation.
  5. Download your database once again (but keep the old one). Upload this database to your new server. It will be easiest if you use the same database name and you create a user with the same login credentials on your new server as on your old server.
  6. If you used a different database name and/or user (see previous step), edit wp-config.php in your NEW site’s installation folder appropriately.
  7. Upload the NEW site’s installation folder to your new site. Presto, your NEW site should be working!

Part B – Restoring Your Old Site

  1. On the original server, delete your OLD site’s database (remember, you should have a copy on your local computer that you made at the very beginning).
  2. Upload your OLD site’s installation folder to your original server, overwriting the files that are currently there (you may also delete the installation folder on the server and simply re-upload the OLD site’s files).
  3. Upload your OLD site’s database from your local computer to the server. That should do it!

Another procedure for making copies of posts, comments, pages, categories and custom field (post status, data, permalinks, ping status, etc.) easy to follow:

  1. Install a new WordPress site
  2. Go on old site Admin panel. Here, in Manage > Export select “all” in menu Restrict Author.
  3. Click on Download Export File
  4. In new site go on Manage > Import, choose WordPress item.
  5. In the page that will be shown, select the file just exported. Click on Upload file and Import
  6. It will appear a page. In Assign Authors, assign the author to users that already exist or create new ones.
  7. Click on Submit
  8. At the end, click on Have fun

Note: using this method, if there are some articles in the new site (like Hello World, Info Page, etc.), these will not be erased. Articles are only added. Using the former procedure, the articles in new site will be deleted.

WordPress マルチサイトの移動

Multisite is somewhat more complicated to move, as the database itself has multiple references to the server name as well as the folder locations. If you’re simply moving to a new server with the same domain name, you can copy the files and database over, exactly as you would a traditional install.

If, instead, you are changing domains, then the best way to move Multisite is to move the files, edit the .htaccess and wp-config.php (if the folder name containing Multisite changed), and then manually edit the database. Search for all instances of your domain name, and change them as needed. This step cannot yet be easily automated. It’s safe to search/replace any of the wp_x_posts tables, however do not attempt blanket search/replace without the Search and Replace for WordPress Databases script (aka the interconnectit script).

If you’re moving Multisite from one folder to another, you will need to make sure you edit the wp_blogs entries to change the folder name correctly. You should manually review both wp_site and wp_blogs regardless, to ensure all sites were changed correctly.

Also, manually review all the wp_x_options tables and look for three fields and edit them as needed:

  • home
  • siteurl
  • fileupload_url

If you are moving from subdomains to subfolders, or vice-versa, remember to adjust the .htaccess file and the value for SUBDOMAIN_INSTALL in your wp-config.php file accordingly.

関連リンク

この記事は役に立ちましたか ? どうすればさらに改善できますか ?