smart-access-control v4.x

smart-access-control
この記事は約13分で読めます。

WordPressのプラグイン「smart-access-control」の説明書です。

このWordPressプラグインは、クローラー・User-Agent・IPアドレスを組み合わせて、全ページまたは、投稿や固定ページごとにアクセスを精密に制御する管理者向けツールです。

検索エンジン、AIクローラー、スクレイピングツール、不正なブラウザアクセスを柔軟に許可・拒否できます。 AIに対して学習されたくない画像がある時に非表示に行う、AIに対して要約しやすいようにテキストを表示することなどが可能です。

出来ること

次の機能が使えます。

  • 予め登録したUser-Agent、IPアドレスに対してアクセス制御が可能です。
  • アクセスしたUser-Agent、IPアドレスをブラックリスト、ホワイトリストに登録して柔軟にアクセス制御出来ます。アクセスに対して評価をします。
  • IPアドレスのリストが簡単に自動更新出来ます。
  • 評価に対してマークダウンで記述した専用ページ、置換済みのページの専用表示が可能です。通常のページとは別に別のテキストを見せたいときに便利です。
  • マークダウンのテンプレートをランダムに表示可能です。
  • 評価に対してアイキャッチ画像をテキスト置換できます。
  • 評価に対してアイキャッチ画像を非表示出来ます。
  • 評価に対して本文の画像などのメディアをテキストに置換可能です。
  • 評価に対して本文の画像などのメディアを非表示に出来ます。
  • 評価に対してアクセスをブロック可能です。
  • アクセスブロック時のステータスコード、メディアを柔軟に変更出来ます。
  • 評価に対して指定したURLにリダイレクトが可能です。

インストール方法・設定画面の移動方法

現在はGitHubのみ配信しております。

Release v4.0.1 · donnma777/smart-access-control
画像付き説明書のリンクを追加しました。v4.0.0と機能は同一です。

Assetsからダウンロードが可能です。

WordPressの「プラグインを追加」からファイルを選択してzipファイルのままアップロードし、インストールを行ってください。

インストールが完了出来ている場合、「Smart Access Control アクセス制御」が表示されています。

設定」を押下すると、本プラグインの設定が可能です。

設定>アクセス制御」からでも設定出来ます。

グローバル設定

はじめに「おすすめ設定をインポートする」から設定をインポートすることを推奨します。

インポートが完了すると、後述に記述する「User-Agent 定義、IPアドレス定義」のリストをインポート可能です。

グローバル設定で設定した評価方法に応じて次の制御が行われます。

評価方法挙動
無効全設定を無効化します。グローバル設定、投稿・固定ページの設定に関わらず、すべての評価が無効化されます。
投稿・固定ページ個別設定投稿・固定ページごとの設定(ブラックリスト/ホワイトリスト等)に従って評価されます。
全ページで設定グローバル設定で設定した内容がすべてのページに反映されます。投稿・固定ページの設定に関わらず、グローバル設定の内容がすべてのページに反映されます。

グローバル設定で適用されるUser-Agent、IPアドレスの評価の挙動は下記の通りです。目的に応じて選択してください。

評価挙動
設定しない全ページで評価を行いません。
ブロックリスト選択したリストに対して評価を行います。
ホワイトリスト選択したリストに対して評価を行い、除外設定をします。
全許可すべての評価を行いません。
全拒否評価を行わず、すべて拒否します。

グローバル設定 評価-マークダウン置換

グローバル設定 評価-マークダウン置換の評価方法で「全ページで設定」を設定した場合、下記の機能が利用可能です。設定した場合、サイト全体にマークダウン置換が行われます。

  • User-Agentの評価-マークダウン」、「IPアドレスの評価-マークダウン」で評価の設定を行います。
  • テンプレート選択方法」の挙動で下記が行えます。
テンプレート選択方法挙動
テンプレートを置換、専用表示「置換テンプレート」のリストから表示したいテンプレートを表示可能です。
テンプレートをマークダウンのまま専用表示「置換テンプレート」のリストから表示したいテンプレートを表示可能です。マークダウン形式で表示します。
ランダムにテンプレートを置換、専用表示「置換テンプレート」のリストから表示したいテンプレートをランダムに表示可能です。
ランダムにマークダウンのまま表示置換「置換テンプレート」のリストから表示したいテンプレートを表示可能です。マークダウン形式で表示します。

