WordPressのファイル権限設定は、一般的にフォルダには755、ファイルには644、そして重要な設定ファイルであるwp-config.phpには可能なら600またはサーバー構成によって640を推奨します。これらの設定は、WordPressが必要な読み書き権限のみを確保し、テーマやプラグイン、コアファイルへの不正な変更を防ぎます。つまり、安全なchmodルールは「サイト運用に必要最低限の権限のみ付与し、それ以上を許可しない」ことです。
WordPressのセキュリティは、強力なパスワードや最新のプラグイン、SSL証明書だけではありません。ファイルシステムの権限が適切でないと、攻撃者が悪質なPHPファイルをアップロードしたり、テーマファイルを書き換えたり、wp-config.php内のデータベース情報を盗み見たり、サイトにバックドアを設置したりする可能性があります。特に共用レンタルサーバー、VPS、クラウドサーバー、マネージドWordPressホスティング利用者にとって、chmod設定は最重要のセキュリティ対策の一つです。安全かつ最新のWordPressサイトを構築するなら、適切なホスティング選びも欠かせません:WordPressホスティングパッケージ
WordPressファイル権限とは?
WordPressのファイル権限とは、サーバー上のファイルやフォルダに対して誰がどの操作をできるかを決定するアクセスルールです。Linuxサーバーでは、通常chmodコマンドで管理されます。chmod値は「読み取り」「書き込み」「実行」の3つの権限を、ファイル所有者・グループ・その他ユーザーごとに設定します。
WordPressのようなPHPベースCMSでは、権限のバランスが非常に重要です。権限が厳しすぎるとサイトが正常に動作せず、メディアアップロードやプラグイン更新、キャッシュ生成ができなくなります。一方、権限が緩すぎると、特に777(全員への書き込み許可)などは深刻なセキュリティリスクとなり、不正ファイルのアップロードや改ざんが容易になります。
chmod値の読み方
chmod値は通常3桁の数字で表されます。それぞれの桁はユーザー種別を示し、1桁ごとに権限の合計値です。
- 4: 読み取り権限
- 2: 書き込み権限
- 1: 実行権限
- 7: 読み取り+書き込み+実行
- 6: 読み取り+書き込み
- 5: 読み取り+実行
例えば755は、所有者に読み取り・書き込み・実行権限を、グループとその他ユーザーには読み取り・実行権限のみを付与します。644は、所有者に読み取り・書き込み、他のユーザーには読み取りのみ。フォルダでは実行権限がフォルダ内のアクセス・リスト表示に必須なので、755が標準です。
WordPressに推奨されるchmod値
安全なWordPress運用では、「Webサーバーがサイト運用に必要な最小限の権限だけ持つ」ことが理想です。下記の表は、多くのホスティング環境で実際に使われる安全なWordPressファイル権限のまとめです。
| ファイル/フォルダ | 推奨権限 | 説明 |
|---|---|---|
| WordPressフォルダ | 755 | フォルダアクセスは可能、全員への書き込みは不可 |
| WordPressファイル | 644 | 読み取り可能、所有者のみ書き込み可 |
| wp-config.php | 600または640 | データベース情報等を含むため、より厳重に管理 |
| .htaccess | 644または640 | サーバールールを含み、不必要な書き込み禁止 |
| wp-content | 755 | テーマ・プラグイン・アップロードを格納。サブディレクトリの管理が重要 |
| wp-content/uploads | 755 | メディア用。777は絶対に避けること |
| テーマファイル | 644 | PHPやCSSファイルは誰でも変更できてはいけない |
| プラグインファイル | 644 | 不正変更リスクを減らす |
これらの値は、多くのcPanel、LiteSpeed、Apache/Nginxベースのホスティング環境で安全な初期設定です。しかし、各サーバー構成は異なり、PHP-FPMやsuPHP、mod_php、コンテナベースや独自のユーザー・グループ所有などで権限が変わる場合もあります。設定変更前に必ずバックアップを取り、サイト動作を確認しましょう。定期的なバックアップについては、ウェブサイトバックアップガイドをご参照ください。
なぜ777権限は危険なのか?
777権限は、全てのユーザーがファイルやフォルダの「読み取り・書き込み・実行」全てにアクセスできる状態です。昔のフォーラムや誤ったインストールガイドで「問題解決の最速手段」として紹介されることがありますが、現代のWordPressでは致命的なリスクです。777のフォルダには、不正なスクリプトやPHPファイルが設置されたり、ファイルが改ざんされる恐れがあります。
特にwp-content/uploadsフォルダに777を付与するのはよくあるミスです。このフォルダは画像やPDF、動画などのメディア専用ですが、もし脆弱なプラグイン経由でuploads内にPHPファイルをアップロードされ、しかも実行権限が付いていた場合、サーバーでそのPHPが実行され攻撃者のコマンドが動作します。これはプラグインの脆弱性だけでなく、権限設定の緩さも攻撃の被害拡大要因となります。
777の代わりに何を使うべきか?
ほとんどの場合、755で十分です。WordPressがメディアをアップロードできず更新もできない場合、安易に777を与えるのではなく、まずファイル所有者をチェックしましょう。ファイルが誤ったユーザーの所有になっていると、Webサーバーは必要な書き込みができません。正しくはchmod値を緩めるより、chownで所有者の修正、もしくはホスティングパネルの所有権修復機能を使うことです。
WordPressファイル所有権とchmodの関係
chmod設定だけでなく、ファイルやフォルダの「所有者・グループ」も重要です。例えば644でも所有者が間違っていればWordPressの更新ができません。同様に、所有権が正しくなければuploadsへのメディアアップロードも失敗します。
安全な構成では、WordPressファイルはホスティングアカウントのユーザー所有が理想です。共用サーバーでは通常自動で管理されますが、VPSや専用サーバーの場合、Webサーバーのユーザー・PHP-FPMプール・サイトのユーザーの調整が必要です。例えば各サイトに個別Linuxユーザーを割り当てれば、一つのサイトの脆弱性が他サイトに波及するリスクを減らせます。企業や大規模サイトでは、この分離が権限設定と同等に重要なセキュリティ対策となります。
WordPressファイル権限の確認手順
WordPressファイル権限の確認には、cPanelファイルマネージャー、FTPクライアント、SSHが使えます。以下は実践的な安全確認フローです。
1. 作業前に必ずバックアップを取る
権限設定を一括で変更する前に、サイト全体のバックアップを必ず取得しましょう。WordPressファイル、wp-contentフォルダ、データベースを含めてください。誤ったchmodコマンドはサイトを閲覧不可や管理画面エラーの原因となります。ホスティングの自動バックアップなら最新日時を確認し、なければFTPとデータベースのエクスポートで手動バックアップを。
2. 現在の権限をリストアップ
SSHが使える場合、WordPressルートディレクトリで各ファイル・フォルダの権限を確認しましょう。フォルダは755、ファイルは644から大きく外れていないかチェック。特に777、775、666など書き込み権限が広過ぎるものは要注意。cPanelならファイルマネージャーで権限列を表示し、一つずつ編集可能です。
3. フォルダを755に設定する
WordPressルートおよびサブフォルダは基本的に755が安全です。この設定はフォルダの閲覧と移動を許可し、全ユーザーへの書き込みは防ぎます。SSHのfindコマンドでフォルダのみ一括指定できますが、誤ってファイルまで755にしないよう注意してください。PHPファイルは実行権限不要な場合が多く、644維持がより安全です。
4. ファイルを644に設定する
WordPressコアファイル、テーマファイル、プラグインファイルは644が標準です。これでWebサーバーは読み取りでき、グループや他ユーザーによる改ざんは防げます。テーマやプラグインのファイル編集機能を使う場合でも、本番環境ではセキュリティのため編集機能を無効化するのがベストです。
5. wp-config.phpを厳重に管理する
wp-config.phpは、データベース名・ユーザー名・パスワード・セキュリティキー・テーブルプレフィックスなど重要情報を含みます。このファイルは644よりも600や640の設定が望ましいです。共用サーバーによっては600でサイトが動かなくなる場合もあり、その際は640を試しましょう。変更後はサイトのフロントと管理画面をテストし、500エラーが出る場合はホスティングサポートに相談して最適値を確認してください。SSLの導入もセキュリティ上重要なので、SSL証明書購入もご検討ください。
6. .htaccessファイルを保護する
.htaccessはパーマリンク設定、リダイレクト、セキュリティルール、キャッシュ、アクセス制御に用いられます。基本は644ですが、より厳格に640も選択可能です。プラグインによっては.htaccessへの自動書き込みを要するため、必要なルールを書き加えた後、再度権限を厳しく設定しましょう。
wp-content、uploads、themes、pluginsのベストプラクティス
WordPressで最も動的なのがwp-contentディレクトリです。プラグインやテーマ、言語ファイル、メディアアップロードなどが集中します。攻撃の多くは、このディレクトリ内の脆弱なプラグインや古いテーマ、無制限なファイルアップロード機能を悪用して発生します。
uploadsフォルダでPHP実行を禁止する
uploadsフォルダはユーザーがアップロードしたファイルを保存しますが、多くのサイトではこのフォルダでPHP実行は不要です。そのため、uploads内でPHP実行を禁止する.htaccessやNginxルールを設置することで、仮に不正なPHPがアップロードされても実行されにくくなります。chmodと併用することで多層的な防御が可能です。
テーマ・プラグイン編集機能を無効化する
WordPress管理画面のテーマ・プラグイン編集機能は、管理者アカウントが乗っ取られた際に危険です。wp-config.phpにDISALLOW_FILE_EDITを追加することで、管理画面からのファイル編集を禁止できます。これにより、攻撃者が管理者権限を得ても直接PHPコード注入ができなくなります。
不要なテーマ・プラグインは削除する
使っていない古いテーマやプラグインもセキュリティリスクです。非アクティブのプラグインを「無効化」だけでなく、可能なら完全削除しましょう。アクティブなテーマ、バックアップ用のデフォルトテーマ、本当に利用しているプラグインだけを残すのが理想です。不要ファイルの削除=攻撃リスクの低減です。
サーバーセキュリティ設定とchmodの連携

