WordPressでプラグインを使わずに著者別アーカイブページを無効化する方法

WordPressでプラグインを使わずに著者別アーカイブページを無効化する方法

WordPressでプラグインを使わずに著者別アーカイブページを無効化する方法

WordPressサイトで、以下のようなURLにアクセスすると、対象ユーザーが作成した投稿の一覧ページが表示されます。

http://example.com/author/ユーザー名/

また、以下のように「?author=1」を付けてアクセスすると、ユーザーIDが1のユーザーの著者別アーカイブページにリダイレクトされます。リダイレクト先のURLには管理者のユーザー名が含まれるので、WordPressのログインIDがわかってしまうわけですね。

http://example.com/?author=1

ログインIDがバレるのを防ぐための対策として、著者別アーカイブページ自体を無効化してしまうという方法があります。

以前、著者別アーカイブページを無効化する「Remove Author Pages」というプラグインを紹介しましたが、今回はfunctions.phpにコードを追加することで、著者別アーカイブページを無効化する方法をご紹介したいと思います。

WordPressでプラグインを使わずに著者別アーカイブページを無効化する方法

適用しているテーマのfunctions.phpに以下を追加します。コピペでOKです。

function disable_author_archive() {
  if( preg_match('#/author/.+#', $_SERVER['REQUEST_URI']) ){
    wp_redirect( esc_url(home_url('/')) );
    exit;
  }
}
add_action('init', 'disable_author_archive');

上記をfunctions.phpに追加することで、著者別アーカイブページにアクセスしようとしても、トップページにリダイレクトされるようになります。

あとがき

ちなみに、ログインIDがバレても問題ない、そんなことよりパスワードを強化すべきだ、という意見もあります。

例えば、Twitterはアカウント名がそのままログインIDになっているので、誰でもログインIDまではわかっちゃいますね。なので、パスワードを強化することが非常に重要です(当たり前ではありますが…)。

そんなわけで、そこまで神経質にならなくても良い気はしますが、気になる方は著者別のアーカイブページを無効化しておきましょう。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です