なんだか気持ち悪い...インデックスされてしまった!という方に、
すぐできるIndex ofページの非表示方法をご紹介。
最終的には403NOT FOUNDを表示してもらいましょう!という話。
この記事の目次
一覧ページ(Index of)を非表示にする方法
.htaccessを編集する方法と、レンタルサーバー会社Mixhostでサーバー側の設定を変更する方法の二通りを解説します。
WordPressでのIndex ofページのURL
まずはページを直接確認。「https://ドメイン名/wp-content/uploads」がそのページ。
レンタルサーバー会社によって違うかもしれないのですが、初期設定のWordpressではindexofページが表示され、画像が丸見えになるのは仕様のようです。
なぜ表示されるのかというと、サイトトップに存在するindex.htmlやindex.phpみたいなファイルがこのディレクトリに無いからなんだって!
Google画像検索で画像元のサイトにアクセスすると、たまーにこのページが表示されていたり...僕はサーチコンソールにこのindex ofページがインデックスされてしまって気が付きました。
ファイル名をクリックして進んでいくともちろん画像までたどり着ける。
中身はほとんどがサイト上に公開されている画像なので気にしなくてもいいかもしれないが…
・Googleにインデックスしてほしくない!
・万が一画像検索でたどり着かれるとカッコ悪い!
・どれくらいの頻度で画像をアップロードしているのかバレる!
・誰にも決して見られたくない画像がアップロードフォルダーにある
などなど、非表示にしておいてこれと言って特に困ることはないと思うので、非表示にしちゃいましょう!
方法その1:.htaccessにコードを追加
サーバーツール(cPanelのファイルマネージャー)やFTPソフトを用いてIndex ofページを制限するサイトの.htaccessを開いて編集します。
毎度のことですが、バックアップを取ってから自己責任で行ってください。
以下のコードを.htaccessの一番最後に追加して上書き保存。
サーバー上にあげるのをお忘れなく。
Options -Indexes
大体の場合【public_html】の中に【.htaccess】というファイルがあるはずです。
※.htaccessファイルは隠しファイル(非表示ファイル)になっていることがあるので注意。
.htaccessファイルはどのサイトにも基本存在すると思いますが、なければ作成しましょう。
方法その2:cPanelから設定する(Mixhost)
レンタルサーバー会社Mixhostのサーバーツールを使用したIndex ofページの非表示方法。
ファイルを触らなくてもいい&戻すときはチェックを元に戻すだけと簡単です。
(.htaccessには自動的で制御コードが追加される模様)
【1】cPanelにログインしてインデックスをクリック
【2】public_htmlをクリック
(フォルダアイコンをクリックすると開いちゃいますので、文字をクリック)
【3】インデックスなしを選択して保存をクリック
Index ofページが非表示になったか確認する
ブラウザのURLに直接Wordpressの画像アップロードフォルダーのパスを入力して確認してみましょう!
(例)当サイトの場合「https://sologaku.com/wp-content/uploads/」にアクセス!
無事に403ページが表示され、アップロードされた画像がずらりと表示されることはなくなりました。
まとめ
・一覧ページ(Index of)ページは非表示にしておいても問題ない(はず、あったら教えてください)
・.htaccessにコードを追加したり、サーバー会社の管理画面から設定できる場合も。
・今回ご紹介した方法ではどちらの方法を使っても403ページが表示されるようになります。
なぜWordpressは標準仕様でこんな必要のないであろうページが表示されるんだろうね・・・