Smart Access Control アクセス制御
WordPress用プラグイン アクセスを精密に制御する管理者向けプラグイン。Advanced access control plugin for administrators.
by donnma · github.com/donnma777/smart-access-control · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/donnma777/smart-access-control/archive/refs/heads/main.zip高度なアクセス制御プラグイン
このWordPressプラグインは、クローラー・User-Agent・IPアドレスを組み合わせて、投稿や固定ページごとにアクセスを精密に制御する管理者向けツールです。 検索エンジン、AIクローラー、スクレイピングツール、不正なブラウザアクセスを柔軟に許可・拒否できます。 AIに対して学習されたくない画像がある時に非表示に行う、AIに対して要約しやすいようにテキストを表示することなどが可能です。
🌟 主な機能
- 全ページまたは固定ページ・投稿・固定ページでアクセス制御が可能です。
- IPアドレス・UserAgentに応じてアクセス制御できます。アクセスに対して評価を行い、制御します。
- 評価に従って準備したマークダウンに置換、任意のテキストページを表示可能です。
- 評価に従ってメディアをテキストに置換、非表示にすることが出来ます。
- 評価に従ってアクセス制限時のメッセージ、任意のステータスコードを表示可能です。リダイレクト設定もできます。
- 自動でIPアドレスの定義が更新可能です。
⚠️ 重要な注意事項と免責事項
1. 免責事項
本プラグインの利用により生じたいかなる損害(アクセス制限の誤判定、検索エンジン評価への影響、収益・機会損失など)についても、作者は一切の責任を負いません。利用者の判断と責任においてご利用ください。
2. 制御の優先順位と技術的制限
本プラグインは WordPress (PHP) レイヤー で動作します。そのため、以下の制限があります。
- robots.txt やサーバー設定が優先されます:
robots.txt、Webサーバー設定(Apache/Nginx)、WAF、CDNなどで拒否されているアクセスは、本プラグインに到達する前にブロックされます。本プラグインで「許可」しても、上位レイヤーで拒否されていればアクセスできません。 - PHPが実行されないアクセスは制御できません:
画像ファイル、CSS、JSなどの静的ファイルへの直接アクセスや、キャッシュプラグイン(WP Super Cacheなど)によって生成された静的HTMLへのアクセスは、PHPを経由しないため制御できません。
- 対策: 会員限定ページなど重要なページでは、キャッシュプラグインの除外設定を行ってください。
- 500番台エラーに注意: プラグインは 504 や 500 などのステータスを返せますが、サーバーやプロキシはこれらを「エラー」とみなし独自テンプレートを返す場合があり、最初のアクセスだけ正しくブロックされて2回目以降は正常ページがキャッシュされることがあります。テスト時にはキャッシュを完全にクリアするか、可能であればブロック用メッセージを 403 など 5xx 以外に変更してください。
- クローキングになる可能性: ユーザーのアクセス条件によって表示内容が変わるため、検索エンジン等から見た際にクローキングと判断される可能性があります。検索ポリシーに抵触しない運用設計(全ユーザーに同等の内容を返す、明確な許可制の会員エリアでのみ使用する等)を検討してください。
3. 完全なブロックの保証はありません
このプラグインは User-Agent 文字列や IPアドレスに基づいて判定を行いますが、これらは偽装可能です。
- UA偽装: 悪意のあるクローラーが一般的なブラウザの User-Agent を偽装した場合、UA判定だけでは防げないことがあります(IP制限との併用を推奨)。
- 保証の限界: 本プラグインは、アクセス制御の労力を減らし、既知のボットを効率的に管理するためのツールです。完全なセキュリティ防御が必要な場合は、WAFなどの導入をご検討ください。 完全なブロックは出来ません。また検索ページに影響があるものがありますので、利用には注意してください。
4. 設定時の注意
- 自分自身をブロックしない: 特に「IPアドレス評価」でホワイトリスト(許可)モードを使用する場合、自分のIPアドレスを含めないとページを閲覧できなくなります(管理画面には影響しません)。
🚀 インストールと設定
zipファイルでプラグインをインストールしてください。有効化したら「アクセス制御」タブで設定します。 利用方法は「プラグインの使い方」を参照してください。
🛠️ デバッグログについて
プラグインには開発時の調査用に多くの error_log() 出力が含まれています。通常これらは
WP_DEBUG が真のときだけ書き込まれますが、サイトによっては WP_DEBUG を残しておき
たい場合もあります。そのような場合は以下のコードをテーマの functions.php や
カスタムプラグインに追加して、Smart Access Control のログを無効にできます。
add_filter('ggc_enable_debug_log', '__return_false');
同じフィルターは定数 GGC_ENABLE_DEBUG_LOG にも適用されます。
余計な初期化ログを抑制する
コンストラクタログ (Custom_Crawler_Core instantiated) はリクエストごとに
出力されるため、通常は無効化されています。どうしても見たい場合は以下を使い
ますが、デフォルトでは false です。
add_filter('ggc_log_instantiation', '__return_true');
📝 作者情報
- Author: donnma
- HP: https://donnma.com/
- GitHub: https://github.com/donnma777
- プラグインについての質問、支援など: XやHPで問い合わせてください。
©️ ライセンス
本プラグインは二次配布禁止です。 本ソフトウェアの著作権およびライセンスは donnma に帰属します。利用条件の詳細は作者にお問い合わせください。