サイトURLの変更
WordPressの単一サイトインストールのSettings -> General
画面には、「WordPressアドレス(URL)」と「サイトアドレス(URL)」という2つのフィールドがあります。これらはWordPressの位置を制御する重要な設定です。これらの設定は、ページの管理セクションやフロントエンドでのURLの表示を制御し、WordPressコード全体で使用されます。
- 「サイトアドレス(URL)」設定は、ユーザーがブラウザに入力してWordPressブログにアクセスするためのアドレスです。
- 「WordPressアドレス(URL)」設定は、WordPressのコアファイルが存在するアドレスです。
注意: 両方の設定にはhttps://部分を含め、末尾にスラッシュ`````/`````を付けないでください。
時折、誰かがこれらの設定を手動で変更(または修正)する必要があることがあります。通常、これは1つまたは両方を変更し、サイトが正常に機能しなくなったことに気づいたときに発生します。これにより、ユーザーは問題を修正するための簡単に発見できる方法がなくなります。この記事では、これらの設定を直接変更する方法を説明します。
ここでは、WordPressを1つのサイトから別のサイトに移動する場合の追加情報も提供します。これもサイトURLの変更が必要です。単に「壊れた」サイトを修正しようとしている場合は、この追加情報を使用しないでください。
警告! これらの手順は、単一インストールのWordPress専用です。WordPress MultiSiteを使用している場合は、データベースを手動で編集する必要があります。
サイトURLを手動で変更するための簡単な方法が4つあります。これらの方法のいずれも機能し、ほぼ同じ機能を果たします。
wp-config.phpの編集
「example.com」はサイトの正しい場所です。`````wp-config.php`````に次の2行を追加します。
``````bash
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
`
これは必ずしも最良の修正ではなく、単に値をサイト自体にハードコーディングしているだけです。この方法を使用すると、一般設定ページでそれらを編集できなくなります。
functions.phpの編集
FTP経由でサイトにアクセスできる場合、この方法は、これらの値を誤って変更した場合にサイトを迅速に復旧させるのに役立ちます。
- 1. FTPでサイトに接続し、アクティブテーマのfunctions.phpファイルのコピーを取得します。シンプルなテキストエディタで編集し、サイトに再アップロードします。
- 2. 最初の
<?php
行の直後に、次の2行をファイルに追加します:
update_option( 'siteurl', 'https://example.com' );
update_option( 'home', 'https://example.com' );
明らかに、example.com
の代わりに自分のURLを使用してください。
- 1. ファイルを同じ場所に再アップロードします。FileZillaは、上記のすべてを迅速に行うための便利な「ファイルを編集」機能を提供しています。使用できる場合は、それを使用してください。
- 2. ログインまたは管理ページを数回読み込みます。サイトは復旧するはずです。
重要! このコードをfunctions.php
ファイルに残さないでください。サイトが再び稼働したら、削除してください。
注意:テーマにfunctions.php
ファイルがない場合は、テキストエディタで新しいものを作成します。<?php
タグと、example.com
の代わりに自分のURLを使用して2行を追加します:
<?php
update_option( 'siteurl', 'https://example.com' );
update_option( 'home', 'https://example.com' );
このファイルをテーマディレクトリにアップロードします。サイトが再び稼働したら、行を削除するか、ファイルを削除してください。
LANベースのサイトから外部アクセス可能なサイトへ
LANベースのWordPressサイトを外部アクセス可能なサイトに移行し、LAN内からWordPressサイトを編集できるようにするための追加の詳細を以下に示します。
重要な2つの鍵は、ルーター/ファイアウォールの変更と、変更後に「10分以上待つ」ことです。
- 1. SSHを使用してサーバーにログインします(nanoはサーバーにプリインストールされたテキストエディタです):
$ nano /var/www/books/wp-content/themes/twentyeleven/functions.php
- 1.
<?php
の直後に行を追加します
update_option( 'siteurl', 'https://example.com:port/yourblog');
update_option( 'home', 'https://example.com:port/yourblog');
- 1. 外部サイトURLを使用してWebブラウザを更新します:
https://example.com:port/yourblog
$ nano /var/www/books/wp-content/themes/twentyeleven/functions.php
- 1. 追加した行を削除します(またはコメントアウトします)
- 2. ルーターにアクセスします。これらの手順はpfSense用ですが、他のルーターでも同様の設定があるはずです。
- 3. ファイアウォール/NATテーブルに次のような行を追加します
- 1*.* ファイアウォール/ルールテーブルに次のような行を追加します:
`````tcp/*/port/LAN.server.IP/port/*
- 1. システム/高度な/ネットワークアドレス変換/NAT反射を無効にするボックスのチェックを外します
"Disables the automatic creation of NAT redirect rules for access to your public IP addresses from within your internal networks. Note: Reflection only works on port forward type items and does not work for large ranges > 500 ports."
- 1. それから10分間何かをして戻ってきたときに、LANブラウザから外部URL https://example.com:port/yourblogが正しくページを表示するか確認します。
移動方法
WordPressは、サイトを1つのサーバーから別のサーバーに移動する際に、サイトを機能させるための迅速な支援を目的とした自動移動方法をサポートしています。
コード機能
``````bash
if ( defined( 'RELOCATE' ) AND RELOCATE ) {
// Move flag is set
if ( isset( $_SERVER['PATH_INFO'] ) AND ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )
$_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], "", $_SERVER['PHP_SELF'] );
$url = dirname( set_url_scheme( 'https://'. $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) );
if ( $url != get_option( 'siteurl' ) )
update_option( 'siteurl', $url );
}
`
手順
- 1.
wp-config.php
ファイルを編集します。 - 2. 「define」ステートメントの後(「これで終了、編集を停止!」というコメント行の直前)に新しい行を挿入し、次のように入力します:
define('RELOCATE',true);
- 3.
wp-config.php
ファイルを保存します。 - 4. Webブラウザを開き、新しいサーバーの
wp-login.php
に手動でポイントします。たとえば、新しいサイトがhttps://www.example.comにある場合、ブラウザのアドレスバーにhttps://www.example.com/wp-login.phpと入力します。 - 5. 通常通りログインします。
- 6. Webブラウザのアドレスバーを確認して、正しいサーバーにログインしていることを確認します。これが正しければ、管理バックエンドで
Settings > General
に移動し、両方のアドレス設定が正しいことを確認します。変更を保存することを忘れないでください。 - 7. これが修正されたら、
wp-config.php
を編集し、追加した行を完全に削除するか(行全体を削除)、コメントアウトするか(//
で)再度移動する可能性がある場合はtrueの値をfalseに変更します。
注意: RELOCATE
フラグがtrueに設定されている場合、サイトURLはログイン画面にアクセスするために使用しているパスに自動的に更新されます。これにより、管理セクションが新しいURLで稼働しますが、セットアップの他の部分は修正されません。それらを手動で変更する必要があります。
重要! wp-config.php
ファイルにRELOCATE定数を残すことは安全ではありません。これは、攻撃者が特定の構成でサイトURLを任意のものに変更できるようにするためです。作業が完了したら、wp-config.php
からRELOCATE行を必ず削除してください。
データベース内のURLを直接変更する
ホストのphpMyAdminにアクセスできる場合、これらの値を直接編集してサイトを再稼働させることができます。
- 1. データベースをバックアップし、コピーをオフサイトに保存します。
- 2. phpMyAdminにログインします。
- 3. データベースへのリンクをクリックします。
- 4. データベースのリストが表示されます。WordPressデータベースを選択します。
- 5. データベース内のすべてのテーブルが画面に表示されます。
- 6. リストから
wp_options
を探します。注意:wp_
のテーブルプレフィックスは、インストール時に変更した場合は異なる場合があります。 - 7. ブラウズとして示されている小さなアイコンをクリックします。
- 8. wp_optionsテーブル内のフィールドのリストが表示される画面が開きます。
- 9. option_nameフィールドの下で、
siteurl
を探します。 - 10. フィールドを編集アイコンをクリックします。通常、行の最初の左端にあります。
- 11. フィールドを編集ウィンドウが表示されます。
- 12. option_valueの入力ボックスで、URL情報を新しいアドレスに慎重に変更します。
- 13. これが正しいことを確認し、情報を保存するために実行をクリックします。
- 14.
wp_options
テーブルに戻されるはずです。 - 15. テーブル内のhomeフィールドを探し、フィールドを編集をクリックします。注意:
wp_options
内には複数ページのテーブルがあります。ページをめくるために>記号を探してください。 - 16. option_valueの入力ボックスで、URL情報を新しいアドレスに慎重に変更します。
- 17. これが正しいことを確認し、情報を保存するために実行をクリックします。
サイトの移動
サイトを1つの場所から別の場所に移動する際、新しいサイトURL情報が正しく認識されるように、データベース内のデータを手動で修正する必要がある場合があります。このための多くのツールが存在し、一般的には手動修正の代わりにそれらを使用するべきです。
これは情報としてのみ提供されています。このデータは完全または正確でない場合があります。
WordPressを1つのシステムから別のシステムに移動しようとしている場合は、最初にWordPressの移動記事を読むべきです。
テーブルプレフィックスの変更
多くのWordPress管理者と同様に、1つのデータベースから複数のWordPressインストールを実行している場合、さまざまなwp-config.php
ハックを使用しているかもしれません。これらのハックの多くは、テーブルプレフィックスを動的に設定することを含んでおり、テーブルプレフィックスを変更する場合は、prefix_usermeta
テーブル内のいくつかのエントリも更新する必要があります。
上記のセクションと同様に、SQLの変更は永続的であるため、最初にデータベースをバックアップすることを忘れないでください:
サイトのテーブルプレフィックスを変更する場合は、usermetaテーブル内のテーブルプレフィックスも変更することを忘れないでください。これにより、新しいサイトが古いサイトからのユーザー権限を正しく認識できるようになります。
UPDATE `newprefix_usermeta` SET `meta_key` = REPLACE( `meta_key` , 'oldprefix_', 'newprefix_' );
テンプレートファイルの変更
WordPressテーマ内で、各テンプレートファイルを開き、古いドメイン名への手動で入力された参照を検索し、新しいものに置き換えます。sidebar.php
やfooter.php
など、さまざまなテンプレートファイルに手動で入力した特定のリンクを探してください。WordPressは、管理>設定>一般パネルに入力された情報からサイトアドレスを自動的に生成するために、bloginfo()
というテンプレートタグを使用します。テンプレートファイル内のタグは変更する必要はありません。
設定ファイルの変更
データベースが移動したり、特定の方法で変更された場合は、WordPress設定ファイルを更新する必要があります。
- 1. 次の条件の場合にのみ設定ファイルを変更する必要があります:
- データベースが別のサーバーに移動し、ローカルホストで実行されていない場合
- データベースの名前を変更した場合
- データベースのユーザー名を変更した場合
- 2.
wp-config.php
ファイルのバックアップコピーを作成します。 - 3. テキストエディタで
wp-config.php
ファイルを開きます。 - 4. 内容を確認します。特に、データベースホストエントリを探しています。
- 5. ファイルを保存します。
- 6. この時点で、WordPressブログは正常に動作しているはずです。
プロフィールの確認
- 1. 管理 > 設定 > 一般パネルで、上記のURL変更が正しいことを確認します。
- 2. WordPressアドレス(URL)の参照が新しいアドレスを含んでいることを確認します。
- 3. サイトアドレス(URL)の参照が新しいアドレスを含んでいることを確認します。
- 4. 変更を行った場合は、変更を保存をクリックします。
.htaccessファイルの変更
管理>設定>一般パネルで情報を変更した後、パーマリンクやリライト、リダイレクトを使用している場合は、.htaccessファイルを更新する必要があります。
- 1.
.htaccess
ファイルのバックアップコピーを作成します。これは推奨事項ではなく、要件です。 - 2. テキストエディタで
.htaccess
ファイルを開きます。 - 3. 入力したカスタムリライトやリダイレクトを探して、その内容を確認します。これらを安全のために別のテキストファイルにコピーします。
- 4. ファイルを閉じます。
- 5. パーマリンクサブパネルの指示に従って、
.htaccess
ファイルのパーマリンクを更新します。 - 6. 新しい
.htaccess
ファイルを開き、カスタムリライトやリダイレクトがまだ存在するか確認します。存在しない場合は、保存したファイルからコピーして新しい.htaccess
ファイルに貼り付けます。 - 7. 新しいサイトアドレスを反映するように、これらのカスタムリライトやリダイレクトに必要な変更を加えます。
- 8. ファイルを保存します。
- 9. それらのリダイレクトが機能しているかテストします。
間違いを犯した場合は、バックアップからデータベースを復元し、再度試してください。最初に正しいことを確認してください。
注意すべき追加項目
サイトを移動する際にURLを修正するために変更したい他の項目があります。
- 1. 画像リンク:画像リンクは、
wp_posts
テーブルの「post_content」に保存されています。上記の類似コードを使用して画像リンクを更新できます。 - 2. wp_options:上記の「siteurl」と「home」項目に加えて、「upload path」や一部のプラグイン項目(インストールしたものによって異なる、ウィジェット、統計、DMSGuestbook、サイトマップなど)も修正が必要です。
- 3. 古いURLを含むウィジェットを修正するには、ダッシュボード / 外観 / ウィジェットで編集できます。
- 4. 残っているアイテムを完全にデータベース検索します。変更する内容を必ず確認し、各アイテムを不適切な置き換えの可能性について確認してください。
- 5. ネットワークを運営している場合や複数のサイトがある場合は、データベース内のURLのインスタンスを置き換える必要があります。これらは、各サイト(ブログ)を含む多くのテーブルに保存されています。置き換える内容に注意し、変更する前にフィールドの意味を理解してください。以下の重要なGUIDノートの例を参照してください。
- 6. 注意:
dashboard_incoming_links
のデータベースオプションテーブルに古いURLが見つかった場合は、そのオプションを無視または削除できます。WP 3.8以降は未使用です。
重要なGUIDノート
上記の操作を行い、データベース内のURLを直接変更する際に、wp_posts
テーブルの「guid」列にURLが存在する場合があります。このフィールドの内容を変更しないことが重要です。
「GUID」という用語は「Globally Unique Identifier」の略です。これは、投稿の識別子を保持するためのフィールドであり、a)空間と時間全体で一意であり、b)決して変更されません。GUIDフィールドは主にWordPressフィードを作成するために使用されます。
フィードリーダーがフィードを読み取るとき、特定のアイテムを以前に表示したかどうかを知るためにGUIDフィールドの内容を使用します。これはさまざまな方法で行われますが、最も一般的な方法は、すでに表示され「既読」とマークされたGUIDのリストを単に保存することです。
したがって、GUIDを変更すると、多くのフィードリーダーが突然、ユーザーのリーダーに新しいコンテンツのように表示される可能性があり、ユーザーを煩わせる可能性があります。
GUIDフィールドが「グローバルに」一意であるためには、URLまたはURLの何らかの表現が使用されることが受け入れられた慣習です。したがって、example.com
を所有している場合、example.com
を使用しているのはあなただけであり、したがってそれはあなたとあなたのサイトに固有です。これがWordPressがGUIDにパーマリンクまたはその形式を使用する理由です。
ただし、その第二の部分は、GUIDは決して変更されてはならないということです。ドメインを移動しても、投稿は依然として同じ投稿であり、新しい場所にあります。URLを変更したときにフィードリーダーが新しいフィードに移動しても、以前にいくつかの投稿を読んだことを知っている必要があり、したがってGUIDは変更されてはならないのです。
いかなる状況下でも、GUID列の内容を変更しないでください。
デフォルトのアップロードフォルダーを別の場所に変更する必要がある場合、メディアURLは投稿テーブルのpost_content
列で変更する必要があります。たとえば、デフォルトのアップロードフォルダーがwp-content/uploads
からimages
に変更される場合:
UPDATE wp_posts SET post_content = REPLACE(post_content,'www.domain.com/wp-content/uploads','www.domain.com/images');
マルチサイトのノート
WordPress Multisiteの移動を参照してください。
wp-cli
wp-cliは非常に便利なシェルツールです。
wp search-replace 'example.dev' 'example.com' --skip-columns=guid
または、オプションのみを変更したい場合は、次のようにできます:
wp option update home 'https://example.com'
wp option update siteurl 'https://example.com'
WordPressの移動
WordPressを新しいサーバーに移動する場合でも、サーバー内の別の場所に移動する場合でも、再インストールする必要はありません。WordPressはこれらのすべての状況に対応できる柔軟性があります。
新しいサーバーへの移動
WordPressを1つのサーバーから別のサーバーに移動する場合は、まずWordPressディレクトリ、画像、プラグイン、サイト上の他のファイル、およびデータベースをバックアップします。WordPressバックアップおよびデータベースのバックアップを参照してください。
ドメイン名とURLの保持
ドメインを移動しても、WordPressサイトのホームとサイトのURLを変更しないのは非常に簡単で、ほとんどの場合、ファイルを移動するだけで済みます。
- データベースとURLが同じままであれば、ファイルとデータベースをコピーするだけで移動できます。
- データベース名やユーザーが変更される場合は、wp-config.phpを編集して正しい値を設定します。
- 切り替え前にテストしたい場合は、データベーステーブル「wp_options」で「siteurl」と「home」を一時的に変更する必要があります(phpMyAdminなどを通じて)。
- 何らかのリライト(パーマリンク)を設定していた場合は、.htaccessを無効にし、ライブ時にパーマリンクを再構成する必要があります。
ドメイン名とURLの変更
ウェブサイトを移動し、ドメイン名やURLを変更する(例: https://example.com/site から https://example.com、または https://example.com から https://example.net へ)には、次の手順が必要です。
- 1. 既存のサイトファイルをダウンロードします。
- 2. データベースをエクスポートします。MySQLに入ってデータベースをエクスポートします。
- 3. バックアップしたファイルとデータベースを新しいフォルダーに移動します。安全な場所に保存します。これがサイトのバックアップです。
- 4. 移動したいサイトにログインし、設定>一般に移動し、URLを変更します。(例: https://example.com/ から https://example.net へ)設定を保存し、404ページが表示されることを期待します。
- 5. 再度サイトファイルをダウンロードします。
- 6. 再度データベースをエクスポートします。
- 7. 新しいサーバーのMySQLデータベース名、ユーザー、パスワードで
wp-config.php
を編集します。 - 8. ファイルをアップロードします。
- 9. 新しいサーバーにデータベースをインポートします。
ドメイン名やURLが変更されると、追加の懸念事項があります。ファイルとデータベースは移動できますが、古いドメイン名や場所への参照はデータベースに残り、それがリンクやテーマの表示に問題を引き起こす可能性があります。
データベース全体でURLを変更するために検索と置換を行うと、データのシリアル化に問題が生じる可能性があります。これは、一部のテーマやウィジェットがURLの長さをマークして値を保存するためです。これが変更されると、物事が壊れます。このシリアル化の問題を回避するために、次の3つのオプションがあります:
- 1. ダッシュボードにアクセスできる場合は、Velvet Blues Update URLsまたはBetter Search Replaceプラグインを使用します。
- 2. ホスティングプロバイダーがWP-CLIをインストールしている場合は、WP-CLIのsearch-replaceを使用します。
- 3. Search and Replace for WordPress Databases Scriptを使用して、古いドメインやパスのすべてのインスタンスを安全に新しいものに変更します。(このオプションは、データベース管理に慣れている場合のみ使用してください)
注意:wp_postsテーブルでのみ検索と置換を実行してください。
注意:Interconnectitの検索と置換は、サードパーティのスクリプトです。
既存サーバー上のディレクトリの移動
WordPressファイルをサーバー内の1つの場所から別の場所に移動する(つまり、URLを変更する)には、特別な注意が必要です。WordPressを独自のフォルダーに移動したいが、ドメインのルートから実行したい場合は、詳細な手順について「WordPressに独自のディレクトリを与える」をお読みください。
同じサーバー上の新しい場所にWordPressサイトを移動するための手順は次のとおりです:
- 1. 次の2つのオプションのいずれかを使用して新しい場所を作成します:
- WordPressコアファイルを新しいディレクトリに移動する場合は、新しいディレクトリを作成します。
- WordPressをルートディレクトリに移動したい場合は、すべての
index.php
、.htaccess、およびコピーされる可能性のある他のファイルがバックアップされていることを確認し、ルートディレクトリが新しいWordPressファイルの準備が整っていることを確認します。
- 2. サイトにログインします。
- 3. 管理 > 設定 > 一般画面に移動します。
- 4. WordPressアドレス(URL)のボックスで、メインのWordPressコアファイルの新しい場所にアドレスを変更します。
- 5. サイトアドレス(URL)のボックスで、新しい場所にアドレスを変更します。これはWordPress(公開サイト)アドレスと一致する必要があります。
- 6. 変更を保存をクリックします。
- 7. (今はサイトを開こうとしないでください!)
- 8. WordPressコアファイルを新しい場所に移動します。これには、元のディレクトリ内のファイル(例: https://example.com/wordpress)やすべてのサブディレクトリが含まれます。
- 9. さて、yourdomain.com/wp-adminにアクセスしてサイトを開いてみてください。注意:yourdomain.com/wp-login.phpにアクセスする必要があるかもしれません。
- 10. パーマリンクを使用している場合は、管理>設定>パーマリンクパネルに移動し、メイン
index.php
ファイルと同じディレクトリにある.htaccessファイルにパーマリンク構造を更新します。 - 11. 既存の画像/メディアリンクは古いフォルダーを参照し、新しい場所で更新する必要があります。これには、Better Search ReplaceまたはVelvet Blues Update URLsプラグイン、ホスティングプロバイダーがWP-CLIをインストールしている場合はWP-CLIのsearch-replace、SQLデータベース内で手動で、またはサードパーティのデータベース更新ツールSearch and Replace Databases Scriptを使用して行うことができます。 *注意: このスクリプトは経験豊富な開発者によって使用されるのが最適です。
- 12. 場合によっては、ISPによって権限が変更されることがあります。「0000」権限のファイルに注意し、「0644」に戻してください。
- 13. テーマがメニューをサポートしている場合、ホームページへのリンクには古いサブディレクトリが埋め込まれている可能性があります。外観>メニューに移動して更新します。
- 14. 場合によっては、サーバーを再起動する必要があります。そうしないと、サーバーがエラーを出すことがあります。(MAMPソフトウェア(Mac)で発生します)。
- 15. ファイルを移動する前にURIの場所を設定することが重要です。
場所を変更するのを忘れた場合
ファイルを移動する前にURIを変更するのを誤って忘れた場合、2つのオプションがあります。
- 1. たとえば、ファイルが/path/to/old/にあり、/path/to/newに移動した場合、URIを変更する前に、次のように修正します。
/path/to/old/ a symlink (for Windows users, "symlink" is equivalent to "shortcut") to /path/to/new/, i.e.
ln -s /path/to/new /path/to/old
その後、上記の手順を通常通りに続けます。後でシンボリックリンクを削除したい場合は、削除してください。
- 1. WordPressアドレスとブログアドレスを変更するのを忘れた場合、WordPressインターフェースを使用して変更することはできません。ただし、データベースにアクセスできる場合は修正できます。サイトのデータベースに移動し、wp_optionsテーブルを見つけます。このテーブルには、インターフェースで設定できるすべてのオプションが保存されています。WordPressアドレスとブログアドレスは
siteurl
およびhome
(option_nameフィールド)として保存されています。option_name='siteurl‘
またはoption_name='home‘
のレコードのoption_valueフィールドを正しいURLに変更するだけです。
注意:時々、WordPressアドレスとブログアドレスはWordPressトランジェントに保存されます。検索と置換スクリプトは、それらを新しいアドレスに変更するのが難しい場合があり、一部のプラグインはそれらのために古いアドレスを参照する可能性があります。トランジェントは、一時的(キャッシュされた)値で、wp_optionsデータベーステーブルに保存され、削除されたときにオンデマンドで再作成できます。したがって、移行されたデータベースコピーからそれらを削除し、再作成させるのは安全です。このデータベースクエリ(再度、バックアップを取ってください!)は、すべてのトランジェントをクリアします:
DELETE FROM `wp_options` WHERE option_name LIKE '%\_transient\_%'
WordPressサイトURLを誤って変更した場合
ファイルを移動できない(ただし、リダイレクトなどでログインページにアクセスできる)場合、wp-login.php
を使用してURIを(再)設定できます。この行を見つけてください:
require( dirname(__FILE__) . '/wp-load.php' );
その下に次の行を挿入します:
//FIXME: do comment/remove these hack lines. (once the database is updated)
update_option('siteurl', 'https://example.com/the/path' );
update_option('home', 'https://example.com/the/path' );
これで完了です。サイトが正しく動作することを確認してください。変更がサイトの新しいアドレスに関わる場合は、新しいアドレスを人々に知らせ、.htaccess
ファイルに訪問者を新しい場所に誘導するためのリダイレクション指示を追加することを検討してください。
サイトURLの変更もこのプロセスの詳細を提供しています。
古いサイトの管理
シャットダウン
- 1. 古いサイトからメインのWordPressファイルのコピーをハードドライブにダウンロードし、wp-config.phpを新しいサーバーに合わせて編集します。
- 2. 古いサイトに戻り、管理 > 設定 > 一般画面に移動し、URL(両方)を新しいサイトのものに変更します。
- 3. サーバーにログインし、phpMyAdminに移動してファイルとしてエクスポートし、データベースを保存します(念のため古いものも保持してください)。これで、新しいデータベースと編集したwp-config.phpを含むWordPressコアファイルのコピーを新しいサーバーにアップロードします。それで完了です!
運用を続ける
注意: 続行する前に、古いサイトのWordPressデータベースのバックアップを確保してください!
パートA – 新しいサイトの有効化
- 1. WordPressの全インストールをハードドライブにダウンロードします。フォルダーには、これが古いサイトのインストールであることを示す適切な名前を付けます。
- 2. データベースをダウンロードします。
- 3. 古いサイトに戻り、オプションに移動してURL(両方)を新しいサイトのものに変更します。
- 4. 再度、WordPressの全インストールをハードドライブにダウンロードします。フォルダーには、これが新しいサイトのインストールであることを示す適切な名前を付けます。
- 5. 再度データベースをダウンロードします(古いものは保持してください)。このデータベースを新しいサーバーにアップロードします。同じデータベース名を使用し、古いサーバーと同じログイン資格情報を持つユーザーを新しいサーバーに作成すると、最も簡単です。
- 6. 異なるデータベース名やユーザーを使用した場合(前のステップを参照)、新しいサイトのインストールフォルダー内のwp-config.phpを適切に編集します。
- 7. 新しいサイトのインストールフォルダーを新しいサイトにアップロードします。これで、新しいサイトが動作するはずです!
パートB – 古いサイトの復元
- 1. 元のサーバーで、古いサイトのデータベースを削除します(最初に作成したローカルコンピュータのコピーを保持していることを忘れないでください)。
- 2. 古いサイトのインストールフォルダーを元のサーバーにアップロードし、現在そこにあるファイルを上書きします(サーバー上のインストールフォルダーを削除し、単に古いサイトのファイルを再アップロードすることもできます)。
- 3. ローカルコンピュータから古いサイトのデータベースをサーバーにアップロードします。それで完了です!
投稿、コメント、ページ、カテゴリ、カスタムフィールド(投稿ステータス、データ、パーマリンク、ピンステータスなど)のコピーを簡単に作成するための別の手順:
- 1. 新しいWordPressサイトをインストールします
- 2. 古いサイトの管理パネルに移動します。ここで、管理 > エクスポートで、メニューの著者を制限するで「すべて」を選択します。
- 3. エクスポートファイルをダウンロードをクリックします
- 4. 新しいサイトで管理 > インポートに移動し、WordPressアイテムを選択します。
- 5. 表示されるページで、ちょうどエクスポートしたファイルを選択します。ファイルをアップロードしてインポートをクリックします
- 6. ページに表示されます。著者の割り当てで、既存のユーザーに著者を割り当てるか、新しいユーザーを作成します。
- 7. 提出をクリックします
- 8. 最後に、楽しんでください
注: この方法を使用すると、新しいサイトにいくつかの記事(Hello World、Info Pageなど)がある場合、これらは消去されません。記事は追加されるだけです。以前の手順を使用すると、新しいサイトの記事は削除されます。
WordPressマルチサイトの移動
マルチサイトは、データベース自体がサーバー名やフォルダーの場所に複数の参照を持っているため、移動がやや複雑です。同じドメイン名の新しいサーバーに単に移動する場合は、従来のインストールと同様にファイルとデータベースをコピーできます。
代わりにドメインを変更する場合、マルチサイトを移動する最良の方法は、ファイルを移動し、.htaccess
およびwp-config.php
を編集し(マルチサイトを含むフォルダー名が変更された場合)、データベースを手動で編集することです。ドメイン名のすべてのインスタンスを検索し、必要に応じて変更します。このステップはまだ簡単に自動化できません。ただし、wp_x_posts
テーブルの検索/置換は安全ですが、WordPressデータベースの検索と置換スクリプト(別名インターコネクトスクリプト)なしで一括検索/置換を試みないでください。
マルチサイトをあるフォルダーから別のフォルダーに移動する場合、wp_blogs
エントリを編集してフォルダー名を正しく変更する必要があります。wp_site
およびwp_blogs
を手動で確認して、すべてのサイトが正しく変更されていることを確認してください。
また、すべてのwp_x_optionsテーブルを手動で確認し、次の3つのフィールドを探して必要に応じて編集します:
- home
- siteurl
- fileupload_url
サブドメインからサブフォルダーに移動する場合、またはその逆の場合は、.htaccessファイルとwp-config.php
ファイル内のSUBDOMAIN_INSTALLの値を適切に調整することを忘れないでください。
関連リンク
- wordpress.comから自己ホストのブログへの移動
- WordPressを新しいドメインまたはサーバーに移動
- この記事のイタリア語版 – Versione italiana dell’articolo
- WordPressデータベースの検索と置換
- WPMLを使用している場合でも、WordPressデータベースダンプ内のサイトURLを置き換えるPHPスクリプト
- Duplicatorプラグインは、管理者がサイトを1つの場所から別の場所に移動するのを助けます
- BitnamiのAWS構成にWordPressブログを移動するための技術チュートリアル
複数のブログをWordPressマルチサイトに移行する
このチュートリアルでは、複数のWordPressインストールをWordPressマルチサイトインストールに移行する方法を説明します。独自のドメイン名を使用するサイトや、プライマリドメインのサブドメインを使用するサイトを移行できます。
このチュートリアルでは、cPanelを使用してサーバー上でWordPressをホストしていることを前提としています。別のソリューションを使用してサーバーを管理している場合は、これらの指示を適応させる必要があります。
従うべきステップ
サイトのバックアップ
cPanelでサイトの完全バックアップを生成します。また、FTPを介してサーバー上のすべてのファイルをコピーすると、後のステップで必要となるプラグインやテーマのファイルに簡単にアクセスできるため、役立つかもしれません。
既存のWordPressインストールからエクスポート
各既存のWordPressインストールで、WordPressのツール > エクスポートに移動します。各サイトのすべての投稿とページを含むWXRファイルをダウンロードします。ツールエクスポート画面の指示を参照してください。
エクスポートファイルに実際にすべての投稿とページが含まれていることを確認してください。テキストエディタを使用してエクスポートされたファイルの最後のエントリを確認することで、これを検証できます。最後のエントリは最新の投稿であるべきです。
一部のプラグインはエクスポートプロセスと競合し、空のファイルや部分的に完成したファイルを生成する可能性があります。安全のために、エクスポートを行う前にすべてのプラグインを無効にすることをお勧めします。
また、エクスポートされるとファイルが不必要に大きくなるため、まずすべての隔離されたスパムコメントを削除することも良いアイデアです。
注: この方法では、ウィジェットの構成やブログ/プラグインの設定はエクスポートされません。単一のホスティングアカウント内で移行する場合は、この段階でそれらの設定をメモしておいてください。古いドメインを削除すると、それらは消えてしまいます。
WordPressをインストール
WordPressをインストールします。WordPressのインストールの指示に従ってください。
マルチサイトを有効化
WordPressインストールでマルチサイトを有効化します。これには、wp-config.php
を数回編集する必要があります。サブディレクトリではなく、サブドメインオプションを使用する必要があります。ネットワークを作成する方法の指示を参照してください。
インポートしたい各サイトのブログを作成
別のドメインでホストしたい各サイトのブログを作成します。例えば、importedblogdotorg.mydomain.com
。
注意: 名前を慎重に選んでください。変更すると管理者のリダイレクトの問題が発生します。これは、同じホスティングアカウント内でサイトを移行する場合に特に重要です。
各ブログのWXRファイルをインポート
各ブログのバックエンドに移動し、各ブログのエクスポートされたWXRファイルをインポートします。著者を適切なユーザーにマッピングするか、新しいユーザーを作成します。写真やその他の添付ファイルを取り込むためのボックスにチェックを入れることを忘れないでください。ツールインポートサブパネルの指示を参照してください。
注: ソースサイトからターゲットサイトに画像をインポートすることを選択した場合、画像が正しい場所にアップロードされ、各投稿またはページに正しく表示されていることを確認してください。
各サイトのWordPress設定を編集
各サイトの設定、ウィジェットなどを編集します。このステップの終わりまでに、各サイトは以前と全く同じように見えるはずですが、URLはsubdomain.example.com
またはexample.com/subsite
であり、正しい最終URLではありません。
PHP設定の制限
ホストのPHP設定に問題が発生する可能性があります。考えられる問題は2つあります。1つは、PHPのmax_upload_size
がWXRファイルには小さすぎることです。もう1つの問題は、すべての投稿をインポートするにはPHPメモリ制限が小さすぎる可能性があることです。
解決する方法はいくつかあります。一つは、ホスティングプロバイダーに制限を一時的にでも引き上げるように依頼することです。もう一つは、/wp-admin/および/wp-includesディレクトリにphp.iniファイルを置いて、制限を引き上げることです(php.iniファイルは再帰的ではないため、これらのディレクトリに置く必要があります)。10 MBのアップロード制限と128 MBのメモリ制限が機能するはずですが、契約条件に違反しないように、最初にホスティングプロバイダーに確認してください。
PHP設定の問題については、WordPressフォーラムサポートを検索してください。
アドオンドメインをパークドメインに変換
cPanelでアドオンドメインを削除し、パークドメインに置き換えると、それらのドメインに関連付けられたドメインフォワーダーやメールフォワーダーも削除されます。これに注意して、切り替え後にそれらのフォワーダーを復元できるようにしてください。
ユーザーのインポートの制限
マルチサイトブログのインスタンスにコンテンツをインポートする上記の方法があるため、複数のユーザーをインポートする際に大きな問題が発生します。ユーザーはインポート中に生成されますが、新しいブログには役割や追加情報は取得できません。
設定の喪失
古いサイトがもはや利用できず、いくつかの設定をコピーするのを忘れたことに気づいた場合や、すべてが正しく構成されていることを確認したい場合は、サイトのGoogle検索を実行し、キャッシュされたバージョンを表示するためにクリックしてください。このオプションは、新しいサイトがクロールされるまでのみ利用可能ですので、迅速に行動することをお勧めします。
別のオプションは、インターネットアーカイブウェイバックマシンです。彼らはサイトのコピー(またはその一部)をアーカイブしているかもしれません。
変更履歴
- 2022-09-11: サイトURLの変更およびWordPressの移動からの元のコンテンツ。