管理画面(ダッシュボード)が真っ白でログインできない
「このページは動作していません」と表示される
こんな悩みを解決します。
エックスサーバーのサブドメインでWordPressのマルチサイト化を行った際、実際に遭遇した事象を基に、解決方法を紹介します。
レンタルサーバーはエックスサーバー、契約プランは共有サービス(X10)でしたが、原因はエックスサーバー固有のものではありません。
ConoHa WING、ロリポップ!でも同じアプローチでお試しください。
【原因】WordPressマルチサイトで管理画面が表示されない
マルチサイト化の作業後、サイトは表示されるけどダッシュボードにログインできない場合についてです。
管理画面のURLを入力しても「このページは動作していません」と表示されてしまうケースです。
結論:マルチサイト化失敗の原意は.httacessの書き方
マルチサイト化する際、ダッシュボードに表示されたコードを.httacessに記載する工程があります。
貼り付けるコードがでる画面で以下の説明が表示されます。
.htacessファイルへ追加して、他のWordPressルールを置き換えてください
「追加して」と書いてあるので、既存の.htacessのコードの後ろにコードを追加してしまうとマルチサイト化失敗します。
通常の画面は表示されるものの、管理画面が表示されなくなります。
正解は.htacessの上書き
.htacessの既存のコードを全部消して、指定のコードを貼りましょう。
これでいけます。
クリーンインストールしたワードプレス以外を利用している場合で.htacessに手を加えている場合は要確認です。
これで解決できた人はここでおさらばです。
マルチサイト化の作業を1から行いたい人は、次の項目で解説します↓
【Xサーバー】WordPressマルチサイト化の設定方法
以下の環境でのワードプレスマルチサイト化手順を解説します。
サーバーの環境
- ワードプレス: 5.5.1(最新バージョン)
- PHP: 7.4.4(利用可能な最新バージョン)
- レンタルサーバー: Xサーバー X10プラン
①ワードプレスのインストール
大本となるワードプレスをインストールしましょう。
マルチサイト化するにあたり特別な作業はありません。
今回は、レンタルサーバー提供の「WordPress簡単インストール」機能でワードプレスをインストールしました。
WordPress簡単インストールはエックスサーバー固有の名称です。
各レンタルサーバー会社にある、MySQLやFTPを使わずワードプレスをクリック操作だけでインストールする機能を使えばOKです。
②wp-config.phpの編集
wp-config.phpファイルに以下のコードを追加します。
define('WP_ALLOW_MULTISITE', true);
コードを追加する場所
「define('WP_DEBUG', false);」と「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」
間に記述します(以下サンプルです)。
「define('WP_DEBUG', false);」
define('WP_ALLOW_MULTISITE', true);
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
前後のスペースは、あってもなくても構いません。
wp-config.phpの編集方法
wp-config.phpはワードプレスのインストールディレクトリーにあります。
通常、ワードプレスの管理画面からは編集できません。
編集する方法
- FTP
- ファイルマネージャー(レンタルサーバー固有のツール)
- WP Config File Editorプラグイン
FTP
FTPはサーバーとクライアント(PC)間でファイルのやりとりをする方法です。
FFFTPなど、FTP用のソフトをパソコンにインストールする事前準備が必要です。
FTPソフトでサーバーにログインし、wp-config.phpをパソコンにダウンロードします。
パソコンでwp-config.phpにコードを加えたら、サーバーに上書きアップロードしましょう。
wp-config.phpの編集はパソコンにインストールされているメモ帳などのテキストエディターで十分です。
ファイルマネージャ(レンタルサーバー固有のツール)
FTPソフトを使わず、ウェブブラウザでサーバー上のファイルを編集する方式です。
エックスサーバーだと「ファイルマネージャ」というツールが提供されています。
その他レンタルサーバーでも同様のウェブツールがあります。
FTPと違い、対象のファイルをわざわざパソコンにダウンロードする手間いらずで作業が行えます。
WP Config File Editorプラグイン
WP Config File Editorプラグインを使うと、本来ワードプレスの管理画面上から書き込みすることが出来ないwp-config.phpが編集可能になります。
ワードプレスのプラグインは、ワードプレス本体のバージョン、使っているテーマやプラグインと競合し不具合が発生する場合があります。
画面が真っ白になったり、管理画面にログインできなくなることもあるので、障害が発生したら即停止できる準備をしておきましょう。
③「サイトネットワークの設置」が表示されているか確認
wp-config.phpにコードを追加したら、ワードプレス上に「サイトネットワークの設置」が表示されているかを確認します。
サイトネットワークの設定は、ダッシュボード上左手に表示される「ツール」をクリックすると表示されます。
表示されていない場合は?
wp-config.phpに正しくコードを追加できているかを確認しましょう。
- コードは正しいか?
- コードを貼っている位置は正しいか?
- 不要なコードが含まれていないか?
サイトネットワークが表示される設置は、以前のワードプレスのバージョン異なり、「ツール」配下です。
ワードプレス4系と5系は表示される位置が違うので、5系でのマルチサイト化作業の確認では「ツール」をクリックしましょう。
④プラグインの停止→サイトネットワークの設置をクリック
管理画面上で「サイトネットワークの設置」をクリックすると、「警告: サイトネットワーク機能を有効化する前にプラグインを無効化してください。」が表示されます。
マルチサイト化作業中は、プラグインをいったん全て停止する必要があります。
「プラグインの無効化」から有効化している全てのプラグインをいったん停止しましょう。
⑤マルチサイトのコード取得
プラグインを全て無効化した後、再度「サイトネットワークの設置」をクリックし、表示される内容を確認します。
今回はサブディレクトリーを使います。
表示されている内容に問題がなければ、「インストール」をクリック。
以下の画面が表示されます。見やすいようにテキストで書き出します。
/パス/ にある wp-config.php ファイルの
/* 編集が必要なのはここまでです。それでは、WordPress をお楽しみください。 */ という行の上に、次の内容を追加してください:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'ドメイン');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
次の内容を /パス/ にある .htaccess ファイルへ追加して、他の WordPress ルールを置き換えてください:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
⑥wp-config.phpへのコードの設置
.wp-config.phpに以下のコードを設置します。
「ドメイン」部分はインストール環境により異なりますので、先ほどの画面で表示されたコードをそのまま使います。
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'ドメイン');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
追加する場所
以下の指定があります。
/* 編集が必要なのはここまでです。
それでは、WordPress をお楽しみください。 */ という行の上に、次の内容を追加してください:
画面上で指定された位置にコードを貼りましょう。
⑦.htaccessへコードを追加
表示されたコードを、.htaccessに貼り付けます。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
貼り付ける位置
.htaccessの先頭にコードを貼り付けます。
設置する場所が適切でないと、ログインできないといった事象が発生します。
コードは.htaccessの先頭に設置しましょう。
.htaccessへコードを追加する方法
.htaccessはwp-config.phpと同じくワードプレスをインストールしたルートディレクトリに保存されています。
ワードプレスの管理画面上からは編集できません。
wp-config.php同様にFTP、ウェブツールからアクセスし更新作業を行いましょう。
どうしてもワードプレスの管理画面上から.htaccessにコードを追加したい場合は、ワードプレスの無料プラグイン「Htaccess Editor」を使いましょう。
以上でマルチサイト化作業は終了です。
サイトや管理画面が表示されるかを確認しましょう。
【補足】マルチサイト化した後の追加作業
ワードプレスのマルチ化設定が完了した後の、おまけです。
必須ではありませんが、追加でやっておいた方が良さげな作業をまとめました。
プラグインを有効化する
マルチサイト化作業のステップで、有効化していたプラグインを全部停止しています。
うっかり忘れないうちに、停止したプラグインを有効化しましょう。
パーマリンクの設定
ワードプレスのマルチサイト化作業をすると、自動的にパーマリンクが「日付」フォーマットに書き変わってしまいます。
日付け以外のパーマリンクを利用している場合は、わすれずパーマリンクの設定を設定を見直しましょう。
「設定」→「パーマリンク設定」
アップロードメディアの容量変更
マルチサイト化すると、アップローダーの最大値が1MBになります。
さすがにこの容量では不十分なので、アップロードの最大値を変更します。
変更する手順:サイトネットワーク管理のダッシュボードで作業を行います。
「設定」→「サイトネットワーク設定」
アップロード設定:
「アップロードファイルの最大サイズ」で任意の値を指定しましょう。
まとめ
ワードプレスのマルチサイト化作業で、管理画面にログインできない場合の対処方法について解説しました。
あせらず対応すれば解決します。
管理画面が表示されない場合の主な原因はwp-config.phpと.htaccessへのコードを貼り付けです。
貼り付けるコード内容だけでなく、記述する「順番」に特に注意しましょう。