WordPressでディレクトリブラウジングを無効にする方法

ディレクトリブラウジングを無効にするのを忘れているウェブサイトをよく見かけます。一見すると大したことではないように思えるかもしれませんが、この小さな見落としが機密情報を公開し、サイトを危険にさらす可能性があります。

ディレクトリブラウジングが有効になっていると、誰でもサーバー上のファイルやフォルダを表示できます。ハッカーは、この情報を使用して、プラグイン、テーマ、さらにはホスティング環境の脆弱性を特定できます。

幸いなことに、この問題を修正するのは迅速かつ簡単です。ディレクトリブラウジングをオフにすることで、保護層が追加され、攻撃者があなたのサイトを標的にすることがはるかに困難になります。

このガイドでは、WordPressでディレクトリブラウジングを無効にする簡単な手順を説明します。これにより、ウェブサイトを保護し、データを安全に保つことができます。

WordPressでディレクトリブラウジングを無効にする方法

このガイドで取り上げるトピックの簡単な概要を以下に示します。

WordPressでディレクトリブラウジングを無効にするとどうなりますか?

ディレクトリブラウジングを無効にすると、インデックスファイルが存在しない場合に、訪問者がサイト上のファイルやフォルダのリストを表示できなくなります。その生のディレクトリを表示する代わりに、サーバーは空白ページまたはエラーメッセージを表示します。

誰かがあなたのウェブサイトを訪れると、サーバーは通常、インデックスファイル(index.htmlindex.php など)をブラウザに配信します。そのファイルが見つからない場合、多くのサーバーはフォールバックしてそのフォルダー内のすべてのファイルを表示します。

ディレクトリブラウジングが有効です

この動作はディレクトリブラウジングと呼ばれ、ホスティングサーバーではデフォルトで有効になっていることがよくあります。

問題は、これによりサイトの構造に関する機密性の高い詳細が公開されてしまうことです。ハッカーはこれを利用して、プラグイン、テーマ、あるいはホスティング環境の脆弱性を探すことができます。

場合によっては、ディレクトリブラウジングによって、電子書籍のダウンロードやオンラインコースなどのプライベートまたは有料コンテンツが公開され、許可なくコピーされる可能性があります。

だからこそ、私たちは初心者の方を支援する際に常にこのリスクを指摘しています。ディレクトリブラウジングを無効にすることは、サイトを保護し、不必要な収益損失を防ぐための迅速な変更です。

WordPressでディレクトリブラウジングが有効になっているか確認する方法

ディレクトリブラウジングがWordPressウェブサイトで有効になっているかどうかを確認する簡単な方法は、/wp-includes/フォルダに直接アクセスすることです。

例えば、ブラウザに https://example.com/wp-includes/ のようなURLを入力するだけです。

example.com を実際のウェブサイトのドメイン名に置き換えてください。この簡単なテストは、ほとんどの WordPress インストールで機能します。

403 Forbiddenメッセージまたは類似のエラーが表示される場合、ディレクトリブラウジングはすでに無効になっています。これは良い兆候であり、ウェブサイトがより安全であることを意味します。

ディレクトリブラウジングが無効になっていると、403 Forbidden ページが表示されます

ファイルとフォルダのリストが表示される場合は、ディレクトリブラウジングが有効になっています。

ディレクトリブラウジングを有効にしたままにすると、ウェブサイトが悪意のある攻撃に対して脆弱になります。

私たちの経験では、ディレクトリブラウジングを有効にすると機密情報が公開され、セキュリティリスクが増大します。このため、サイトを安全に保つためにWordPressでディレクトリブラウジングを無効にするのが最善です。

WordPressでディレクトリブラウジングを無効にする方法

WordPressの.htaccessファイルに1行コードを追加することで、ディレクトリブラウジングを無効にできます。

これは強力なサーバー設定ファイルですので、変更を加える前に.htaccessファイルのバックアップを作成することが非常に重要です。不適切な編集はサイトにアクセスできなくなる可能性があります。

ヒント: 私たちは Duplicator を使用して、すべてのWordPressウェブサイトを自動的にバックアップしています。これにより、スケジュールバックアップとオンデマンドバックアップを作成できます。さらに重要なのは、1クリックで簡単にウェブサイトを復元できることです。詳細については、当社の完全な Duplicatorレビュー をご覧ください。

