サイトのIndex ofページ(一覧ページ)を非表示にする方法。cPanelのインデックスマネージャーを使うと楽でした。

2020-07-06
サイト構築

indexofを非表示にする_002

WordPressを使ってサイトを作っていると、アップロードした画像が月別に保存されている「Index Of/~/」という何とも味気ない一覧ページが表示された...

なんだか気持ち悪い...インデックスされてしまった!という方のためにIndex ofページの非表示方法を解説します。
Index ofページにアクセスされた時に403NOT FOUNDを表示する方法です。

.htaccessかサーバー側の設定で非表示にすることが出来ます。

一覧ページ(Index of)を非表示にする方法

一覧ページを非表示にする方法は何通りかありますが、実用的なのが以下2つです。

  1. .htaccessを編集する方法。
  2. レンタルサーバー会社のcPanel内の設定から行う方法。

.htaccessを編集する方法はほとんどのサーバーで行えますが、cPanelの「インデックス」機能が使えるのであればこちらの方がややこしくなくておすすめです。

WordPressでのIndex ofページのURL

まずはIndex ofページを直接確認してみましょう。
WordPressの場合「https://ドメイン名/wp-content/uploads」がそのページです。

レンタルサーバー会社によって違うかもしれないのですが、初期設定のWordpressではindexofページが表示され、画像が丸見えになるのは仕様のようです。

なぜ表示されるのかというと、サイトトップに存在するindex.htmlやindex.phpみたいなファイルがこのディレクトリに無いからなんだって!

indexofを非表示にする_001

当サイトのIndex ofページ

Google画像検索で画像元のサイトにアクセスすると、稀にこのページが表示されていたり...僕はサーチコンソールにこのindex ofページがインデックスされてしまって気が付きました。

indexofを非表示にする_002

Index ofページに表示されるアップロード済み画像

ファイル名をクリックして進んでいくともちろん画像までたどり着けます…
中身はほとんどがサイト上に公開されている画像なので気にしなくてもいいかもしれないのですが…

  • Googleにインデックスしてほしくない!
  • 万が一画像検索でたどり着かれるとカッコ悪い!
  • どれくらいの頻度で画像をアップロードしているのかバレる!
  • 誰にも決して見られたくない画像がアップロードフォルダーにある…

などなど、非表示にしておいてこれと言って特に困ることはないと思うので、非表示にしちゃいましょう!

方法1:.htaccessにコードを追加

サーバーツール(ファイルマネージャー)やFTPソフトを用いてIndex ofページを制限するサイトの.htaccessを開いて編集します。
毎度のことですが、バックアップを取ってから行って下さい。

一行のコードを.htaccessに追記するだけでOKです。
以下のコードを.htaccessの一番最後に追加して上書き保存します。

 .htaccess
Options -Indexes
indexofを非表示にする_003

.htaccessの最後にコードを追記

大体の場合「public_html」の中に「.htaccess」というファイルがあるはずです。
※.htaccessは隠しファイル(非表示ファイル)になっていることがあるので注意。

.htaccessファイルは基本存在すると思いますが、なければ作成しましょう。

方法2:cPanelでIndexページの設定をする

サーバーコントロールパネルにcPanelを採用する会社が増えてきました。
cPanelが使えるなら.htaccessを編集するよりも安全にIndex Ofページを非表示に設定することができます。

このcPanel内の「インデックス」から簡単にIndex ofページをどのように表示するかを設定することが出来ます。
ファイルを触らなくてもいい&戻すときはチェックを元に戻すだけと簡単です。
(.htaccessには自動的で制御コードが追加される模様)

インデックス変更手順

具体的な手順は以下です。

  1. cPanelにログインする。
  2. cPanel内のインデックスという項目を開く。
  3. public_htmlの「編集」をクリックする。
  4. インデックスなしを選択して保存をクリックする。

以上です。では画像付きで詳しく見ていきましょう!

indexofを非表示にする_004

【1】cPanelにログインしてインデックスをクリック。
この先の設定方法が若干変わったみたいですので画像を差し替えました。

indexofを非表示にする_005

【2】public_htmlの「編集」をクリック。
インデックス設定を変更したいフォルダを選びます。
(下層のフォルダは上層フォルダの設定を継承します。)

indexofを非表示にする_006

【3】インデックスなしを選択して保存をクリック。
今回は403NOT FOUNDを表示したいので、インデックスなしを選択しました。

他の項目の日本語訳は以下です。

  • Inherit:継承(初期設定)。
  • インデックスなし:ページなし(403)を表示する。
  • Show Filename Only:ファイルの簡単な名前を表示する。
  • Show Filename and Description:ファイルサイズなどの詳細も表示する。

他のサイト様も少し調べさせていただいたのですが、挙動的にインデックスなしとしているサイトが大半でした。

Index ofページが非表示になったか確認する

作業が完了したら再度Index Ofページにアクセスし、ページが非表示になっているか確認しておきましょう。

ブラウザのURLに直接Wordpressの画像アップロードフォルダのパスを入力して確認します。

【当サイトの例】
https://sologaku.com/wp-content/uploads/

indexofを非表示にする_007

無事に403ページが表示され、アップロードされた画像がずらりと表示されることはなくなりました。

まとめ

  • 一覧ページ(Index of)ページは非表示にしてあるサイトが大半。
  • 今回の方法ではどちらの方法を使っても403ページが表示される。
  • この方法以外にも、サーバー会社の管理画面から設定できる場合もあり。

なぜWordpressは標準仕様でこんな必要のないであろうページが表示されるんだろうね・・・

-サイト構築
-

ありがとうございました。
良かったらシェアしてネ・w・

© 2022 ソロ学