たった一つの小さな変更がどれほどの違いを生むか、また、そのような小さな違いが─うまく使いこなせないときに─どれだけの混乱を招くか。その影響を過小評価することはできません。
ログイン後、ユーザーが特定のページにリダイレクトされることはご存知でしょうか。ログイン後の遷移は、利用者の手間を省いたり、混乱の発生を防いだりと、ユーザーエクスペリエンスに大きな影響を与えます。
この細かな機能を活用するためには、何から始めればいいのでしょうか?WordPressサイトでのログイン後に実行されるリダイレクトの挙動に変更を加える方法、具体的には、プラグインを使ったやり方、そして、PHPコードの記述によるやり方をご説明します。
WordPressサイトにおけるログイン後のリダイレクト
デフォルトでは、ログイン後、すべてのユーザーに管理画面が表示されます。それぞれの役割に応じて見たり操作したりできるものに違いはありますが(たとえば、購読者は自分のプロフィールを編集することしかできません)、それでも、これは常に望ましい挙動とは言えません。
サイトの種類によっては、新規ログインがあった場合に別のページを表示する方がいいこともあります。役割に応じてページのリダイレクトを管理するのも一つの手です─例えば、管理者には管理画面を、その他ユーザーにはトップページを表示するなど。
考えられるパターンをいくつかご紹介します。
- ユーザーを直接ホームページに誘導する(バックエンドの操作を回避することができる)
- ユーザーを公開プロフィールページに誘導する
- ログインする前に表示されていたページに戻す
- 会員制サイトにログインしたユーザーを対象に、記事全文や動画の保存されているページに遷移
- フォーラムのメインページを表示する
- (ECサイトに便利な仕組みとして)買い物客にストアページ、ウィッシュリスト、ショッピングカートなどを表示する
多くのテーマやプラグインにより、このような挙動に変更が加えられることがあります。ログイン後に突然トップページにリダイレクトされるようになったのでその挙動を元に戻したい、というケースも考えられます。
これは、UXの要素としては小さなものです。ほとんどのウェブサイトで変更が必要になることはなく、気にすることも少ないでしょう。しかし、ユーザーに驚くほど大きな影響を与えることはたしかです。サイトのナビゲーション面での混乱を避けるために、無視はできません。
残念ながら、WordPressそのものには、ログイン後に表示されるページを変更する設定はありません。別のページを表示するには、プラグインを使用するか、コードを記述する必要があります(Kinstaのお客様であれば、サイト管理画面からビルトインのリダイレクトルールを設定可能です)。
WordPressのユーザーをログイン後にリダイレクトする2つの方法
この小さいながらも重要な変更を行う方法は、大きく分けて2つあります。プラグインをダウンロードするか、コードを調整するかです。
自分でのコード記述には、いくつかのメリットがあります。PHPに精通しているなら、ログイン、リダイレクトの動作を完全に制御できます。サードパーティのプラグインに頼る必要はありません。プラグインの数を増やしてサイトの低速化を招いてしまう心配もないでしょう。
一方、誰もがコードの書き方を知っているわけではなく、1行でも間違えるとサイトが台無しになってしまうことがあるので、初心者が不用意に手を出すのはおすすめできません。プラグインの方が使いやすく、コードが正しく機能しているかどうかを確認するための試行錯誤も少なくて済みます。
Kinstaでは、プラグインやコードなしでページのリダイレクトを設定可能です。リダイレクトルールを使うことで、両方の強みを手にすることができます。
そうでない場合には、コードを自力で記述できる状態を除いては、プラグインをインストールすることをおすすめします。
プラグインを使ったリダイレクト
プラグインは、ちょっとした設定だけで利用できる、手っ取り早い方法です。そこで、ログイン後に表示されるURLの編集に便利なおすすめのプラグインを3つピックアップしてご紹介します。
ちなみに、この機能を持つプラグインは他にもあります。例えば、WPForms(User Registration Formsアドオンを使用)やWP User Managerでも、他の機能にあわせて、リダイレクトを設定可能です。
テーマによってはリダイレクトページに変更を加えるものもありますが、特にこの機能に狙いを定めて探すのは簡単ではありません。
前置きはこのあたりにして、3つのおすすめプラグインを見てみましょう。どれも、基本的にログイン周りのリダイレクトに特化しています。ファイルサイズも小さく、不要な機能を追加する心配もありません。
LoginWP
1つ目のプラグインはLoginWPです。特定のユーザーや役割に対してリダイレクトルールを設定したり、ユーザー登録時のリダイレクトを調整したりする機能があります。
有料版では、10以上の別のプラグインと統合でき、最も顕著な機能は、ログイン前に表示されていたページを再び表示する機能です。それが目的であれば、有料版を購入するか、別のプラグインを利用する必要があります。
LoginWPの基本的な機能は無料で使用でき、そのリダイレクトルールは有用かつシンプルです。
利用するには、「プラグイン」>「新規追加」から「LoginWP」をインストールし、サイドバーに表示される「LoginWP」>「Redirections」に移動します。
ここで変更できる設定はいくつかありますが、「All Other Users」の項目にある「Login URL」のフィールドが重要です。ここで好きなURLを指定し、「Save Changes」をクリックします。これで、ログインするすべてのユーザーに設定が適用されます。
特定の役割など、条件付きのURLリダイレクトを設定するには「Add new」ボタンをクリックします。個々のユーザー、役割、さらには複数の役割にまたがる特定の権限に基づいてルールを設定することができます。
2つのルールが競合した場合、数値の小さい方が優先されるように「Order」を設定します。次に、リダイレクト先のURLを「Login URL」ボックスに入力し、「Save Rule」をクリックします。
簡単です。このルールを使って、管理者をグローバルなリダイレクトルールから除外したり、特定のユーザーを特別なページに誘導したりできます。
Sky Login Redirect
Sky Login Redirectは無料のプラグインにしては非常に強力です。これだけで、リダイレクトルールの設定、ログインページの外観のカスタマイズ、「Remember Me/記録する」ボックスの自動チェックやページ上の特定のリンクの削除といった細かな調整をすることができます。
有料版では、WooCommerceやEasy Digital Downloadsなどのプラグインと統合でき、さらにコンテンツ制限などの機能も追加されます。
Sky Login Redirectをインストールしたら、サイドバーに表示される「Login Redirect」を押し「Redirects」タブに移動します。その後、「Add Entry」をクリックします。
すべてのユーザー、特定のユーザー、特定の役割のどれをリダイレクトするかを選択します。次に、ログインとログアウトを前のページにリダイレクトするか、特定のページ/URLにリダイレクトするか、WordPressの管理ページにだけリダイレクトするかを選択します。
ドラッグ&ドロップでリダイレクトルールの実行順を変更できます(ユーザーが複数の役割を兼任している場合などに有効)。数字が小さいほど優先順位が高いので、ユーザー固有のものを先に、一般的なものを後に設定します。
完了したら、右上の「Save Changes」をクリックします。
ユーザーまたは役割固有のルールを作成する場合、残りのユーザーに適用するルールについても、あわせて設定する必要があります。これは、管理ページにリダイレクトするデフォルトの動作を維持するだけでもかまいません。
WP Login and Logout Redirect
可能な限りシンプルでかさばらないプラグインをお探しなら、WP Login and Logout Redirectは検討に値します。先の2つのプラグインの機能が余分であれば特に、この選択肢がいいかもしれません。
インストールすると、サイドバーに「Redirect Options」が表示されます。これをクリックすると、「Login Redirect URL」と「Logout Redirect URL」という2つのボックスが表示されます。URLを入力して、「Save Changes」をクリックすると完了です。
このプラグインには、他にも機能があります。「Users」>「All Users」に移動すると、「Last Login」というものがあります。ユーザーが最後にログインした日と時間を表示するものです。小さいながらも、気の利いた機能です。
コード編集によるリダイレクト
プラグインを使いたくない、プラグインがうまく機能しない、あるいはプラグインではできないことをしたい場合、コードを記述することができます。この選択肢は、上級ユーザー、PHPに既に精通している人にのみお勧めします。もちろん、不安であれば、いつでも開発者を雇うこともできます。
コードを実際に挿入し実行する前に、念のため、ウェブサイトのバックアップを取ることをおすすめします。メンテナンスモードになったり、無限リダイレクトのループにはまったりと、何か問題が発生した場合は、バックアップを復元しましょう。
リダイレクトをコードで実装するには、login_redirectフィルタに慣れておく必要があります。それでは、このフィルタがどのように機能するか見てみましょう。
とても簡単な例を扱います。
function custom_login_redirect() {
return 'home_url()';
}
add_filter('login_redirect', 'custom_login_redirect');
このコードにより、サイトでログインしたすべてのユーザーがトップページにリダイレクトされるようになります。シンプルな内容です。必要であれば、「home_url()」を他のURLに変更することもできます。例えば、「home_url()」を 「/blog」に置き換えると、ブログページが表示されます。
さて、コードを作成したら、どこに貼り付けるか。2つの選択肢があります。ひとつはテーマファイルを直接編集する方法、もうひとつはコードを挿入できるプラグインを使用する方法です。
テーマファイルを編集する前には、必ず子テーマを作成してください。そうしないと、WordPressやテーマの更新のたびに、リダイレクトルールが上書きにより消えてしまう可能性があります。
FTPやコードエディターでWordPressのファイルを編集することもできますが、必須ではありません。WordPressにはファイル編集機能が内蔵されています。「外観」から「テーマファイルエディター」へと進みます。右側の「テーマファイル」のサイドバーで、「テーマ関数(functions.php)」を探し、それをクリックします。一番下までスクロールして、そこに上記のコードを貼り付けます。その後「ファイルを更新」をクリックします。
そして、ログアウト後、再びログインしてテストしてみてください。すべてが期待通りに動作するはずです。
子テーマを扱うのが面倒であれば、コードを挿入できるプラグインを別途インストールするのがおすすめです。今回は、Code Snippetsというプラグインを使用します。
これを利用する大きなメリットとして、コードの編集、取り消しなどの必要性が生じた時に、いつでも簡単に見つけることができます。各コードスニペットは、プラグインのページから編集可能です。
Code Snippetsプラグインをインストールし、「Snippets」>「Add New」に移動します。「Functions」タブが表示されていることを確認し、お好みのコードまたはこの記事で紹介している例を貼り付けます。設定は「Run snippet everywhere」のままで大丈夫です。その後「Save Changes」と「Activate」をクリックします。
どちらの方法を選んでも、問題なく新しいログインリダイレクトルールが適用されるはずです。
最後に、コードに触れるのが苦手でプラグインも使いたくないという場合には、Kinstaのリダイレクトルールがおすすめです。これは、標準の管理画面とは別のものを使用している場合など、すべてのユーザーを「/wp-admin」から完全にリダイレクトしたい時に特に便利です。
この変更により、すべてのユーザーに影響が出るので、注意しながら新しいルールを実装するようにしてください。また、HTTPステータス&リダイレクトチェッカーを使用した動作確認もお忘れなく。
まとめ
ユーザーエクスペリエンスは、ウェブデザインにおいて非常に重要な要素です。見落とされがちな要素ですが、ユーザーがログインしたときに表示されるページは、その後の操作性に大きな影響を与えます。目的のページに誘導したり、混乱を回避したりと、その使い道は豊富です。
WordPressのデフォルトのログインリダイレクトルールでは不十分な場合には、コードの記述またはプラグインの使用で設定することができます。後者が最も簡単ですが、その方法ごとに利点があります。
また、MyKinsta(サイト管理画面)に標準搭載されているリダイレクトルール機能もお忘れなく。ちょっとしたサイトの変更のためにいちいちプラグインをダウンロードする必要も、PHPを学習する必要もありません。Kinstaに乗り換えるなら今です。すべてのプランに、無料のサイト移行サービス(サイト数無制限)が付帯します。