グローバル設定 評価-メディア

グローバル設定 評価-メディアの評価方法で「全ページで設定」を設定した場合、下記の機能が利用可能です。設定した場合、サイト全体にメディアをテキスト置換または非表示が可能です。

  • アイキャッチ画像表示方法」の選択に応じて次の表示を行います。
表示方法挙動
通常表示通常表示します。
評価に従って代替テキストに置換アイキャッチ画像をテキストに置換可能です。
選択した場合「アイキャッチ画像の代替テキスト」に入力したテキストに置換可能です
評価に従って非表示アイキャッチ画像を非表示できます。
  • メディア表示モード」の選択に応じて次の表示を行います。
表示方法挙動
通常表示通常表示します。
評価に従って代替テキストに置換アイキャッチ画像をテキストに置換可能です。
選択した場合「アイキャッチ画像の代替テキスト」に入力したテキストに置換可能です
評価に従って非表示アイキャッチ画像を非表示できます。
  • User-Agentの評価-メディア」、「IPアドレスの評価-メディア」で評価の設定を行います。

グローバル設定 評価-ページ

グローバル設定 評価-ページの評価方法で「全ページで設定」を設定した場合、下記の機能が利用可能です。設定した場合、サイト全体にアクセス制限、リダイレクト設定が可能です。

User-Agentの評価-ページ」、「IPアドレスの評価-ページ」で評価の設定を行います。

ページ評価の動作

  • ページ評価の動作」によって次の設定が行えます。
動作方法挙動
アクセスをブロックする評価に応じてアクセス制限します。「ページの評価」リストで作成したステータスコード、メッセージ内容を表示することが可能です。
リダイレクトする評価に応じてリダイレクトします。選択した場合、リダイレクトするURLが入力出来ます。

IPアドレス自動更新設定

IPアドレス範囲1」「IPアドレス範囲2」で定義したリストのIPアドレスリストの自動更新頻度が設定可能です。

その他の設定

おすすめ設定のインポート」からおすすめの定義リストがインポート可能です。

全データのクリア」から保存している本プラグインのデータ削除可能です。プラグインをアップデートする場合や、不具合が表示た時などにご利用ください。

マークダウンテンプレート定義

全ページまたは投稿・固定ページで表示するテンプレートが保存できます。マークダウン形式で記述してください。

ランダム表示に含める」オプションを有効化すると、選択したテンプレートに対してランダムで表示が可能になります。

アイキャッチ画像」を指定すると、ページのアイキャッチ画像が評価に応じて上書き可能です。

ページ評価メッセージ定義

全ページまたは投稿・固定ページでアクセス制限する際の定義ができます。

User-Agent 定義リスト

評価を行いたいUserAgentを定義できます。

  • 定義1(Bot系):【判定方式】前方一致・大文字小文字無視(User-Agentの先頭から一致。例: Googlebot など)
    例: Googlebot → Googlebot/2.1 で一致
  • 定義2(Tool系):【判定方式】部分一致・大文字小文字無視(User-Agent内に含まれていれば一致。
    ただし短いもの(curl, Java など)は ^ で先頭限定の正規表現として判定されます)
    例: ^curl → curl/8.0.1 で一致、python-requests → Mozilla/5.0 python-requests/2.28 で一致

IPアドレス範囲 定義リスト


許可または拒否したいIPアドレスの範囲(CIDR形式)を登録します。

公開IPリストURLを設定し「自動更新」を有効にすると、定期的に最新のIP範囲を取り込みます。

※定義1、定義2は判定方法に違いありません。管理しやすいようにお好みに登録してください。

診断ツール

現在のアクセス情報やCronスケジュールの確認、特定のIPアドレスのチェックができます。

プラグインの使い方

本アプリの使い方が確認可能です。基本的な解説は記述しているので、困った時に見てください。

投稿・固定ページの設定

グローバル設定で「投稿・固定ページ個別設定」で設定した場合、投稿・固定ページ毎のアクセス制御が可能になります。

投稿・固定ページで適用されるUser-Agent、IPアドレスの評価の挙動は下記の通りです。目的に応じて選択してください。