このファイルには、主に2つの方法でアクセスできます。

方法1:cPanelのファイルマネージャーを使用して.htaccessファイルを編集する

ほとんどのユーザーにとって最も簡単な方法は、WordPressホスティングアカウントのコントロールパネル(cPanel)で提供されているファイルマネージャーアプリを使用することです。

まず、ホスティングアカウントにログインし、ファイルマネージャーを開きます。

cPanelファイルマネージャーアプリ

ウェブサイトのルートフォルダ(多くの場合public_htmlという名前です)に移動します。

次に、.htaccessファイルを見つけます

表示されない場合は、ファイルマネージャーの設定で「隠しファイルを表示」が有効になっていることを確認してください。

cPanel経由のファイルマネージャーで.htaccessファイルを編集する

ファイルを右クリックして「編集」または「コードエディタ」を選択します。

方法2:FTPクライアントを使用した.htaccessファイルの編集

または、FTPクライアントを使用してウェブサイトのファイルに接続することもできます。

初めての方は、FTPを使用してサイトに接続する方法に関する完全なガイドに従ってください。

  1. FTPで接続したら、サイトのルートディレクトリ(例:public_html)に移動します。
  2. .htaccess ファイルを見つけます。
  3. ファイルをコンピューターにダウンロードしてから、メモ帳やTextEditのようなプレーンテキストエディターで開いてください。
.htaccessにコードを追加する

どちらの方法でも.htaccessファイルを編集用に開いたら、ファイルの末尾に次のコード行を追加するだけです。

Options -Indexes

このようになります:

画像に境界線を追加しました

次に、変更を保存します。FTPクライアントを使用した場合は、編集した.htaccessファイルをサーバーに再アップロードし、元のファイルを上書きする必要があります。

Nginxユーザーへの注意 📝: この.htaccessメソッドは、Apacheウェブサーバーで実行されているウェブサイトに適用されます。ウェブサイトがNginxサーバーにある場合、この設定は通常、ホスティングプロバイダーによってサーバーレベルで処理され、ディレクトリブラウジングは通常デフォルトで無効になっています。詳細については、Apache vs Nginx vs LiteSpeedウェブサーバーの比較をご覧ください。

これで、同じhttp://example.com/wp-includes/ URLにアクセスすると、403 Forbiddenまたは類似のメッセージが表示されます。

ディレクトリブラウジングが無効になっていると、403 Forbidden ページが表示されます
ボーナスヒント:プラグインを優先しますか?

コードの編集に慣れていない場合は、優れたWordPressセキュリティプラグインがこれを代行してくれます。

ほとんどのWordPressセキュリティプラグインには、ウェブサイトの強化機能の一部としてディレクトリブラウジングを無効にするワンクリックオプションが含まれているため、ファイルを一切編集する必要はありません。

ディレクトリブラウジングの無効化に関するよくある質問

ディレクトリブラウジングとは何ですか?また、なぜセキュリティ上のリスクとなるのですか?

ディレクトリブラウジングは、index.phpのようなインデックスファイルが存在しない場合に、ディレクトリ内のすべてのファイルとフォルダを一覧表示するサーバー機能です。これは、テーマやプラグインの使用状況を含むサイトの構造を攻撃者に公開するため、セキュリティリスクとなります。

ディレクトリブラウジングを無効にすると、ウェブサイトのSEOに影響しますか?

いいえ、ディレクトリブラウジングを無効にしてもSEOに悪影響はありません。検索エンジンはコンテンツに関心があり、ファイル構造には関心がありません。実際、ウェブサイトのセキュリティを向上させることは、検索エンジンにとってプラスのシグナルです。

プラグインを使用するのと.htaccessファイルを編集するのと、どちらが良いですか?

どちらの方法でも同じ結果が得られます。.htaccessファイルを編集するのは、迅速な1回限りの修正です。Sucuriのようなセキュリティプラグインを使用することは、初心者にとって素晴らしいです。なぜなら、コードを編集することなく、ワンクリックでこれや他の多くのセキュリティ設定を処理してくれるからです。

