当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「サイト URL の変更」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(原文と意味が反転してしまっていた (注))
(2015-05-05T05:15:41‎ Kovshenin 版に更新)
3行目: 3行目:
 
WordPress のシングルインストールでは、「設定 → 一般設定」画面に「WordPress アドレス (URL)」と「サイトアドレス (URL)」という2つの欄があります。これらは「ホーム」および「サイト URL」設定と呼ばれることもあります。両方とも、WordPress がサイトのインストール場所を理解するために重要な設定です。管理画面やフロントエンドの URL 表示をコントロールしたり、WordPress のコード内で使われたりしています。
 
WordPress のシングルインストールでは、「設定 → 一般設定」画面に「WordPress アドレス (URL)」と「サイトアドレス (URL)」という2つの欄があります。これらは「ホーム」および「サイト URL」設定と呼ばれることもあります。両方とも、WordPress がサイトのインストール場所を理解するために重要な設定です。管理画面やフロントエンドの URL 表示をコントロールしたり、WordPress のコード内で使われたりしています。
  
* 「ホーム」設定は、WordPress サイトに読者がアクセスするために使うアドレスです。
+
* 「WordPress アドレス (URL)」設定は、WordPress サイトに読者がアクセスするために使うアドレスです。
* 「サイト URL」設定は、WordPress のコアファイルを配置する場所のアドレスです。
+
* 「サイトアドレス (URL)」設定は、WordPress のコアファイルを配置する場所のアドレスです。
  
 
'''注''': 両方の設定には http:// の部分を含め、最後はスラッシュ("/")をつけないようにしてください。
 
'''注''': 両方の設定には http:// の部分を含め、最後はスラッシュ("/")をつけないようにしてください。
47行目: 47行目:
 
4. ログインまたは管理画面を何度か読み込み直す。サイトが元の状態になっているはずです。
 
4. ログインまたは管理画面を何度か読み込み直す。サイトが元の状態になっているはずです。
  
5. 上記のステップをもう一度行う。ただし、ステップ2で追加した行を削除する。重要: function.php ファイルに追加した行をそのままにしないこと。サイトが元に戻ったらすぐに該当行を削除してください。
+
{{Message|
 +
| background = #FCECAD
 +
| border = #CCCCCC
 +
| color = #000000
 +
| text = <strong>重要</strong> function.php ファイルに追加した行をそのままにしないこと。サイトが元に戻ったらすぐに該当行を削除してください。
 +
}}
  