評価挙動
設定しない評価を行いません。
ブロックリスト選択したリストに対して評価を行います。
ホワイトリスト選択したリストに対して評価を行い、除外設定をします。
全許可すべての評価を行いません。
全拒否評価を行わず、すべて拒否します。

マークダウン置換

投稿・固定ページ毎にマークダウン置換が行われます。

  • 置換方法」に応じて表示方法を設定出来ます。
テンプレート選択方法挙動
設定しない設定しません。
マークダウンに置換、専用表示専用表示します。置換するマークダウン本文に記述したテキストを置換して表示します。
マークダウンのまま表示マークダウン形式で表示します。置換するマークダウン本文に記述したテキストを置換してマークダウンのまま表示します。
テンプレートを置換、専用表示専用表示します。「置換テンプレート」のリストから表示したいテンプレートを表示可能です。
テンプレートをマークダウンのまま表示置換マークダウン形式で表示します。「置換テンプレート」のリストから表示したいテンプレートをマークダウン形式で表示します。
ランダムにテンプレートを置換、専用表示専用表示します。「置換テンプレート」のリストから表示したいテンプレートをランダムで表示可能です。
ランダムにマークダウンのまま表示置換マークダウン形式で表示します。「置換テンプレート」のリストから表示したいテンプレートをランダムにマークダウン形式で表示します。

  • マークダウンのページタイトル:マークダウン本文のタイトル部分を設定します。
  • マークダウン用のアイキャッチ画像:マークダウン本文に使用するアイキャッチ画像を設定します。
  • 置換するマークダウン本文:マークダウン本文の内容を設定します。
  • テンプレート選択:表示するテンプレートを選択します。
  • User-Agentの評価-マークダウン:特定のクローラーやボット(User-Agent)からのアクセス時のみ本文を置換できます。
  • IPアドレスの評価-マークダウン:特定のIPアドレスやIP範囲からのアクセス時のみ本文を置換できます。
  • マークダウンのプレビュー:マークダウン本文のプレビューを確認できます。

メディア制御

投稿・固定ページ毎に画像などのメディアをテキスト置換、非表示設定可能です。

  • 「メディア表示モード」で下記の設定が出来ます。
動作方法挙動
設定のしない設定しません。
評価に従って個別でテキスト置換・非表示1つ1つのメディアをテキスト置換、非表示設定出来ます。
評価に従ってすべて非表示本文のメディアをすべて非表示に出来ます。

  • ブロックの表示モード:各メディアを選択後に「アクセス制御>ブロック表示モード」から設定できます。「通常表示、非表示、テキスト置換」のいずれかを選択できます。テキスト置換を選択した場合、「メディア表示設定」に入力したテキストを置換します。
  • メディア表示設定:メディア表示モードで「テキスト置換」を選択した場合に、置換するテキストを入力します。
  • User-Agentの評価-メディア:特定のクローラーやボット(User-Agent)からのアクセス時のみ、画像やメディアの表示・非表示や置換を行います。
  • IPアドレスの評価-メディア:特定のIPアドレスやIP範囲からのアクセス時のみ、画像やメディアの表示・非表示や置換を行います。
  • IPアドレスの評価-メディア:特定のIPアドレスやIP範囲からのアクセス時のみ、画像やメディアの表示・非表示や置換を行います。
  • メディアプレビュー:メディアの表示・非表示や代替テキストの置換をプレビューできます。保存後に有効です。

ページ評価

投稿・固定ページ毎にアクセス制限、リダイレクト設定が可能です。

  • 「User-Agentの評価方法-ページ」・「IPアドレス-評価方法-ページ」から次の制御が可能です。