WordPressサイトでNginxサーバーを使用している場合はどうなりますか?

.htaccess ファイルは Apache Web サーバーに固有のものです。Nginx サーバーでは、通常、ディレクトリ一覧表示はメインサーバー構成でデフォルトで無効になっています。有効になっていると思われる場合は、ホスティングプロバイダーに連絡して無効にしてもらう必要があります。

WordPressセキュリティに関する追加資料

WordPressウェブサイトを安全でエラーのない状態に保ちたいですか?以下の記事が役立つかもしれません:

この記事がWordPressでディレクトリブラウジングを無効にする方法を学ぶのに役立ったことを願っています。また、WordPressセキュリティの究極ガイドや、専門家が選んだ最高のWordPressセキュリティプラグインもご覧ください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

98 CommentsLeave a Reply

  1. WordPressサイトでディレクトリブラウジングが無効になっていることに気づきました。wp-includesにアクセスしようとした際に403エラーが表示されたのですが、それを意図して.htaccessファイルを編集した記憶がありません。
    WordPressは初期インストール時にディレクトリブラウジングを自動的に無効にしますか?

    • 最近の変更がなければ、デフォルトではそうではありません。htaccess のホスティングプロバイダーのデフォルト設定である可能性があります。

      管理者

      • That’s what I was suspecting also, thanks for clarifying that WordPress doesn’t disable directory browsing by default.
        And the respond too :)

  2. この脆弱性が存在することすら知りませんでした。自分のサイトを確認したところ、403エラーが表示されました。これはディレクトリブラウジングが無効になっていることを意味します。ありがとうございます。

  3. アドバイスありがとうございます。ディレクトリブラウジングについて、または私がそれを有効にしていることについて、AIO SEOプラグインが常に警告してきます。現在、フォルダに空のindexファイルを作成することで問題を解決しました。これを可能な解決策の1つとして受け入れることはできますか?

      • アドバイスありがとうございます。最終的に Options -Indexes メソッドを使用し、AIO SEO はすでに問題を解決済みと報告しています。重ねて感謝いたします。

  4. 提供されたガイドラインに従ってhtaccessファイルを編集した後、/wp-includes/に対して403 Forbiddenメッセージが表示されます。しかし、投稿の編集ができません。投稿を編集すると、同じ403 Forbiddenメッセージが表示されます。これを解決するにはどうすればよいですか?

  5. ブラウザでフォルダに直接アクセスできるのを見てショックを受けました。
    解決策をありがとうございます!

  6. 魔法のように機能します。wpbeginners の記事は、すぐに使えるソリューションのようです。頑張ってください。

  7. このウェブサイトが大好きです。毎日、このウェブサイトから新しい記事を読むたびに驚かされます。幸いなことに、今日この記事を読んで、すぐにアドバイスを実践しました。

  8. ありがとうございます。適用したらうまくいきました。
    皆さんはWordPressを学ぶ上で最高の情報源です。

  9. 本当にありがとうございました。これで問題が解決しました。

    再度、ありがとうございます。

  10. ルートフォルダにindex.phpファイルが存在する場合でも、このコードを.htaccessファイルに記述しても問題ありませんか?

    ご返信ください。

  11. Filezillaが必要ですか、それともCpanelからFTPにアクセスして行うことができますか?
    ありがとうございます

  12. こんにちは
    このアクションは検索エンジンでのページのインデックス作成に影響しますか?
    また、私のWordPressウェブサイトのインデックス作成済みページに何か問題が発生しますか?
    ありがとうございます

  13. 素晴らしい投稿です、

    簡単な質問ですが、このコードを追加したら機能しました。質問は、Googleがこれらのページ(例:sitecom/wp-contents/2019/2)をインデックス化するのか、それともこれらは404なのでGoogleが自動的に削除するのかということです。それともサーチコンソールで削除すべきでしょうか?

    ありがとう

    • このコードは、画像やファイルへの直接リンクが404になることを防ぐはずです

      管理者

  14. こんにちは!

    このルールを最近適用したところ、その日のうちにブログのフロントページがGoogleインデックスから消えてしまいました。

    何か関連性はありますか?

    • これをhtaccessに追加してもインデックス作成には影響しません。複数の理由があり、Google Search Consoleでホームページに関する情報を確認する必要があります。

      管理者

  15. 提供していただいたヒント、ありがとうございます!
    wp-contentとwp-includeフォルダをソースコードから非表示にする方法について、まだ疑問に思っています。誰かが右クリックしてソースを表示して、私のプラグインをすべて見ることができるのが嫌なんです :)。これに関するスクリプトはありますか?
    よろしくお願いします!

    • 現時点では推奨される方法はありません。開発者ツールでこれらのフォルダが表示されない最も一般的な理由は、サイトのキャッシュです。

      管理者

  16. WordPressをサブフォルダ(例:[www.mydomain.com]にあるWordPressインストール)で無効にする方法を教えていただけますか?[www.mydomain.com/customscript]でWordPressを無効にしたいのですが。

  17. ディレクトリブラウジングを無効にしましたが、Chromeブラウザの開発者ツールを使用すると、まだ誰かが私のディレクトリを見ることができます。それも無効にするにはどうすればよいですか?

  18. パーマリンク設定ページで「変更を保存」をクリックすると、.htaccessファイルが更新され、「Options -Indexes」コードが消去されます。コードは正常に機能しますが、他のタスクを実行中に誤って削除してしまうのではないかと心配しています。コードを消去する可能性のある、他に知っておくべきダッシュボード設定の変更はありますか?ありがとうございます。

  19. wpbeginner、Optin Monsterの熱烈なファンです。WPに関する多くの役立つヒントやコツを得ました。そして、サイトのデザインはまさに素晴らしいと言わざるを得ません。もちろん、ここのコンテンツは非常に役立ちます。

    ありがとう、みんな!

  20. こんにちは!うまくいかないようです。画像を別のページにドラッグすると、次のリンクで開かれます: example.com/wp-content/uploads/…
    何かアイデアはありますか?ありがとうございます!

    • ダニエルさん、こんにちは

      ディレクトリ内の画像やファイルには直接アクセスできます。ただし、サーバーは誰かがディレクトリを直接ブラウズしてその内容を見ることを許可しません。

      管理者

      • これについて詳しく説明していただけると幸いです。この問題の解決策を見つけるのに苦労しました。htaccessを使用してPHPファイルにリダイレクトし、ユーザーがログインしているかどうかを確認するというアイデアがいくつかあります。そのような機能を提供するプラグインはありますか?

  21. 返信が遅れてすみません。これらのテクニックはSEOスコアに関して安全に使用できますか?回答をお待ちしています!

  22. 何週間も同じコードを書いていますが、ディレクトリがユーザーに表示されたままです。何が間違っていますか?それとも、私のサイトはまだキャッシュされたコンテンツから読み込まれているのでしょうか?皆、機能していると言いますが、私の経験は異なります。どなたか助けていただけませんか?返信をお待ちしています。

  23. 特定のページに対して、ディレクトリの表示は許可するが、親ディレクトリリンクだけを非表示にする方法はありますか?これは、複数の人がアクセスするネットワーク共有フォルダであり、親ディレクトリリストが必要なサブフォルダがある場合です。共有フォルダより上に移動してほしくないだけです。

  24. これは私にはうまくいきませんでした。以前に試しましたが、WordPress の #END の前後でうまくいきませんでした。また、「Options All -Indexes」も試しましたが、うまくいきませんでした。

  25. 本当に素晴らしいです。今日、まさに直面していて、Joomla のようにどうやって禁止できるか考えていたところ、まさにその解決策を見つけました。

  26. どうもありがとうございます。サイトの画像が親ディレクトリに表示されるのを見てがっかりしていました:0。これは非常に役立ち、うまくいきました。
    祝福を – A

  27. Thanks for this tutorial. It worked great for hiding my uploads from anyone just wanting to browse that directory. One question, though. Does this by chance turn off the ability of search engines to browse my website. Sorry if it seems like a dumb question. I am a newbie, after all. :)

  28. htaccessファイルにOptions -Indexesコードを追加しましたが、サイトにアクセスできなくなり、503エラーが表示されます。何か間違っていますか?至急助けが必要です!!よろしくお願いします。

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。