正しいWordPressファイル権限は強固な基盤ですが、それだけでは十分なセキュリティとは言えません。サーバー側の追加対策と組み合わせることで、権限設定の効果を最大化し、攻撃リスクを減らせます。
最新のPHPバージョンを使用する
古いPHPバージョンは、性能面だけでなくセキュリティ面でも大きなリスクです。WordPressサイトでは、可能な限りサポートされている最新版PHPを使いましょう。新しいPHPは高速かつ既知の脆弱性に強く、ホスティングパネルでバージョンを確認し、テーマ・プラグインの互換性をテストしつつアップグレードしましょう。
Web Application Firewall(WAF)を導入する
WAFは、悪意あるリクエストをアプリケーションに届く前にフィルタリングします。SQLインジェクション、XSS、ファイルアップロード攻撃、ブルートフォースなどの一般的な脅威に対する追加防御になります。特にアクセスが多いWordPressサイトでは、chmodとWAFの併用が効果的です。安全なインフラ構築には、安全なウェブホスティングソリューションもご検討ください。
ディレクトリリスティングを無効化する
ディレクトリリスティングが有効だと、indexファイルのないフォルダ内がブラウザから一覧表示されてしまいます。これにより、攻撃者がプラグイン・テーマ・バックアップファイル名などを把握しやすくなります。ApacheならOptions -Indexes、Nginxならautoindex offを設定しましょう。これだけで探索型攻撃の難易度が上がります。
バックアップやデータベースファイルはウェブルートに置かない
public_html内にバックアップファイル(backup.zip、site-old.tar.gz、database.sqlなど)を置くのは非常に危険です。予測しやすいファイル名なら外部からダウンロード可能です。バックアップはWeb公開領域外で管理し、必要なら安全なリモートストレージへ。ドメインやDNS管理も含めた総合管理には、ドメイン登録とDNS管理を参照してください。
共用ホスティング、VPS、専用サーバーの違い
WordPressのchmod設定は概ね共通ですが、ホスティングの種類によって運用面の違いがあります。共用ホスティングでは所有権やPHPの実行ユーザー、セキュリティモジュール等はプロバイダーが管理している場合が多いです。一方、VPSや専用サーバーは権限だけでなく、ユーザー分離・サービス構成・ファイアウォール・ログ監視・自動アップデートなども自己管理が必要です。
共用ホスティングでは644・755がほぼ問題なく動作します。VPSではPHP-FPMプールごとに個別ユーザー設定が推奨され、専用サーバーでは中央ログ監視・マルウェアスキャン・ファイル整合性チェック・自動セキュリティパッチも必須です。複数WordPressサイトを管理する場合、各顧客サイトを個別アカウントで運用することで、一つのサイトの脆弱性がサーバー全体に広がるのを防げます。
よくあるchmodミス
WordPressサイトで権限設定のミスは、急いで問題解決を図る際に発生しがちです。代表的なミスとそのリスクをまとめます。
- サイト全体に777を付与:メディアや更新問題が解決しても、極めて危険なセキュリティホールとなる
- wp-config.phpを644のまま:動作はするが、より厳しい設定が可能な場合は推奨
- 所有権を確認しない:chmodではなくchownが原因の場合、誤った対応となる
- バックアップなしで一括コマンド操作:誤操作でサイトが動かなくなる恐れ
- uploadsでPHP実行を許可:ファイルアップロード攻撃時の被害拡大
- 古いプラグインを削除しない:非アクティブでも攻撃ターゲットになる
安全なWordPress chmodチェックリスト
以下のチェックリストは、サイト公開前・定期メンテナンス・攻撃後の復旧時に活用できます。
- フォルダ権限が755に設定されている
- ファイル権限が644に設定されている
- wp-config.phpが600または640で厳重管理されている
- .htaccessが644または640で管理されている
- どのフォルダ・ファイルにも777は付与されていない
- uploadsフォルダでPHP実行が禁止されている
- テーマ・プラグイン編集機能が無効化されている
- 不要なテーマ・プラグインが削除されている
- 最新PHPバージョンを使用中
- 自動バックアップと復元計画が整備済み
特に新規サイト構築時、メンテナンス後、攻撃復旧後に必ず実施しましょう。セキュリティは一度だけでなく、継続的なチェックが不可欠です。
chmod変更後に行うべきテスト
ファイル権限変更後、トップページが表示されるだけでは不十分です。WordPress管理画面へのログイン、新規メディアのアップロード、プラグイン更新画面の動作、パーマリンク設定保存、問い合わせフォームなど書き込み処理のテストを行いましょう。キャッシュプラグイン使用時はcacheフォルダが正常にファイル生成できるかも確認。WooCommerce等の動的サイトでは注文・決済・請求書・ダウンロード機能もチェックしましょう。
テスト中に403エラーが出た場合は権限が厳しすぎる場合があります。500エラーは.htaccessの設定ミス、PHP権限不足、所有権誤りが原因のことが多いです。メディアアップロードの失敗時はuploadsフォルダの所有者・権限を確認。777を安易に付与するより、まずエラーログを調査するのが正しい対応です。
まとめ:安全なWordPressファイル権限は「最小権限の原則」
WordPressの安全なファイル権限は、フォルダに755、ファイルに644、wp-config.phpには600または640が原則です。ただし、数字だけでなく所有権・最新PHP・WAF・バックアップ・uploadsでのPHP実行禁止・不要プラグインの削除など複合的な対策が重要です。「最小権限の原則」を守ることで、サイト運用に必要なアクセスを確保しつつ、攻撃者によるファイルシステムの改ざん・損害を最小限に抑えられます。
WordPressサイトを安全・高速・管理しやすいインフラで運用したい方は、Hostragonsのホスティング・SSL・ドメインサービスをぜひご検討ください。最適な構成のご相談はサポートチームまで。Hostragons ホスティングパッケージ
よくある質問
WordPressのファイル権限はどれがベスト?
一般的な推奨はフォルダに755、ファイルに644、wp-config.phpには600または640です。多くのホスティング環境で安全かつ正常に動作するバランスです。
WordPressのuploadsフォルダを777にしても大丈夫?
おすすめしません。uploadsフォルダを777にすると誰でも書き込み可能となり、不正ファイルアップロードのリスクが高まります。通常は755で十分。問題がある場合は所有権を確認しましょう。
wp-config.phpを600にするとサイトが壊れる?
サーバー構成によっては600で問題なく動作しますが、場合によっては500エラーになることも。600でエラーが出る場合は640を試してください。目的はサーバーが読み取れる最も厳しい権限を使うことです。
chmod設定の変更はSEOに影響する?
直接ランキング要因ではありませんが、誤った権限設定によるサイトエラーやセキュリティ侵害、アクセス障害が発生するとSEOに間接的な悪影響があります。
cPanelからファイル権限を変更できる?
はい。cPanelファイルマネージャーでファイルやフォルダを右クリックし、権限を変更できます。一括変更時は慎重に、必ず事前バックアップを取得してください。