動作方法挙動
設定のしない設定しません。
アクセスをブロックするアクセス制限が可能になります。
リダイレクトするリダイレクトが可能になります。

  • User-Agentの評価-ブロックメッセージ:ページブロック時にテンプレートまたは任意の定義メッセージを指定して表示します。
  • User-Agentの評価時のメッセージ定義:ページブロック時のカスタムメッセージを定義します。
  • User-Agentの評価-リダイレクトURL:リダイレクト先URLを定義します。
  • IPアドレスの評価方法-ページ:特定のIPアドレスやIP範囲からのアクセス時のみ、ページ全体の表示可否やリダイレクトを制御します。
  • IPアドレスの評価-ページ:特定のIPアドレスやIP範囲からのアクセス時のみ、ページ全体の表示可否やリダイレクトを制御します。
  • IPアドレスの評価-ブロックメッセージ:ページブロック時にテンプレートまたは任意の定義メッセージを指定して表示します。
  • IPアドレス評価時のメッセージ定義:ページブロック時のカスタムメッセージを定義します。
  • IPアドレスの評価-リダイレクトURL:リダイレクト先URLを定義します。

マークダウン置換を行った場合のイメージ

専用表示」を行う場合、下記のようなイメージになります。(左側が編集画面・右側が実際に表示されるサイトイメージ)

本来表示するタイトル、アイキャッチ画像、本文を丸ごと上書き可能です。

マークダウンのまま表示」をする場合下記のようなイメージになります。(左側が編集画面・右側が実際に表示されるサイトイメージ)

タイトルと、マークダウン形式で書かれた文が表示出来ます。

メディア評価を行った場合のイメージ

メディア評価は下記のようなイメージになります。(左側が編集画面・右側が実際に表示されるサイトイメージ)

アイキャッチ画像をテキスト置換、メディアをテキスト置換・非表示に設定したイメージです。

ページ評価を行った場合のイメージ

アクセス制限を行った場合は下記のようなイメージになります。(左側が編集画面・右側が実際に表示されるサイトイメージ)

ステータスコードは「開発者モード」で確認可能です。

重要な注意事項と免責事項

1. 免責事項

本プラグインの利用により生じたいかなる損害(アクセス制限の誤判定、検索エンジン評価への影響、収益・機会損失など)についても、作者は一切の責任を負いません。利用者の判断と責任においてご利用ください。

2. 制御の優先順位と技術的制限

本プラグインは WordPress (PHP) レイヤー で動作します。そのため、以下の制限があります。

  • robots.txt やサーバー設定が優先されます: robots.txt、Webサーバー設定(Apache/Nginx)、WAF、CDNなどで拒否されているアクセスは、本プラグインに到達する前にブロックされます。
  • PHPが実行されないアクセスは制御できません: 画像ファイル、CSS、JSなどの静的ファイルへの直接アクセスや、キャッシュプラグイン(WP Super Cacheなど)によって生成された静的HTMLへのアクセスは、PHPを経由しないため制御できません。
    対策: 会員限定ページなど重要なページでは、キャッシュプラグインの除外設定を行ってください。
  • 500 番台エラーに注意: 504 や 500 などを返すと、サーバーやプロキシが独自エラーページを挿入し、一度ブロックしても二回目以降は正常ページが返される場合があります。テスト時はキャッシュを完全に削除するか、ブロック用ステータスを 403 に変更してください。
  • 表示するブラウザのキャッシュが残っている場合、ページが表示されたり、画像が表示されたままになる事があります。
  • クローキングになる可能性: ユーザーのアクセス条件によって表示内容が変わるため、検索エンジン等から見た際にクローキングと判断される可能性があります。検索ポリシーに抵触しない運用設計(全ユーザーに同等の内容を返す、明確な許可制の会員エリアでのみ使用する等)を検討してください。
  • 「グローバル設定>投稿・固定ページ」の優先順位でアクセス制御します。

3. 完全なブロックの保証はありません

  • UA偽装: 悪意のあるクローラーが一般的なブラウザの User-Agent を偽装した場合、UA判定だけでは防げないことがあります(IP制限との併用を推奨)。
  • 保証の限界: 本プラグインは、アクセス制御の労力を減らし、既知のボットを効率的に管理するためのツールです。完全なセキュリティ防御が必要な場合は、WAFなどの導入をご検討ください。

4. 設定時の注意

  • 自分自身をブロックしない: 特に「IPアドレス評価」でホワイトリスト(許可)モードを使用する場合、自分のIPアドレスを含めないとページを閲覧できなくなります(管理画面には影響しません)。

本プラグインは二次配布禁止です。 本ソフトウェアの著作権およびライセンスは donnma に帰属します。利用条件の詳細は作者にお問い合わせください。

タイトルとURLをコピーしました