XFREEでWordPressを利用していたら、Password Protectedがうまく機能しなかったので代替手段などを考えた

結論としては「Password Protectedが使いたかったな」と思っています

XFREE(旧Xdomain)はWordpressも使える無料レンタルサーバです。スマートフォン環境だと広告表示がある(WordPress利用時)というデメリットもありますが、何はともあれ無料というのは何者にも代えがたい魅力です。特にテスト環境に最適なので、ありがたく利用させていただいています。

ただ、広告以上に無視できないレベルのデメリットもあります。例えばSSL未対応である点は、その筆頭と言えるでしょう(2019年8月時点)。かつてはオプションのような扱いすら受けており、個人はもちろん通販サイトですら導入していないこともあったと思いますが、今や個人情報の取り扱いの有無に関わらず導入が推奨される、スタンダードなものに変わりつつあります。唯一SSL化できる管理画面にあっては、SSL化してアクセスすると証明書エラーが出る(当方の環境では、カスペルスキーの警告が出ました)ので、思わず半眼にさせられます。

今回、縁あってデモサイトを作成する必要ができたので、デモだから前述のようなデメリットがあってもとりあえずは許容範囲かと思い、XFREEを利用し始めました。が、「構築中に、サイト関係者のみ閲覧させるため、Wordpressサイト全体にパスワードを設定したい」と思い立って、「Password Protected」プラグインを導入してみたわけですが、XFREEのWordPress上ではうまく機能しませんでした。サイトにアクセスするとプラグインが提供するパスワード入力画面が表示されるのですが、いくらパスワードを入力しても画面が遷移せず、入力したはずのパスワードがブランク(空白)に戻る。自分のPCとスマートフォンおよび他者にも確認をお願いしてみましたが、同様の現象が発生してしまい、にっちもさっちもいきません。

軽く調べてみたところ、情報掲示板において同様の事象に直面して困っている方、そして解決方法がどうやらなさそうであるということが分かりました。
wordpressのプラグインpassword Protectの動作(XFREE ユーザーフォーラム)

XFREEではありませんが、掲示板。レンタルサーバとの相性、リダイレクトやキャッシュによる問題ではないかという推測など。
パスワードを設定するプラグインについて(ネットオウル Q&A掲示板)

こちらでもキャッシュ機能による問題に触れられていますが、当方とは異なり、ログインはできているようなので事象は異なりました。
ワードプレスのサイトにパスワード設定するならPassword Protected(シュミカコ)

スポンサーリンク

他のプラグインなどを検討(ただし最終的には乗り換え)

ということでひとまず、プラグインの利用を諦めました。しかし、2019年8月時点、求める機能を提供するプラグインはPassword Protected一強と言っても過言ではない状況です。少なくともGoogleの検索結果には、該当プラグインに関連する記事ばかりが並びます。また実際に使ってみると、「Wordpressのユーザー(管理者・購読者など)に左右されることなく、サイト全体にすっぽりと覆いをかけて、一つのパスワードを設定し、パスワードを有している人のみアクセス可にできる」というシンプルさ、使い勝手の良さは実に魅力的だと思わされます。

しかし、XFREE環境では上記のようなトラブルが起きているため、他のプラグインを導入するか、function.phpなどを自らいじって対応するより他ありません。ということで、以下、代替案に関する備忘録です。

ただ、結論としては「Password Protectedを使いたい」という方針に落ち着いたので、WordPressを移行させました。移行先のXSERVERでは、問題なくPassword Protectedが動いています。

Force Login

強制的にログインをさせるプラグイン。閲覧用ユーザーを作っておき、そのユーザー名とパスワードでログインさせる、というもの。XFREE環境で実際に使ってみたところ、当方では問題なく動きましたので、一時期はこれを代用していました。設定においては、以下のサイトが大変分かりやすく解説してあります。

【WordPress】サイト全体にログイン認証をかけるプラグイン「Force Login」の使い方

印象としてはPassword Protectedの方が圧倒的に手軽(ユーザーに関わらず一括してパスワードを設定可)ですが、会員制サイトのような閲覧制限を用いたい場合は、このようなプラグインの方が適している思います。

WP BASIC Auth

Basic認証を用いるプラグイン。有効化してみたところ、特に問題はありませんでしたが、①管理者ユーザーのユーザー名とパスワードを用いてログインする(閲覧者に管理者権限を渡してしまうことになる)②Basic認証であること(パスワード漏洩のリスクが高い)③該当プラグインの更新が停止している(2019年8月時点で、最終更新が4年前・動作未検証となっている)などの問題があります。

用途としては非公開(構築中など)のサイトを、ごく限られた人同士で閲覧するようなケースに用いられるかと思いますが、プラグインの特性上、更新されていないというのが最大のネックだなと思います。

function.phpをいじって設定する

閲覧者がアクセスした時、サイト全体にパスワードをかけるというのであれば、function.phpで設定するのもさほど難しくないようです。伝聞調であるのは、試していないからです。申し訳ありません。以下サイトなどが分かりやすいと思いましたが、前述の通り、未対応です。

【WordPress】サイト全体にパスワードをかけ、管理画面にアクセスできないようにする方法

今のところ、以上です。

かゆいところに手が届かない内容になっている気がしますが、今度、縁あって検証する機会に恵まれたら追記修正をしたいと思います。