• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(誤字修正)
(HelpHub 移動メッセージ)
 
1行目: 1行目:
WordPress のシングルインストールでは、「設定 → 一般設定」画面に「WordPress アドレス (URL)」と「サイトアドレス (URL)」という2つの欄があります。これらは「ホーム」および「サイト URL」設定と呼ばれることもあります。両方とも、WordPress がサイトのインストール場所を理解するために重要な設定です。管理画面やフロントエンドの URL 表示をコントロールしたり、WordPress のコード内で使われたりしています。
+
このページは https://ja.wordpress.org/support/article/changing-the-site-url/ へ移動しました。
 
+
* 「WordPress アドレス (URL)」設定は、WordPress のコアファイルを配置する場所のアドレスです。
+
* 「サイトアドレス (URL)」設定は、WordPress サイトに読者がアクセスするために使うアドレスです。
+
 
+
'''注''': 両方の設定には http:// の部分を含め、最後はスラッシュ("/")をつけないようにしてください。
+
 
+
時々これらの設定を変更(または修正)する必要がある場合もあります。片方または両方の値を変更してサイトが正しく動作しなくなった時などです。このページでは、この設定を管理画面以外から直接変更する方法を紹介します。
+
 
+
WordPress を引っ越す際のための追加情報も含まれていますが、壊れた状態のサイトを正しく直したいだけの場合は無視してください。
+
<div class="important">
+
<strong>注:</strong> 以下の手順はシングルインストールの WordPress 向けのものです。WordPress マルチサイトをお使いの場合は、データベースを手動で編集する必要があります。
+
</div>
+
 
+
__TOC__
+
 
+
== サイト URL の変更<div ="Changing_the_Site_URL"></div> ==
+
 
+
サイト URL を手動で変更するには、簡単な方法が4つあります。どれもほとんど同じような結果が得られるでしょう。
+
 
+
=== wp-config.php の編集<div id="Edit_wp-config.php"></div> ===
+
 
+
[[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 の編集<div id="functions.php"></div> ===
+
 
+
これらの値を間違って変更したとしても、サイトへの [[FTP_Clients|FTP]] アクセスができる場合は以下の方法でサイトを元の状態に戻すことができます。
+
 
+
1. サイトに FTP 接続し、現在有効化されているテーマの 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|テキストエディタ]]で編集し、サイトへ再アップロードすることになります。
+
 
+
2. 最初の "<?php" 行のすぐ後に以下の2行を追加する。
+
update_option( 'siteurl', 'http://example.com' );
+
update_option( 'home', 'http://example.com' );
+
 
+
もちろん、example.com ではなく自分の URL を使ってください。
+
 
+
3. ファイルをサイトの元あった位置にアップロードする。
+
 
+
4. ログインまたは管理画面を何度か読み込み直す。サイトが元の状態になっているはずです。
+
 
+
{{Message|
+
| background = #FCECAD
+
| border = #CCCCCC
+
| color = #000000
+
| text = <strong>重要</strong> functions.php ファイルに追加した行をそのままにしないこと。サイトが元に戻ったらすぐに該当行を削除してください。
+
}}
+
 
+
""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
+
update_option('siteurl','http://example.com');
+
update_option('home','http://example.com');
+
 
+
現在有効化されているテーマのディレクトリにアップロードし、上記のステップ4を行います。その後ファイルを削除してください。
+
<!-- あまり使われないメソッドだと思うので混乱を避けるためにコメントアウトします。 --~~~~
+
Here are some additional details that step you through transfering a LAN-based wordpress site into an externally accessible site as well enabling editing the wordpress site from inside the LAN.
+
 
+
Two important keys are router/firewall modifications and the "wait 10+ minutes" after making the changes at the end.
+
 
