マルチサイトにも対応! WordPressサイトアドレスからディレクトリ名「/wp」を消す方法


  1. Staff Blog
  2. WordPress
  3. マルチサイトにも対応! WordPressサイトアドレスからディレクトリ名「/wp」を消す方法


弊社にお問い合わせやご相談を下さるお客様の Webサイトを拝見すると、サイトアドレスにディレクトリ名(「/wp」など)が残ったままのものが多く存在します。

意図的にそうしているというよりは、サーバー側のインストール機能任せで設定してしまった結果ではないでしょうか。

そして、ご自身では消すことも出来ず(消せると知らないケースもあるかなと)そのまま運用されているかと思われます。が、販促物やカタログ・名刺などに「/wp」をつけたまま掲載するのはちょっとかっこ悪いなぁ〜と思ったりしませんか? 私は勿体なく思ったりします。

そこで、サイトアドレスに残ってしまった余計なディレクトリ名を消す方法を解説致します。そして、ちょっとハードルは上がりますが、マルチサイトアドレスから削除する方法も合わせて解説致します。

5ステップでシングルサイトアドレスから「/wp」を削除

それではシングルサイト(1つの WordPressで 1つの Webサイトを運用しているケース)での手順を 5つのステップで解説します。

例として、サイトアドレスに残ってしまったディレクトリ名は「/wp」として進めます。

1.「.htaccess」及び「index.php」ファイルをダウンロード

サーバーの「wp」ディレクトリ内、「.htaccess」及び「index.php」ファイルをダウンロードします。ここでは、FTPクライアント「Cyberduck」を使って説明します。

「wp」ディレクトリ内の「.htaccess」「index.php」をダウンロード

もし、「.htaccess」が表示されない場合は、存在しているにも関わらず項目として表示されていない状態になっているかもしれません。見えないファイル(不可視ファイル)を表示させる必要がありますので、「Cyberduck」の場合は、ツールバーの「表示」→「不可視ファイルを表示」にチェックを付けて下さい。

「.htaccess」が表示されていなければ、不可視ファイル表示する設定にする

それでも表示されない場合は、そもそも存在していない可能性があります。WordPressの管理画面から「設定」→「パーマリンク」ページを開いて、何もしないでページ下部「変更を保存」ボタンをクリックして下さい。

「.htaccess」について補足
サーバーからダウンロードしてもファイルが表示されない場合があります。その場合は、あらかじめファイル名を一時的に変更してからダウンロードして下さい。

「.htaccess」を選択してから右クリックで「名前を変更」を選択。「hogehoge.htaccess」のような感じで変更して下さい

そして、ダウンロードした「index.php」の以下、記述を変更します。

変更前
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
変更後
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );

2. 管理画面からサイトアドレス(公開 URL)を調整

WordPressの管理画面にログインしたら、「設定」→「一般」の「サイトアドレス(URL)」箇所から「/wp」を消してページ下部「変更を保存」ボタンをクリックして下さい。

管理画面にログインして「設定」→「一般」の「サイトアドレス(URL)」箇所を修正

3.「.htaccess」及び「index.php」ファイルをアップロード

先ほどダウンロードした「.htaccess」と、修正した「index.php」ファイルを「wp」ディレクトリと同じ階層(ドメイン直下)にアップロードして下さい。

「wp」ディレクトリと同じ階層にアップロード

「.htaccess」のファイル名を変更した場合は、アップロードしてから元に戻して下さい。

注意点
「wp」フォルダ内の「.htaccess」と「index.php」ファイルはそのまま残しておいて下さい。

4. 管理画面にログインしてパーマリンクを調整

ブラウザで管理画面(「wp」あり = これまでと同じ URL)にアクセスしてログインします。そして、「設定」→「パーマリンク」ページを開いて、何もしないでページ下部「変更を保存」ボタンをクリックして下さい。

5. 挙動確認

ブラウザで公開ページを確認して、「wp」がない状態で表示されているか確認。以上が、シングルサイトアドレスの調整になります。

9ステップでマルチサイトアドレスから「/wp」を削除

それではマルチサイト(1つの WordPressで複数の Webサイトを運用しているケース)での手順を 9つのステップで解説します。

マルチサイトの場合、管理画面からサイトアドレスの変更が出来ず直接データベースを触るので、特に注意が必要です。

シングルサイト同様、サイトアドレスに残ってしまったディレクトリ名は「/wp」として進めます。

1.「.htaccess」及び「index.php」ファイルをダウンロード

サーバーの「wp」ディレクトリ内、「.htaccess」及び「index.php」ファイルをダウンロードし「index.php」の以下記述を変更します。

変更前
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
変更後
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );

2.「.htaccess」及び「index.php」ファイルをアップロード

ドメイン直下(「wp」ディレクトリの 1つ上の階層)に「.htaccess」及び「index.php」をアップロード。シングルサイト同様、「wp」ディレクトリ内の「.htaccess」及び「index.php」はそのまま残しておいて下さい。

3.「wp-config.php」ファイルをダウンロード

サーバーの「wp」ディレクトリ内、「wp-config.php」ファイルをダウンロードして、以下記述を変更します。