テーマフォルダ内に functions.php ファイルがない場合は、"functions.php" という新規テキストファイルを作成します。これを[[用語集#WordPress_.E3.81.A7.E7.94.A8.E3.81.84.E3.82.8B.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.82.A8.E3.83.87.E3.82.A3.E3.82.BF|テキストエディタ]]で開き、以下の内容を追加してください。example.com は自分のサイトの URL に変更します。
+
""Note"": テーマフォルダ内に functions.php ファイルがない場合は、"functions.php" という新規テキストファイルを作成します。これを[[用語集#WordPress_.E3.81.A7.E7.94.A8.E3.81.84.E3.82.8B.E3.83.86.E3.82.AD.E3.82.B9.E3.83.88.E3.82.A8.E3.83.87.E3.82.A3.E3.82.BF|テキストエディタ]]で開き、以下の内容を追加してください。example.com は自分のサイトの URL に変更します。
  
 
  <?php
 
  <?php
109行目: 114行目:
  
 
'''注:''' <tt>RELOCATE</tt> が true に設定されている場合、ログイン画面にアクセスした際のパスを使ってサイト URLが更新されます。これで新しい URL で管理画面を使うことができるようになりますが、それ以外の設定を変更するわけではありません。他の設定は手動で変更する必要があります。
 
'''注:''' <tt>RELOCATE</tt> が true に設定されている場合、ログイン画面にアクセスした際のパスを使ってサイト URLが更新されます。これで新しい URL で管理画面を使うことができるようになりますが、それ以外の設定を変更するわけではありません。他の設定は手動で変更する必要があります。
 +
 +
{{Message|
 +
| background = #FCECAD
 +
| border = #CCCCCC
 +
| color = #000000
 +
| text = <strong>重要</strong> Leaving the RELOCATE constant in your wp-config.php file is insecure, as it allows an attacker to change your site URL to anything they want in some configurations. Always remove the RELOCATE line from wp-config.php after you're done.
 +
}}
  
 
=== データベースで URL を直接編集する<div id="Changing_the_URL_directly_in_the_database"></div> ===
 
=== データベースで URL を直接編集する<div id="Changing_the_URL_directly_in_the_database"></div> ===
217行目: 229行目:
 
'''Never, ever, change the contents of the GUID column, under any circumstances.'''
 
'''Never, ever, change the contents of the GUID column, under any circumstances.'''
  
'''One exception is attachment media:''' Attachment media locations are stored as a URL in the GUID. If the default uploads folder needs to be changed to a different location, then the media URL will need to be changed in the '''post_content''' and '''guid''' columns of the posts table. For example, if the default uploads folder is changing from '''wp-content/uploads''' to '''images''':
+
NB: If the default uploads folder needs to be changed to a different location, then any media URLs will need to be changed in the '''post_content''' column of the posts table. For example, if the default uploads folder is changing from '''wp-content/uploads''' to '''images''':
  
 
<pre>UPDATE wp_posts SET post_content = REPLACE(post_content,'www.domain.com/wp-content/uploads','www.domain.com/images');</pre>
 
<pre>UPDATE wp_posts SET post_content = REPLACE(post_content,'www.domain.com/wp-content/uploads','www.domain.com/images');</pre>
 
<pre>UPDATE wp_posts SET guid = REPLACE(guid,'www.domain.com/wp-content/uploads','www.domain.com/images');</pre>
 
  
 
=== マルチサイトについて気をつけること<div id="Multi-site_notes"></div> ===
 
=== マルチサイトについて気をつけること<div id="Multi-site_notes"></div> ===
238行目: 248行目:
 
  wp option update siteurl 'http://example.com'
 
  wp option update siteurl 'http://example.com'
  
{{原文|Changing The Site URL|141300}}<!-- 01:42, 17 February 2014 Telilbo 版 -->
+
{{原文|Changing The Site URL|151326}}<!-- 2015-05-05T05:15:41‎ Kovshenin 版 -->
  
 
{{DEFAULTSORT:さいとゆうああるえるのへんこう}}
 
{{DEFAULTSORT:さいとゆうああるえるのへんこう}}

2015年5月27日 (水) 16:27時点における版

このページ「サイト URL の変更」はまだ書きかけで、情報が不足しています。続きを書いて WordPress を手助けしましょう.


このページ「サイト URL の変更」は後半が未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています

WordPress のシングルインストールでは、「設定 → 一般設定」画面に「WordPress アドレス (URL)」と「サイトアドレス (URL)」という2つの欄があります。これらは「ホーム」および「サイト URL」設定と呼ばれることもあります。両方とも、WordPress がサイトのインストール場所を理解するために重要な設定です。管理画面やフロントエンドの URL 表示をコントロールしたり、WordPress のコード内で使われたりしています。

  • 「WordPress アドレス (URL)」設定は、WordPress サイトに読者がアクセスするために使うアドレスです。
  • 「サイトアドレス (URL)」設定は、WordPress のコアファイルを配置する場所のアドレスです。

: 両方の設定には http:// の部分を含め、最後はスラッシュ("/")をつけないようにしてください。

時々これらの設定を変更(または修正)する必要がある場合もあります。片方または両方の値を変更してサイトが正しく動作しなくなった時などです。このページでは、この設定を管理画面以外から直接変更する方法を紹介します。

WordPress を引っ越す際のための追加情報も含まれていますが、壊れた状態のサイトを正しく直したいだけの場合は無視してください。

注: 以下の手順はシングルインストールの WordPress 向けのものです。WordPress マルチサイトをお使いの場合は、データベースを手動で編集する必要があります。

サイト URL の変更

サイト URL を手動で変更するには、簡単な方法が4つあります。どれもほとんど同じような結果が得られるでしょう。

wp-config.php の編集

wp-config.php ファイルで、サイト URL を手動設定できます。 以下の2行の "example.com" をサイトの正しいアドレスに置き換え、wp-config.php ファイルに追加してください。

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

これは最適な方法とは言えないかもしれません。サイトの値を決め打ちしているだけです。この方法を使うと、サイトの一般設定ページで値を変更することはできなくなります。

functions.php の編集

これらの値を間違って変更したとしても、サイトへの FTP アクセスができる場合は以下の方法でサイトを元の状態に戻すことができます。

1. サイトに FTP 接続し、現在有効化されているテーマの functions.php をコピーする。これをテキストエディタで編集し、サイトへ再アップロードすることになります。

2. 最初の "<?php" 行のすぐ後に以下の2行を追加する。

update_option('siteurl','http://example.com');
update_option('home','http://example.com');

もちろん、example.com ではなく自分の URL を使ってください。

3. ファイルをサイトの元あった位置にアップロードする。

4. ログインまたは管理画面を何度か読み込み直す。サイトが元の状態になっているはずです。

重要 function.php ファイルに追加した行をそのままにしないこと。サイトが元に戻ったらすぐに該当行を削除してください。

""Note"": テーマフォルダ内に functions.php ファイルがない場合は、"functions.php" という新規テキストファイルを作成します。これをテキストエディタで開き、以下の内容を追加してください。example.com は自分のサイトの URL に変更します。

<?php
update_option('siteurl','http://example.com');
update_option('home','http://example.com');

現在有効化されているテーマのディレクトリにアップロードし、上記のステップ4を行います。その後ファイルを削除してください。

リロケート・メソッド

WordPress はサイトを別のサーバーに移す時にサイトをすぐに動作させるのをサポートするため、自動リロケートメソッドに対応しています。

コード機能

wp-config.php ファイルRELOCATE が定義されている場合(次の章を参照)、wp-login.php の以下のコードが実行されます。

if ( defined( 'RELOCATE' ) && RELOCATE ) { // 引越しフラッグを設定
	if ( isset( $_SERVER['PATH_INFO'] ) && ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )
		$_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], '', $_SERVER['PHP_SELF'] );

	$url = dirname( set_url_scheme( 'http://' .  $_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 ファイルを保存する。ステップ1でダウンロードした場合は上書きアップロードする。
  4. ブラウザを開き、新サーバーの wp-login.php へ移動する。例えば、新しいサイトが http://example.org の場合は http://example.org/wp-login.php とブラウザのアドレスバーに入力する。
  5. 通常と同じようにログインする。
  6. ブラウザのアドレスバーを見て、正しいサーバーにログインしているかどうか確認する。正しい場合は管理画面で「設定 > 一般設定」へ移動し、アドレス設定が療法とも正しいかどうか確認する。変更を保存するのを忘れないように。
  7. 全て正しく修正されたら、wp-config.php を編集してステップ2で追加した内容を削除する。再度リロケートメソッドを使う予定がある場合は、行をコメントアウトするか true を false に変更してもよい。

注: RELOCATE が true に設定されている場合、ログイン画面にアクセスした際のパスを使ってサイト URLが更新されます。これで新しい URL で管理画面を使うことができるようになりますが、それ以外の設定を変更するわけではありません。他の設定は手動で変更する必要があります。

重要 Leaving the RELOCATE constant in your wp-config.php file is insecure, as it allows an attacker to change your site URL to anything they want in some configurations. Always remove the RELOCATE line from wp-config.php after you're done.

データベースで URL を直接編集する

ホスティングサービス上の phpMyAdmin にアクセスできる場合は、データベース内の値を直接変更してサイトをもとに戻すとよいでしょう。

  1. データベースのバックアップを行い、サイト外にコピーを保存する。
  2. phpMyAdmin にログインする。
  3. WordPress のデータベースへのリンクをクリックする。データベース内のテーブル一覧が表示される。
  4. この一覧で wp_options を探す。注: テーブル接頭辞 wp_ をインストール時に変更した場合は名称が異なるかもしれません。
  5. 表示 アイコンをクリックする。wp_options テーブルのフィールド一覧が表示される。
  6. option_name フィールドのカラムで、siteurl を探す。: wp_options 内には複数のページがあるので、ページ送りを使って探す。
  7. 通常は行の一番左にある編集アイコン(エンピツ)をクリック。
  8. option_value の入力欄で、新しい URL を入力する。
  9. 間違えていないか確認し、「実行する」をクリックして保存。
  10. wp_options テーブルに戻るので、今度は home フィールドを探して編集アイコンをクリック。
  11. option_value の入力欄で、新しい URL を入力して保存する。

サイトの引越し

When moving sites from one location to another, it is sometimes necessary to manually modify data in the database to make the new site URL information to be recognized properly. Many tools exist to assist with this, and those should generally be used instead of manual modifications.

This is presented here as information only. This data may not be complete or accurate.

You should read the Moving WordPress article first, if attempting to move WordPress from one system to another.

テーブル接頭辞の変更

Like many WordPress administrators, you may be running several WordPress installations off of one database using various wp-config.php hacks. Many of these hacks involve dynamically setting table prefixes, and if you do end up altering your table prefix, you must update several entries within the prefix_usermeta table as well.

As in the above section, remember that SQL changes are permanent and so you should back up your database first:

If you are changing table prefixes for a site, then remember to alter the table prefix in the usermeta tables as well. This will allow the new site to properly recognize user permissions from the old site.

UPDATE `newprefix_usermeta` SET `meta_key` = REPLACE( `meta_key` , 'oldprefix_', 'newprefix_' );

テンプレートファイルの編集

In your WordPress Theme, open each template file and search for any manually entered references to your old domain name and replace it with the new one. Look for specific hand coded links you may have entered on the various template files such as the sidebar.php and footer.php.

WordPress uses a template tag called bloginfo() to automatically generate your site address from information entered in your Administration > Settings > General panel. The tag in your template files will not have to be modified.

設定ファイルの編集

You will need to update your WordPress configuration file if your database has moved or changed in certain ways.

  1. You will only need to modify the config file if:
    1. your database has moved to another server and is not running on your localhost
    2. you have renamed your database
    3. you have changed the database user name
  2. "'Make a backup copy of your wp-config.php file.'"
  3. Open the wp-config.php file in a text editor.
  4. Review its contents. In particular, you are looking for the database host entry.
  5. Save the file.

At this point, your WordPress blog should be working.

プロフィールの確認

  1. In your Administration Panels go to Settings > General . Here you will verify that the changes you made in Changing the URL above, are correct.
  2. Verify that the reference in your WordPress Address (URL) contains the new address.
  3. Verify that the reference in your "Site Address (URL)" contains the new address.
  4. If you have made changes, click Save Changes.

.htaccess ファイルの編集

After changing the information in your Administration > Settings > General panel, you will need to update your .htaccess file if you are using Permalinks or any rewrites or redirects.

  1. Make a backup copy of your .htaccess file. This is not a recommendation but a requirement.
  2. Open the .htaccess file in a text editor.
  3. Review its contents, looking for any custom rewrites or redirects you entered. Copy these to another text file for safe keeping.
  4. Close the file.
  5. Follow the instructions on the Permalinks SubPanel for updating your Permalinks to the .htaccess file.
  6. Open the new .htaccess file and check to see if your custom rewrites and redirects are still there. If not, copy them from the saved file and paste them into the new .htaccess file.
  7. Make any changes necessary in those custom rewrites and redirects to reflect the new site address.
  8. Save the file.
  9. Test those redirects to ensure they are working.

If you make a mistake, you can Restoring Your Database From Backup from your backup and try this again. So make sure it is right the first time.

その他気をつけること

There are other things you may wish to change in order to correct URLs when moving sites.

  1. Images link: image links are stored in "post_content" in the wp_posts table. You can use the similar code above to update image links.
  2. wp_options: Besides the "siteurl" and "home" items mentioned above, there are other option_value which also need revision, such as "upload path", and some plugin items (depends on what you've installed, such as widgets, stats, DMSGuestbook, sitemap, etc.)
  3. To fix widgets that contain outdated URL's, you may edit them in Dashboard / Appearance / Widgets.
  4. Do a FULL database search for any items left. MAKE SURE you know what you are changing. and go through each item for possible improper replacement.
  5. If you a running a network / have multiple sites, you will need to replace instances of the URL in the database. They are stored in many tables, including each one of the sites (blogs). Be careful in what you replace and be sure you know the meaning of the field before changing it. See the Important GUID note below for an example of what not to change.
  6. Note, if you find your old url in the database options table under 'dashboard_incoming_links', you can ignore or delete that option. It's unused since WP 3.8.

How To: Move Your WordPress Blog to a New Domain - Using the Export/Import feature to move a blog to a new domain

GUID についての重要事項

When doing the above and changing the URLs directly in the database, you will come across instances of the URL being located in the "guid" column in the wp_posts tables.

It is critical that you do NOT change the contents of this field.

The term "GUID" stands for "Globally Unique Identifier". It is a field that is intended to hold an identifier for the post which a) is unique across the whole of space and time and b) never, ever changes. The GUID field is primarily used to create the WordPress feeds.

When a feed-reader is reading feeds, it uses the contents of the GUID field to know whether or not it has displayed a particular item before. It does this in one of various ways, but the most common method is simply to store a list of GUID's that it has already displayed and "marked as read" or similar.

Thus, changing the GUID will mean that many feedreaders will suddenly display your content in the user's reader again as if it was new content, possibly annoying your users.

In order for the GUID field to be "globally" unique, it is an accepted convention that the URL or some representation of the URL is used. Thus, if you own example.com, then you're the only one using example.com and thus it's unique to you and your site. This is why WordPress uses the permalink, or some form thereof, for the GUID.

However, the second part of that is that the GUID must never change. Even if you shift domains around, the post is still the same post, even in a new location. Feed readers being shifted to your new feeds when you change URLs should still know that they've read some of your posts before, and thus the GUID must remain unchanged.

Never, ever, change the contents of the GUID column, under any circumstances.

NB: If the default uploads folder needs to be changed to a different location, then any media URLs will need to be changed in the post_content column of the posts table. For example, if the default uploads folder is changing from wp-content/uploads to images:

UPDATE wp_posts SET post_content = REPLACE(post_content,'www.domain.com/wp-content/uploads','www.domain.com/images');

マルチサイトについて気をつけること

Moving WordPress Multisite を参照。

wp-cli

wp-cli は非常に便利なシェルツールです。

wp search-replace 'http://example.dev' 'http://example.com'

または、このオプションだけ変更したい場合は以下を実行します。

wp option update home 'http://example.com'
wp option update siteurl 'http://example.com'

最新英語版: WordPress Codex » Changing The Site URL最新版との差分