もくじ
- 前置き
- 未ログインの場合はログイン画面にリダイレクトする
- 画像へのURLアクセスをブロック
- 検索エンジンのクローラーを制御
- 参考ページ
前置き
プラグインを使う方法や、ベーシック認証を導入する方法なども試しましたが、WordPressのiOSアプリからログイン出来なくなるデメリットがあったので
今回紹介する方法に落ち着きました。
wp-blog-header.phpにコードを追加するので、WordPressのバージョンアップで上書きされる可能性があります。
WordPressのバージョンアップは開発環境で事前確認した上で実行した方がいいです。
特に、現バージョンで実装されている自動更新機能はオフにした方がいいでしょう。
その他もろもろ全て、自己責任でお願いします。
こちらのエントリーで構築したローカル開発環境のWordPressに設定します。
バージョンは、4.3(執筆時の最新版)です。
事前に、検索エンジンにサイトをインデックスさせないように設定しておきましょう。
ダッシュボード > 設定 > 表示設定 > 検索エンジンがサイトをインデックスしないようにするを、アンチェックにします。
未ログインの場合はログイン画面にリダイレクトする
ルートディレクトにある wp-blog-header.php に赤字を記述します。
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require_once( dirname(__FILE__) . '/wp-load.php' );
if (!is_user_logged_in()){
auth_redirect();
}
wp();
require_once( ABSPATH . WPINC . '/template-loader.php' );
}
画像へのURLアクセスをブロック
ルートディレクトリ/wp-content/uploadsに、.htaccessを作成し以下の内容を記述します。
# BEGIN WordPress SetEnvIf Referer "^http://blog\.example\.com" ref01 order deny,allow deny from all allow from env=ref01 # END WordPress
検索エンジンのクローラーを制御
ルートディレクトリに、robots.txtを作成し以下の内容を記述します。
User-agent: * Disallow: /
設定のテスト
テスト様に画像をアップロードして記事を更新しました。
ログアウトして、http://blog.example.comにアクセスします。
ログイン画面が表示されました。
画像もURLをアドレスバーにコピペしてアクセスしてみます。
HTTP 403エラーが発生して画像にアクセスできません。