+
# Using ssh to log into your server (nano is a server preinstalled text editor)
+
$ nano /var/www/books/wp-content/themes/twentyeleven/functions.php
+
# add lines just after <php?
+
update_option('siteurl','http://your.site.url:port/yourblog');
+
update_option('home','http://your.site.url:port/yourblog');
+
# refresh your web browser using your external site url
+
http://your.site.url:port/yourblog
+
$ nano /var/www/books/wp-content/themes/twentyeleven/functions.php<br>
+
# remove those lines you just added (or comment them out)<br>
+
# access your router (these steps are for pfSense, other routers should have similar settings to look for/watch out for)<br>
+
# add to firewall/nat table a line like this
+
wan/tcp/port/LAN.server.IP/80
+
# add to firewall/rules table a line like this
+
tcp/*/port/LAN.server.IP/port/*
+
# uncheck the box at System/advanced/network address translation/Disable NAT Reflection
+
"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."
+
 
+
Then go do something for ten minutes and when you get back see if the external url http://your.site.url:port/yourblog from a LAN browser brings the page up correctly.
+
-->
+
 
+
=== リロケート・メソッド<div id="Relocate_method"></div> ===
+
 
+
WordPress はサイトを別のサーバーに移す時にサイトをすぐに動作させるのをサポートするため、自動リロケートメソッドに対応しています。
+
 
+
==== コードの仕組み <div id="Code_function"></div> ====
+
 
+
[[wp-config.php_の編集|wp-config.php ファイル]]で <tt>RELOCATE</tt> が定義されている場合(次の章を参照)、wp-login.php の以下のコードが実行されます。
+
 
+
<pre>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 );
+
}</pre>
+
 
+
====ステップ<div id="Steps"></div>====
+
 
+
# サーバー上の <tt>wp-config.php</tt> を開く(またはダウンロードする)。
+
# "define" 宣言の後(「編集が必要なのはここまでです !」という行の直前)に、新しい行を追加し <code>define('RELOCATE',true);</code> と入力する。
+
# <tt>wp-config.php</tt> ファイルを保存する。ステップ1でダウンロードした場合は上書きアップロードする。
+
# ブラウザを開き、新サーバーの <tt>wp-login.php</tt> へ移動する。例えば、新しいサイトが <tt>http://example.org</tt> の場合は <tt>http://example.org/wp-login.php</tt> とブラウザのアドレスバーに入力する。
+
# 通常と同じようにログインする。
+
# ブラウザのアドレスバーを見て、正しいサーバーにログインしているかどうか確認する。正しい場合は管理画面で「設定 > 一般設定」へ移動し、アドレス設定が両方とも正しいかどうか確認する。変更を保存するのを忘れないように。
+
# 全て正しく修正されたら、<tt>wp-config.php</tt> を編集してステップ2で追加した内容を削除する。再度リロケートメソッドを使う予定がある場合は、行をコメントアウトするか true を false に変更してもよい。
+
 
+
'''注:''' <tt>RELOCATE</tt> が true に設定されている場合、ログイン画面にアクセスした際のパスを使ってサイト URL が更新されます。これで新しい URL で管理画面を使うことができるようになりますが、それ以外の設定を変更するわけではありません。他の設定は手動で変更する必要があります。
+
 
+
{{Message|
+
| background = #FCECAD
+
| border = #CCCCCC
+
| color = #000000
+
| text = <strong>重要</strong> RELOCATE 定数を wp-config.php ファイル内に残しておくのはセキュリティ上問題があります。これを行うと、攻撃者が一部の設定内におけるサイトの URL を好きなものに変更することができるからです。作業後は必ず、RELOCATE の行を wp-config.php から削除しましょう。
+
}}
+
 
+
=== データベースで URL を直接編集する<div id="Changing_the_URL_directly_in_the_database"></div> ===
+
 
+
ホスティングサービス上の phpMyAdmin にアクセスできる場合は、データベース内の値を直接変更してサイトをもとに戻すとよいでしょう。
+
 
+
# [[Backing Up Your Database|データベースのバックアップ]]を行い、サイト外にコピーを保存する。
+
# [[phpMyAdmin]] にログインする。
+
# WordPress のデータベースへのリンクをクリックする。データベース内のテーブル一覧が表示される。
+
# この一覧で '''<tt>wp_options</tt>''' を探す。'''注:''' テーブル接頭辞 <tt>wp_</tt> をインストール時に変更した場合は名称が異なるかもしれません。
+
# '''表示''' アイコンをクリックする。'''<tt>wp_options</tt>''' テーブルのフィールド一覧が表示される。
+
# '''<tt>option_name</tt>''' フィールドのカラムで、'''<tt>siteurl</tt>''' を探す。'''注''': <tt>wp_options</tt> 内には複数のページがあるので、ページ送りを使って探す。
+
# 通常は行の一番左にある'''編集'''アイコン(エンピツ)をクリック。
+
# '''<tt>option_value</tt>''' の入力欄で、新しい URL を入力する。
+
# 間違えていないか確認し、「実行する」をクリックして保存。
+
# '''<tt>wp_options</tt>''' テーブルに戻るので、今度は '''<tt>home</tt>''' フィールドを探して編集アイコンをクリック。
+
# '''<tt>option_value</tt>''' の入力欄で、新しい URL を入力して保存する。
+
 
+
== サイトの引越し <div id="Moving_Sites"></div> ==
+
 
+
サイトをある URL から別の URL に移動する際、新しいサイトの URL 情報が適切に認識されるよう手動でデータベース内のデータを修正する必要があることもあります。この作業を補助するツールはたくさんあり、通常は手動の修正の代わりにそれらを使うべきです。
+
 
+
以下は、情報としてのみ提供しています。このデータは完全ではなかったり間違っていたりする可能性があります。
+
 
+
WordPress をあるシステムから別のシステムに移動しようとしている場合は、まず[[WordPress の引越し]]のページを呼んでください。
+
 
+
=== テーブル接頭辞の変更 <div id="Altering_Table_Prefixes"></div> ===
+
 
+
多くの WordPress 管理者と同じように、<tt>wp-config.php</tt> ハックを使いひとつのデータベースで複数のインストールを運営しているかもしれません。これらのハックの多くには動的にテーブル接頭辞を設定するような変更が含まれており、テーブル接頭辞を変更する場合には ''prefix_'' ユーザーメタテーブル内の項目を''必ず''更新する必要があります。
+
 
+
上記のセクションと同じく、SQL の変更は永久的なものであり、まずデータベースをバックアップすべきであることを忘れないで下さい。
+
 
+
サイトのテーブル接頭辞を変更する場合、ユーザーメタテーブル内のテーブル接頭辞も変更するようにしてください。こうすることで、新しいサイトが古いサイトでの権限を正しく認識してくれるでしょう。
+
 
+
<pre>UPDATE `newprefix_usermeta` SET `meta_key` = REPLACE( `meta_key` , 'oldprefix_', 'newprefix_' );</pre>
+
 
+
=== テンプレートファイルの編集 <div id="Changing_Template_Files"></div> ===
+
 
+
[[Using Themes|WordPress テーマ]]内で、各テンプレートファイルを開いて以前のサイト URL を探して新しいものと置換しましょう。<tt>sidebar.php</tt> や <tt>footer.php</tt> などに手動で入力したリンクを探してみてください。
+
 
+
WordPress は <tt>[[テンプレートタグ/bloginfo|bloginfo()]]</tt> というテンプレートタグを使い、[[管理画面]] > [[管理画面#General|設定]] > [[管理画面/一般設定|一般設定]]で入力した情報を元に自動的にサイトアドレスを生成します。テンプレートファイル内のタグは変更されません。
+
 
+
=== 設定ファイルの編集 <div id="Changing_the_Config_file"></div> ===
+
 
+
データベースが移動したり、何か変更があったりした場合は WordPress の設定を更新する必要があります。
+
 
+
# 設定ファイルを更新する必要があるのは以下の場合のみです。
+
## データベースが他のサーバーに引っ越され、<tt>localhost</tt> で運用されていない
+
## データベース名を変更した
+
## データベースのユーザー名を変更した
+
# '''<tt>wp-config.php</tt> ファイルのバックアップコピーを作成する。'''
+
# [[Glossary#Text editor|テキストエディタ]]で <tt>wp-config.php</tt> ファイルを開く。
+
# [http://codex.wordpress.org/Editing_wp-config.php#Database_host データベースホストの項目]を探して更新する。
+
# ファイルを保存する。
+
 
+
この時点で、WordPress サイトが正しく動作しているはずです。
+
 
+
=== プロフィールの確認 <div id="Verify_the_Profile"></div> ===
+
 
+
# [[管理画面]]で、[[管理画面#General|設定]] > [[管理画面/一般設定|一般設定]]に移動します。ここで、上記「[Changing_The_Site_URL#Changing_the_URL URL の変更]」 で行った変更が正しいか確認します。
+
# '''WordPress アドレス (URL)''' に新しいアドレスが含まれているか確認する。
+
# '''サイト アドレス (URL)''' に新しいアドレスが含まれているか確認する。
+
# もしここで変更を行った場合は'''変更を保存'''をクリック。
+
 
+
=== .htaccess ファイルの編集 <div id="Changing_the_.htaccess_file></div> ===
+
 
+
[[管理画面]] > [[管理画面#General|設定]] > [[管理画面/一般設定|一般設定]]で情報を変更した後、[[Using Permalinks|パーマリンク]]や URL リライト、リダイレクトwを使っている場合は <tt>.htaccess</tt> ファイルを更新する必要があります。
+
 
+
# '''<tt>.htaccess</tt> ファイルのバックアップを作成する。'''これは推奨ではなく必須の作業です。
+
# <tt>.htaccess</tt> ファイルを[[Glossary#Text editor|テキストエディタ]]で開く。
+
# 自分で追加したカスタムリライトやリダイレクトを探す。これらを他のテキストファイルに'''コピー'''して安全に保っておく。
+
# ファイルを閉じる。
+
# パーマリンク画面の支持に従って <tt>.htaccess</tt> ファイルのパーマリンクを更新する。
+
# 新しくなった <tt>.htaccess</tt> ファイルを開き、カスタムリライトやリダイレクトがまだあるかどうか確認する。なかったばあいは、保存しておいたファイルからペーストして <tt>.htaccess</tt> ファイルに書き写す。
+
# カスタムリライトやリダイレクトに新しいサイトのアドレスを反映させる。
+
# ファイルを保存する。
+
# リダイレクトなどをテストし、きちんと動作しているか確かめる。
+
 
+
もしも間違った場合は[[データベースの復元|バックアップからのデータベースの復元]]を行い再度試すことができます。
+
 
+
=== その他気をつけること <div id="Additional_items_of_note"></div> ===
+
 
+
サイトを引っ越す際には、他にもアドレスを修正するために変更する必要があるかもしれない点があります。
+
 
+
# 画像リンク: 画像リンクは wp_posts テーブルの "post_content" に保存されています。上で紹介したコードと似たようなものを使って、画像リンクを更新できます。
+
# wp_options: 上で言及した "siteurl" と "home" 項目以外にも option_value 内で更新が必要なものがあります。例えば "upload path" や、一部のプラグイン関連項目 (ウィジェット、統計情報、サイトマップなど、インストールしたものによる) などです。
+
# 古い URL を含むウィジェットを修正するには、外観 > ウィジェット画面からの更新が必要な場合もあります。
+
# 残っている項目がないかどうか、データベースの一斉検索を行いましょう。変更したものが何なのか必ずしっかり理解し、誤って置換したものがないかどうか各項目を確認しましょう。
+
# マルチサイトネットワークを運用していたり、複数のサイトを持っている場合は、データベース内の URL インスタンスを置換する必要があります。URL は各サイトのテーブルを含む複数のテーブルに保管されています。置換する場合は最新の注意を払い、変更する前にフィールドが何を意味しているか理解しておきましょう。以下にある「GUID についての重要事項」を読んで変更すべきでないものを知っておいてください。
+
# 注: 'dashboard_incoming_links' 内のデータベースオプションテーブルに旧 URL を見つけた場合、このオプションを削除するか無視してください。これはバージョン 3.8 以降使われていません。
+
 
+
[http://wphacks.com/how-to-move-wordpress-blog-new-domain-name/ How To: Move Your WordPress Blog to a New Domain] - エクスポート・インポート機能を使った新しいドメインへのサイトの引越し
+
 
+
==== GUID についての重要事項 <div id="Important_GUID_Note"></div> ====
+
 
+
上記の作業を行いデータベース内で直接 URL を変更している際、wp_posts テーブルの "guid" カラム内に URL が含まれているのに気付くかもしれません。
+
 
+
'''このフィールドに含まれる内容は''変更しない''ことは非常に重要です。'''
+
 
+
"GUID" という言葉は "Globally Unique Identifier (グローバル一意識別子)" の略です。このフィールドには「すべてのスペースと時間に置いてユニークであり、 絶対に変更されない」という投稿の識別子が含まれています。GUID フィールドは主に、WordPress のフィードを作るのに使われます。
+
 
+
フィードリーダーがフィードを読み込む際、GUID フィールドの内容を使って項目が以前に表示されたことがあるかを認識します。やり方は色々ありますが、最も一般的な方法は過去に表示された項目の GUID の一覧を保持し、「既読としてマーク」のようにするものです。
+
 
+
したがって、GUID を変更するとフィードリーダーが突然ユーザーの購読画面ですべてのコンテンツを新しいものとして表示してしまいます。これは、ユーザーをイライラさせてしまうかもしれません。
+
 
+
GUID フィールドが「グローバルで (全世界的に)」ユニークであるために、URL または何らかの URL 的表現が使われるというのが受け入れられている慣習です。このため、もしあなたが example.com ドメインを保有している場合、あなたしか example.com を使っている人はいないため、これはあなたとあなたのサイトにとってユニークであると言えます。これが WordPress がパーマリンクやそのような形式を GUID に使っている理由です。
+
 
+
しかし、GUID は''絶対に''変更してはなりません。ドメインを変更しても、新しいアドレスに移動したとしても投稿はやはり同じ投稿です。新しい URL のフィードを読み込んだフィードリーダーは過去にユーザーが投稿を読んだかどうか認識する必要が有るため、GUID は同じものに保つ'''必要があります'''。
+
'''どんな状況においても、GUID カラムの内容は絶対に変更しないでください。'''
+
 
+
もしデフォルトアップロードフォダーを他の位置に移動させる必要がある場合、posts テーブルの '''post_content''' カラムでメディア URL を更新する必要があります。例えば、デフォルトのアップロードフォルダーが '''wp-content/uploads''' から '''images''' へ変更となる場合は以下のとおりです。
+
 
+
<pre>UPDATE wp_posts SET post_content = REPLACE(post_content,'www.domain.com/wp-content/uploads','www.domain.com/images');</pre>
+
 
+
=== マルチサイトについて気をつけること<div id="Multi-site_notes"></div> ===
+
 
+
[[WordPress の引越し#WordPress マルチサイトの移動|WordPress マルチサイトの移動]]ページを参照。
+
 
+
=== wp-cli ===
+
 
+
[http://wp-cli.org/ wp-cli] は非常に便利なシェルツールです。
+
 
+
wp search-replace 'example.dev' 'example.com' --skip-columns=guid
+
 
+
または、このオプションだけ変更したい場合は以下を実行します。
+
 
+
wp option update home 'http://example.com'
+
wp option update siteurl 'http://example.com'
+
 
+
{{原文|Changing The Site URL|157516}}<!-- 2016-06-30T23:38:18‎ Brgweb 版 -->
+
 
+
{{DEFAULTSORT:さいとゆうああるえるのへんこう}}
+
[[Category:上級トピック]]
+
 
+
[[en:Changing The Site URL]]
+

2020年5月29日 (金) 09:14時点における最新版

このページは https://ja.wordpress.org/support/article/changing-the-site-url/ へ移動しました。