ライフハック

【WordPress】authorがURLでバレるのを防ぐ方法

2020-09-26

たお

「WordPressを使っているんだけど、WordPressへログインしているユーザー名がバレるって本当かな?」

「ユーザー名が見えないようにしたい」

本記事では、このような疑問に答えていきます。

本記事の内容

今回は、WordPressをお使いの方に向けて、author(ユーザー名)がURLに表示されてしまうことを防ぐ方法をご紹介します。

というのも、WordPressでは、URLに「https://サイトのURL/?author=1」と入力すると、「https://サイトのURL/author/(ユーザー名)」へ転送されるためです。

そのため、対策をしていないと、ユーザー名がバレてしまいます。

今回はこれを防ぐために、「https://サイトのURL/?author=x」が入力された場合に、Topページへリダイレクトする方法をご紹介します。

本記事の信頼性

本記事は、筆者が実際に本ブログにてリダイレクト設定を行った経験に基づいて執筆しています。

対処方法

本ブログではテーマにAFFINGER5 WINGを利用していますが、他のテーマを用いている場合でも同様です。

手順①テーマエディターを開く

WordPressへログインし、「外観」→「テーマエディター」をクリックします。

手順②functions.phpを開く

お使いのテーマのfunctions.phpを開きます。

AFFINGER5 WINGをお使いの場合は、まず「編集するテーマを選択」にてWING-AFFINGER5を選択します。※Childが無い方です

その後、テーマのための関数(functions.php)をクリックします。

手順③functions.phpへコードを追加する

functions.phpの一番下へ、コードを追加します。

Web Design Leavesさんのサイトのコードを参考に、改版させていただいております。

※管理画面の投稿一覧で検索した場合にもauthorという文字列が含まれ、home_URLへリダイレクトされてしまうため、それを防ぐために投稿一覧をリダイレクトの条件から外すようにしています。

function disable_author_archive_query() {
  if(preg_match('/author=([0-9]*)/i', $_SERVER['QUERY_STRING'])){
    if(!preg_match('/\/wp-admin\/edit.php/i', $_SERVER['REQUEST_URI'])){
      wp_redirect( home_url() );
      exit;
    }
  }
}
add_action('init', 'disable_author_archive_query');

最後に、「ファイルを更新」をクリックします。

手順④結果を確認する

「https://サイトのURL/?author=1」を入力すると、「https://サイトのURL」へリダイレクトされるかを確認します。

転送されれば設定完了です。

-ライフハック

© 2021 たおさんのMyanmar Life