変更前
define('WP_DEBUG', false);
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'hogehoge.com');
define('PATH_CURRENT_SITE', '/wp/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
変更後
define('WP_DEBUG', false);
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'hogehoge.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
ポイント
6行目の変化に注目して下さい。

4.「wp-config.php」ファイルをアップロードして上書きする

サーバーの「wp」ディレクトリ内に「wp-config.php」をアップロードして、上書きします。

5. データベース内の URLを一括置換して「/wp」を削除する

データベース内に残っている、「/wp」を一括置換して削除します。「Search-Replace-DB-master」というスクリプトを使います。

1.「Search-Replace-DB-master」をインストール

下記より、zipファイルをダウンロードして下さい。

zipファイルダウンロード
Search-Replace-DB-master

zipファイルを解凍したら、「Search-Replace-DB-master」を「wp-config.php」ファイルがある階層にアップロードします。

2. ブラウザからアクセス

「ドメイン名/wp/Search-Replace-DB-master」と、ブラウザのアドレスバーに入力してアクセス。

3.「search / replace」欄に必要事項を入力

「replace」と書かれた欄には「検索対象のURL =『wp』ありの URL」、「with」と書かれた欄には「置換対象の URL =『wp』なしの URL」を入力します。「http(s)://」と最後の「/(スラッシュ)」は省いて入力します。

検索対象 URLと置換対象 URLを入力

4.「databese」欄を確認

「wp-config.php」に記述されたデータベースの情報を読み込んで表示されていますが、念のために確認して下さい。

「wp-confi.php」内の情報を取得して表示されているが、内容を確認しておく

5.「tables」欄を確認

全てを検索対象とするのであればそのままで問題ないですが、検索対象を選ぶ際には Commandキーなどで選択して下さい。

全てを対象にするなら「all tables」、検索対象を選ぶのならば「select tables」にチェックを付ける

6.「actions」で処理を実行

「dry run」「live run」のいずれかで処理を開始しますが、置換の状況が表示される「live run」がおススメです。

「live run」クリック
「live run」実行中、処理が一つずつ表示されていく

7.「delete」でサーバーから「Search-Replace-DB-master」を削除

処理を実行して問題なく置換が出来たら、「delete me」ボタンをクリックしてサーバーから「Search-Replace-DB-master」を削除します。
書き換えが出来るスクリプトがサーバーに乗っかったままではセキュリティ的にとても危険です。

「delete me」クリックで、サーバーから「Search-Replace-DB-master」を削除
さらに詳しい機能について
こちらの記事「WordPressでドメインやディレクトリ変更」も参照させていただきました。詳しい機能の解説については合わせてご確認ください。

6. データベース内「wp_options」テーブルを調整

データベース内「wp_options」テーブルを確認、「option_name:siteurl(管理画面の URL)」を調整し、末尾に「/wp」を付与する。

7. データベース内「wp_site」「wp_blogs」テーブルを調整

データベース内「wp_site」「wp_blogs」テーブルを確認、ドメインとパスを編集

8. 管理画面にログインしてパーマリンクを調整

ブラウザで管理画面(「wp」あり = これまでと同じ URL)にアクセスしてログインします。そして、「設定」→「パーマリンク」ページを開いて、何もしないでページ下部「変更を保存」ボタンをクリックして下さい。

9. 挙動確認

ブラウザで公開ページを確認して、「wp」がない状態で表示されているか確認。増やしたサイトも一緒に確認をして問題がなければマルチサイトアドレスの調整は完了です。

まとめ

シングルサイトに関しては、そこまでハードルは高くないのかなと思ったりもしますが、マルチサイトの場合はデータベースを触ったりと、慣れてない方からすればちょっと緊張する作業かもしれません。

シングル・マルチ共に実際に作業を行って頂く際にはバックアップを取っておいて、うまくいかなかった場合にいつでも復旧が出来るようにして進めてみて下さい。

この記事を書いた人

伊藤 晋之ディレクター
2015年の「WordFes Nagoya」では、実行委員長を務めさせていただきました。
フルサイト編集に対応したブロックテーマ X-T9

フルサイト編集対応ブロックテーマ

WordPress テーマ X-T9 は、WordPress 5.9 から実装されたフルサイト編集機能に対応した「ブロックテーマ」と呼ばれる新しい形式のテーマです。
ヘッダーやフッターなど、今までのテーマではカスタマイズが難しかったエリアもノーコードで簡単・柔軟にカスタマイズする事ができます。

パターンを使って

よりクオリティの高いサイトに

パターンとは、WordPressのブロックを組み合わせて作ったデザインテンプレートのようなもの。プロのデザイナーが制作したパターンを300以上公開中!コピペしながら高品質なサイトを簡単に作れます。

VK AB Testing は、ABテストを実施するための WordPress 用プラグインです。ブロックエディターでテストパターンを自由に作成でき、ランダム表示とクリック計測が可能です。Webサイトや広告などの施策の改善にぜひご活用ください。


このデモサイトは Vektor,Inc. のテーマとプラグインで構築されています。ご購入や詳細情報は下記のリンクもご参考ください。

PAGE TOP