Ghost Comment Manager
Ghost Comment Manager is designed to reduce the time you spend moderating comments. Instead of re-approving the same people over and over, you mark a person as Trusted one time. From then on: Their new comments publish immediately. A subtle “ghost” indicator is shown to moderators only so you can spot and confirm at your convenience. Visitors see a normal comment; nothing changes on the public site. Alongside this workflow improvement, the plugin includes a lightweight Shield that blocks common spam patterns without external services. A simple dashboard gives you live counts and a clear picture of what is happening. This plugin focuses on workflow, clarity, and speed. It plays nicely with Akismet or Antispam Bee if you already use them. Why use this plugin Save time: stop re-approving loyal commenters. Stay safe: every trusted comment is highlighted to moderators until confirmed. Cut spam: built-in Shield blocks common abusive behavior before it reaches your queue. See everything: a simple dashboard with trusted totals and block reasons. Keep control: bulk trust/untrust, user-profile control, and comment-screen filters. Features Core workflow – Trust / Untrust a user from the Comments list. – Auto-trust after X approved comments (configurable). – Ghosted auto-publish for trusted users (mod-only highlight until confirmed). – One-click Confirm to remove the ghost indicator. – Role exclusions so specific roles (for example Editors) publish normally without ghosting. – Custom ghost indicator icon and background color. Shield Lite (no external API) – Honeypot field that bots tend to fill. – Minimum submit time to stop instant bot posts. – Rate limits per IP (per minute and per hour). – Maximum links per comment. – Keyword and regular expression blocklist. – Auto-close comments on old posts after X days. – Minimum and maximum comment length. – Duplicate comment protection within a time window. Moderation UX – Comment-screen filters: – Pending (New Users): only untrusted comments awaiting approval. – Ghost (Trusted): approved comments still awaiting moderator confirmation. – Bulk actions: Trust or Untrust the user associated with selected comments. – Trust from the User Profile screen (checkbox). UI and Dashboard – Colorful dashboard cards for trusted users, ghost-pending count, and totals. – Shield Lite “blocks by reason” table. – Clean and organized settings pages. – “Pro Features” preview tab (coming soon items). Integrations and compatibility – Respects Akismet / Antispam Bee: if a comment is flagged as spam, this plugin does not ghost-mark or auto-approve it. – Works with block themes and classic themes. – Multisite compatible on a per-site basis. How it works (non-technical) 🧠 Approve vs Trust Approve = you approve one comment only. Trust = you approve the person. Once a user is trusted, their future comments are published instantly (no moderation wait). Example: You approve Sarah’s first few comments. After that, she’s trusted — her next comments appear immediately. 👻 Ghost indicator (moderator-only) Trusted users’ comments publish instantly but can be optionally “ghosted” (hidden from public) depending on your settings. If ghosting applies: Public visitors do not see ghosted comments yet. Moderators see them with a ghost icon 👻 or colored background. When you click “Confirm (remove ghost)”, the comment becomes visible to everyone. Example: John is a trusted user. His comment posts immediately but shows a ghost icon only moderators see. You review and click Confirm → it’s now public and the ghost mark disappears. If the user’s role is excluded in settings (for example, “Subscriber”), their comments publish publicly right away with no ghost step. ⚙️ Auto-trust threshold In Settings → Ghost Comment Manager → General, set Auto-trust after X approvals. Example: set it to 3. When any commenter reaches 3 approved comments, the plugin automatically trusts them. Their future comments post instantly without waiting for moderation. Changing this number later affects new users only; existing trusted users stay trusted. 🔐 Role exclusions (no ghosting) Choose which roles should never be ghosted. Example: check Administrator and Editor. Comments by these roles will always publish normally — no ghosting, no confirmation step. This ensures your staff or editors aren’t delayed or hidden from public view. 🛡️ Shield Lite (Spam / Abuse Guard) Works quietly in the background to stop obvious spam before it reaches your moderation queue. Uses: Honeypot field to trap bots Minimum submit time (prevents instant spam posts) Rate limits, link limits, and keyword blocklist The default settings are safe and balanced. You can fine-tune them anytime to match your community’s needs. Step-by-step setup Install and activate the plugin. Open Ghost Comments → Settings → General: Set “Auto-trust after X approvals” (0 disables auto-trust). Choose any roles to exclude from ghosting. Pick an icon and background color for the moderator-only ghost indicator. Open Ghost Comments → Settings → Shield Lite: Keep Honeypot on. Set Minimum submit time (3–5 seconds is typical). Set rate limits (for example 6 per minute and 60 per hour). Set the maximum number of links (for example 2). Add any keywords or regular expressions to block. Optionally auto-close comments on posts older than X days. Adjust minimum/maximum length and duplicate time window to taste. Start using it: In Comments → All Comments, click “Trust User” on a real commenter. Their next comments auto-publish with a moderator-only ghost indicator. Click Confirm to remove the indicator when you’re ready. Using each feature Trust / Untrust from Comments – Where: Comments → All Comments (hover a row). – Action: click “Trust User” or “Untrust User”. – Result: future comments from that user auto-publish (if trusted) and are ghost-flagged for moderators. Auto-trust after X approvals – Where: Ghost Comments → Settings → General. – Action: set a number of approved comments required (0 disables). – Result: users become trusted automatically when they reach the threshold. Confirm (remove ghost) – Where: Comments → All Comments on the trusted comment row. – Action: click “Confirm (remove ghost)”. – Result: the moderator-only highlight disappears; the comment remains published. Role exclusions – Where: Ghost Comments → Settings → General. – Action: check roles that should not be ghosted. – Result: users with those roles publish normally without a ghost indicator. Ghost indicator style – Where: Ghost Comments → Settings → General. – Action: set icon and color. – Result: the moderator-only highlight uses your chosen style. Shield Lite: Honeypot – Where: Ghost Comments → Settings → Shield Lite. – Action: keep “Honeypot” enabled. – Result: bots that fill the hidden field are blocked immediately. Shield Lite: Minimum submit time – Where: Ghost Comments → Settings → Shield Lite. – Action: set a minimum number of seconds (0 disables). – Result: submissions that happen too quickly are blocked. Shield Lite: Rate limits – Where: Ghost Comments → Settings → Shield Lite. – Action: set per-minute and per-hour limits (0 disables). – Result: repeated posting from the same IP is throttled. Shield Lite: Maximum links – Where: Ghost Comments → Settings → Shield Lite. – Action: set the link limit (0 means no limit). – Result: comments with too many links are blocked. Shield Lite: Keyword / regex blocklist – Where: Ghost Comments → Settings → Shield Lite. – Action: enter one rule per line; plain words match case-insensitive; regular expressions in /pattern/ or /pattern/i form are supported. – Result: comments matching a rule are blocked. Shield Lite: Auto-close old posts – Where: Ghost Comments → Settings → Shield Lite. – Action: set days after which comments are closed (0 disables). – Result: new comments are blocked on very old posts. Shield Lite: Min / Max length and Duplicate window – Where: Ghost Comments → Settings → Shield Lite. – Action: set minimum and maximum characters, and a duplicate-detection window in seconds (0 disables). – Result: very short, very long, or repeated comments are blocked. Filters on the Comments screen – Where: Comments → All Comments. – Action: use the “GCM View” dropdown or the additional status links. – Result: see either Pending (New Users) or Ghost (Trusted) items instantly. Bulk actions: Trust / Untrust – Where: Comments → All Comments. – Action: select multiple comments → choose “Trust user of selected comments” or “Untrust user of selected comments” → Apply. – Result: users associated with those comments are updated in bulk. Trust from the User Profile – Where: Users → All Users → Edit user. – Action: check “Trusted Commenter” and update the profile. – Result: that user is trusted without needing to find a specific comment. Dashboard – Where: Ghost Comments → Dashboard. – Shows: trusted user total, ghost-pending count, totals for auto-trusted, ghosts marked, ghosts confirmed, and a table of Shield Lite blocks by reason. Compatibility, performance, privacy Compatibility – Works with WordPress 6.0 and newer, classic and block themes. – Plays well with Akismet and Antispam Bee; if a comment is flagged as spam, it will not be ghost-marked or auto-approved by this plugin. – Multisite: activate per site or network-wide; settings are per site. Performance – Lightweight by design. No front-end JavaScript for visitors. Shield Lite uses simple server checks and transients. Privacy – Stores minimal user meta to remember trusted status and counters for the dashboard. – No data is sent to external services by this plugin. Troubleshooting I trusted a user but their comment did not auto-publish – Confirm the user is logged in with the same account you trusted. – Check if another plugin is forcing all comments to be held for moderation. – If Akismet flagged the comment as spam, it will not auto-publish. Ghost highlight is not visible to moderators – Ensure you are logged in with a role that can moderate comments. – Confirm the comment belongs to a trusted user and has not already been confirmed. – Check the indicator color in settings; choose a more visible color if needed. Auto-trust threshold is set but users are not becoming trusted – The threshold only counts approved comments after you enabled it. – Set the threshold to a smaller number to test quickly. Too many legitimate comments are blocked – Lower the minimum submit time. – Increase rate limits or set them to 0 to disable. – Raise the maximum links or remove specific keywords/regexes from the blocklist. – Reduce duplicate window time. Roadmap / Pro Coming soon in Pro: – Trust levels with scoring and optional expiry – Keyword rules with scoring and spam-gate thresholds – Team assignments and internal notes – Analytics with CSV export – Advanced role and post-type overrides
Top keywords
- comments59×3.70%
- ghost33×2.07%
- trusted24×1.51%
- shield22×1.38%
- lite20×1.26%
- shield lite20×1.26%
- user20×1.26%
- settings19×1.19%
- comment18×1.13%
- set16×1.00%
- action15×0.94%
- result15×0.94%
Throws SPAM Away
海外からのコメントスパムに対抗(?)する手段として開発したプラグインですが 現在下記のフィルタでスパム判定しています。 ・日本語判定(日本語を含むかどうか) コメント欄に日本語文字列が含まれていないと投稿出来ない・・・ といってもエラーにするのではなく「無視」して何事もなかったようにもとの記事に戻ります。 [設定にてON/OFF出来ます。] ダブルバイトをカウントするのではなく正規表現により日本語を検出しているため、ダブルバイトの他言語も侵入してきません。 [設定にてON/OFF出来ます。] 記事のタイトルを利用して「日本語を含むこと」の条件を回避するふとどきものを排除するため 「タイトルの文字列はカウントしない」機能を作りました。 ・NGキーワード判定 NGキーワードを複数設定することが出来ます。(カンマ区切りにて設定) 日本語の文章であっても設定された「NGキーワード」を含む投稿の場合は、同様に無視します。 もちろん他の言語のキーワードでもOKです。 日本語が一切入っていないコメントでも「NGキーワード」だけ設定したい場合を想定し 日本語が入っていないと許可しない設定を「オン・オフ」出来るようになっています。 ・リンク含有数判定 リンクと思わしき’http’を含んだ文字列が許容数(初期設定は3つ)を超えて包含される場合にエラーとします。 ・ダミー項目による判定(スパムロボット対策) 空のダミーフィールドを生成しJavaScriptでの制御を行うことでスパム判定します。(停止も可能です) ※スパムプログラムによる投稿に有効です。実際に入力しようとしてもその項目は見えないようになっています。 [設定にてON/OFF出来ます。] ・IPアドレスによる判定 指定IPアドレスからの投稿をスパムとして処理します。 以前スパムとしてチェックした投稿のIPアドレス及び、任意のIPアドレスでの制御も出来るようになっています。 【拒否リスト】 拒否リストに登録したIPアドレスからの投稿をスパム処理します。 【許可リスト】 許可リストに登録したIPアドレスからの投稿はすべてのフィルタを通しませんので優先的に通常コメントとしてノーチェックで投稿処理がなされます。 ※許可リストが一番強力にしてありますので、このIPアドレスがAkismetで捉えられていてもブロック対象だったとしても優先で通過させます。 【許可リストのみ許可するフラグ】 許可リストに登録したIPアドレスのみ許可するフラグをチェックすると許可リスト登録IP以外は無視されるようになります。 このフラグが付いている場合は本来ノーチェックだった許可リストへIPアドレスチェック以外が行われるようになります。 IPアドレスの指定「ブロックリスト」「許可リスト」共に「改行」区切りで複数入力できますが、「192.168.1.0/24」のようにIPアドレスの範囲指定も可能です。 ※例:192.168.0.1,192.168.1.0/24,69.208.0.0/16 と指定した場合 [192.168.0.1]と[192.168.1.0 ~ 192.168.1.255]と[69.208.0.0 ~ 69.208.255.255]のIPアドレスを拒否(または優先通過)対象とします。 ・スパムフィルタによる判定 このプラグインにて「スパムフィルタ」として利用させて頂いておりました「スパムちゃんぷるー(ベータ)」http://spam-champuru.livedoor.com/dnsbl/ ですが、「2013年5月31日を持ちましてサービスを終了させていただくことになりました。」というアナウンスを受けながらも (参考URL:http://blog.livedoor.jp/edge_labs/archives/1791613.html )現在まで利用させて頂いてまいりました。 ですが、2014年の締めくくりとしてこのままXデーを迎えるわけにもいかないという判断でこのスパムフィルタを組み合わせられるように構築しなおしました。 選択肢は「bsb.spamlookup.net, bsb.empty.us, list.dsbl.org, all.rbl.jp」から自由に選択出来、プラスご自由に記入出来るように入力欄を設けました。 これらの「選択肢」「自由記入欄」はリストとしてミックスされフィルタとして利用することになります。 ※そのため、数が多いとその分、待ち時間・トラフィックが大きくなることはご注意ください。 ※利用できる間は「dnsbl.spam-champuru.livedoor.com」も設定することは可能です。 最後に「すぱむちゃんぷるー」を利用させていただきまして大変ありがとうございました。 設定にてON/OFF出来ます。 ○スパムデータベースでスパム投稿の増減を確認出来ます。 スパムデータベースに保持された投稿がどこのIPアドレスから行われたものかを知るための WHOIS情報 リンクがあります。 この「WHOIS情報」リンクは ARIN ( https://www.arin.net/ ) を利用しています。 表示期間を設定出来ますのでお好みの周期を設定してください。 また表示期間を過ぎたデータを削除することも可能です。 ※あまりにも解析処理に時間がかかるようでしたら過去のデータを削除することをお試し下さい。 テストなどでスパム投稿したIPアドレスはスパム投稿一覧よりボタンひとつで削除出来ます。 【スパム判定されたコメントは「スパムデータ」の「投稿内容の判定」一覧から確認出来ます】 確認したいスパム判定コメントの「内容確認」またはエラー内容・IPアドレスをクリックするとスパム判定されたコメントの内容を確認出来ます。 同一IPアドレスからのスパム判定コメントが複数ある場合は最新のコメントのみが表示されます。 コメント内容を表示し判定が誤っている場合は「スパム判定を解除」ボタンを押すことでスパム判定を解除出来ます。 スパム判定を解除されたコメントはスパムデータから削除されます。 — これまでの変更点について ※ バージョンの 第4位はWordPressやPHPのバージョンアップの確認を行った際に変更しています。機能変更はありません。 ・バージョン 3.8.2 WordPressバージョン 6.9.1 対応確認。 PHP8.5対応確認。 設定の変更箇所がある場合に設定の保存を促すメッセージを表示するように変更。 ・バージョン 3.8.1 * リダイレクト処理を wp_safe_redirect に統一し、モバイル環境での二重送信発生を抑止 * 諸々コード修正(互換性・可読性改善) ・バージョン 3.8 WordPress 6.8.2 対応確認 apply_filters tsa_validate_comment の引数を修正(拡張性向上のため) ・バージョン 3.7.1 textdomain の読込を修正 ・バージョン 3.7 ログインしているユーザーがコメントを投稿した場合はスパム判定を行わない仕様でしたが 設定にてログインユーザーの投稿にスパム判定を行うかどうかを選択出来るようにしました。 デフォルトは「しない」です。 ・バージョン 3.6 スパムコメントが保存される際の投稿日時を修正。 設定項目の保存時に発生するエラーを修正。 ・バージョン 3.5.1 コメントに登録したメール、URLを取得できていない不具合を修正。 ・バージョン 3.5 スパムデータベースから表示したスパム情報をコメントとして登録する機能を追加。 コメントとして登録したスパム情報はスパムデータベースから削除されます。 ・バージョン 3.4.7 管理画面の見栄えを変更 ・バージョン 3.4.6 設定値のテキストエリア属性であるフィールドにも sanitize_text_field を適用していたため、改行がスペースに置き換わってしまう事態が発生。 sanitize_textarea_field に変更した。 改行がスペースになってしまった方はお手数ですが、改行に戻して設定保存しなおしてくださいますようお願いいたします。 具体的には IPアドレスによる制御の無視対象IPリスト群、 IP制御免除許可リスト群、 メモ になります。 ・バージョン 3.4.5 3.2.5 で変更したスパムデータベースのテーブル存在確認方法を再変更。 スパムデータベーステーブル作成タイミングを変更。 ・バージョン 3.4.4 スパムデータベースの詳細データ表示出力時のサニタイズ強化。 ・バージョン 3.4.3 スパムデータベースでデータを見た際に表示される 投稿元IPアドレスの WHOIS のリンク先URLが ARIN であることを明示。 ・バージョン 3.4.2 出力パラメータのサニタイズ強化,第三弾。 ・バージョン 3.4.1 各種定数の名称変更。 入出力パラメータのサニタイズ強化,第二弾。 ・バージョン 3.4 WordPress 6.0 対応確認 各設定値のサニタイズを強化 ・バージョン 3.3.2 変数の初期化漏れを修正。 ・バージョン 3.3.1 スパムコメント削除フォーム CSRF対策 「コメントをすべて削除」機能削除 ・バージョン 3.3 スパム防止メッセージを 送信ボタン上にも置けるように選択肢追加 ・バージョン 3.2.6 WordPress5.9 対応確認 コード見直し ・バージョン 3.2.5 スパムデータ削除時のDELETE発行処理を修正 テーブル存在確認方法を変更 ・バージョン 3.2.4 スパムデータ削除時のDELETE発行処理を改修 ・バージョン 3.2.2, 3.2.3 テンプレートの作りによって JavaScript エラーがあったため修正 ・バージョン 3.2.1 テーマによって JavaScript エラーがあったため修正 ・バージョン 3.2 jQuery で処理していた部分を JavaScript に書き換え。 pre_comment_on_post から preprocess_comment にて処理を行うように変更 IP拒否リスト、許可リスト の不具合を修正 ・バージョン 3.1.4 表記の変更を行いました。 ・バージョン 3.1.3 WordPress5.4 動作確認 PHP7.4 対応確認 ・バージョン 3.1.2 throws_spam_away.class.php を単体利用した際に出力される Warningを修正 ・バージョン 3.1.1 PHP7.3までの対応 ・バージョン 3.0 スパムコメントの一括削除機能 ・バージョン 2.9 国際化対応 コメントバリデーション部分にapply_filters 2つ追加 $result_valid = apply_filters( ‘tsa_validate_comment’, $this->validate_comment( $author, $comment, array( ‘post_id’ => $post_id, ‘tsa_on_flg’ => $tsa_on_flg ) ), $author, $comment, $post_id, $tsa_on_flg ); return apply_filters( ‘tsa_validate_comment_result’, $result_valid ); バリデーション方法追加または変更可能にし バリデーション結果自体も変更可能にしました。 ・バージョン 2.8.2 2016/12/1 ロードバランサ経由のクライアントIP取得ができるように HTTP_X_FORWARDED_FOR を取得するようにしました。 JavaScriptの不具合修正 ・バージョン 2.8.1 2016/5/14 許可リストIPアドレスのチェックメソッドの不具合を修正しました。 ・バージョン 2.8 2016/5/2 許可リスト登録IPアドレスだけを許可するフラグを追加 このフラグが「する」になっている場合は・・・ 許可リストに登録したIPアドレスのみ許可するフラグをチェックすると許可リスト登録IP以外は無視されるようになります。 このフラグが付いている場合は本来ノーチェックだった許可リストへIPアドレスチェック以外が行われるようになります。 このバージョンでは許可リストをトラックバックには適用しておりません。 ・バージョン 2.7.1 2015/11/16 スパム判定の初期値設定を判定メソッド内部に移動。 外部からの利用時にThrows SPAM Away 側の設定が活用できるようにした。 mb_split 関数を explode に変更 ・バージョン 2.7 2015/10/24 スパム判定メソッドを整理し外部から利用できるようにした。 ・バージョン 2.6.10 管理画面レイアウト崩れ修正 ・バージョン2.6.9 2015/7/25 すぱむちゃんぷるーの代替スパムフィルタが判定の不具合となる危険性がありましたので一度機能削除しました。 テキストでリストを記述されている場合はそのまま稼働します。 ダミー項目機能において一部テーマで隠しフィールドが表示されてしまう不具合報告がありましたので修正しました。 ・バージョン2.6.8 2015/5/12 スパム排除が目的なのにスパムが溜まる矛盾を解決すべく「スパムデータベースへの保存」を デフォルト OFF にしました。 スパムデータベースの最小保存期間を 3日から 1日に変更しました。 スパムデータベースからすべてのデータを削除出来るようになりました。 アンインストール時にスパムデータテーブルの削除を行うようにしました。 またアンインストール時に一部optionsに格納されるパラメータが削除されていなかった不具合を修正しました。 WordPress非推奨の部分を一掃しデバッグモードにてエラー(Warning)が表示されていた部分を修正しました。 ・バージョン2.6.7 2015/4/3 コメント欄の無いページではスクリプトの読込みを行わないように制御を追加 ・バージョン2.6.5 2014/12/22 スパムフィルタを自身で設定できるように変更しました。 選択肢「bsb.spamlookup.net, bsb.empty.us, list.dsbl.org, all.rbl.jp」 及び自由記入欄にてカンマ区切りでサービスのURLを入力できます。 ※記述に誤りがありますと通信が返ってこないためコメント出来ない可能性がありますのでご注意ください。 スパムデータベースの最小保存期間を 7日から 3日に変更しました。 プラグイン作成者のwordpress.orgネームが間違えていた(IDにしていた)ためプラグインページにプロフィールリンクが 表示されていない大変寂しい結果になっておりました。今バージョンより修正いたします。 ・バージョン2.6.4 2014/06/23 タイトルの文字列をそのまま流用し「日本語」を使うことでフィルタを回避しようとする方法を排除するため タイトル文字列を排除してカウントする機能を追加。(デフォルトで効くようになっています。) 「日本語文字列含有数」については、この「タイトル」に使用されている文字列を除いた数をカウントするようになります。 例)タイトルに使用された文字は「えーびーしー」という文字列の場合、「え」「び」「し」「ー」が何度出現してもカウントされません。 「びしえー」というように文字列を入れ替えても「えー びー しー」とスペースを入れても関係なくカウントされなくなります。 JSファイルの $ を jQuery に変更。 ・バージョン2.6.3 2014/06/06 スパムデータベースの表示速度を向上するため スパムコメントの表示を個別画面へ移動(エラーをクリック) スパムの区別が「すぱむちゃんぷるー」でも「指定IP」でも同一「ブロックIPアドレス」であったが 「すぱむちゃんぷるー」を分けて表示するようにした。これにより拒否リストから外せる場合が増えるはずです。 管理画面の見栄えを変更しました。 ・バージョン2.6.2 スパム対策設定の初期値を長年の研究の末の「最適」であろう設定値にしました。 デフォルト値として項目の下に記載しています。長年ご利用の方は、参考に調整してください。 IE8にてJavaScriptエラーとなっていた箇所があり、「tsa_param.js」を修正いたしました。大変ご迷惑をお掛けいたしました。 ・バージョン2.6.1 スパムデータベースの表示に時間がかかるため「設定」部分と「スパムデータ」表示画面の2メニュー構成に変更しました。 すぱむチャンプルーによる捕捉の場合にエラータイプが正しく表示されていない不具合を修正しました。 スパム投稿内容によって画面が崩れる不具合を修正しました。 ・バージョン2.6 コメント欄に隠しフィールドを生成しその項目に入力があればスパム判定する機能を追加。 スパムデータベースに[error_type]を追加。なにが原因でスパム判定されたかとスパム投稿の内容をスパムデータベースで保存(255バイトのみ) スパム一覧に少し表示するようにしました。 ※データベースを直接参照すれば最新以外のスパム内容もわかります。(wp_)tsa_spamテーブルです。authorとcommentのみ格納しています。 個人的にThrows SPAM Awayの設定内容をどこかに保存しておきたい場合がありましたので、そのためのメモ欄を追加しました。 これは便利機能なだけで本体機能自体とはなんら関係ありませんのでご自由にお使い下さい。 ・バージョン2.5.2.1 管理画面の微妙な調整を行いました。 ・バージョン2.5.2 バージョン2.5.1で許可リスト等機能ブロックが無くなってしまったミステイクがあったため精査し機能を戻しました。 大変失礼いたしました。設定されていたデータはそのまま残っていると思いますが、保証はいたしかねますのでご確認のほどよろしくお願いいたします。 ・バージョン2.5.1 「日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)」の文言表示する際の表示位置をフォーム内部の「送信」ボタン上かフォームの下に設置出来るように変更。 この文言は前のバージョンまでは 「 日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策) 」 と表示されるようにしておりましたが、この「div」タグを「p」タグに変更。 また、「コメント欄の下に表示される注意文言」を空白にした場合はタグ自体が挿入されないようにしました。 どうしても崩れてしまう方は注意文言を空白にして更新するようお願いいたします。 ※WordPress3.6以降のWordPressテーマ「Twenty Thirteen」で表示が崩れる事象が起きているための対策です。ご迷惑をお掛けしました。大変申し訳ありません。 ・バージョン2.5 「スパムちゃんぷるー(ベータ)」http://spam-champuru.livedoor.com/dnsbl/ を利用出来ます!スパムちゃんぷるーでスパム判定する機能です。 「IPアドレス 許可リスト」を導入しました。許可リストに登録されたIPアドレスからの投稿はノーチェックで投稿完了されます。 ※許可リストが一番強力にしてありますので、このIPアドレスがAkismetで捉えられていてもスパムちゃんぷるーでスパム扱いになったとしても優先で通過させます。 スパムデータベースの表示期間を指定するようにしました。また表示期間を過ぎたデータを削除することも出来るようにしました。 テストでスパム投稿したIPアドレスなどをスパムデータベースから削除する機能を付けました。 スパム投稿データに「スパムちゃんぷるー」の結果も付加しました。 ・バージョン2.4 スパム情報収集機能を「スパムコメント情報を保存する」にした場合に限り、「一定時間内スパム認定機能」が作動するように出来ます。 この「○」を設定します→《○分以内に○回スパムとなったら○分間、当該IPからのコメントはスパム扱いする設定》 例えば、「10分以内に2回スパムとなったら10分間、当該IPからのコメントはスパム扱いする」とした場合は 過去(今から)10分前から今まで2回スパム扱いとなったIPからの投稿は3回目以降スパム扱いとなります。 そのため、10分以内に3回目のスパムを作ってしまったためそこから10分以上経過しないとずっとスパム扱いになってしまいます。 今までのように「これは・・・・ダメ」「これは・・・・ダメ」「これは・・・・行けた!」「よっしゃーー!突っ込めー!」という風にはできなくなるということです。 上記の例はデフォルト値ですが、「1時間(60分)以内に3回スパムになったら24時間(1440分)スパム扱い」という設定の場合は 24時間以内に3回スパムがあったら・・・という設定とほぼ同等(完全に同等ではありませんが・・・)ですので 24時間の方に合わせる形で24時間以内のスパム回数を算出するようにしています。(今後見直すかもしれません) あまり長い時間を指定しますとコメント欄への反映が遅くなりますので気をつけてください。 5~10分程度を推奨します。 スパム投稿の一覧を見やすくしました。 これまでスパム投稿情報の表示が日付が一覧で縦表示していたため見づらいものとなっておりました。 今回、横軸にその情報を追加しました。 また、スパム投稿リストの表示も改良し、IPアドレス・スパム投稿数・最終投稿日でソートを掛けられるようにしました。 IPアドレス指定を「カンマ区切り」から「改行区切り」へ変更。スパム投稿IPアドレス情報に下記データ追加 ○IPアドレス ○ホスト名が特定出来た場合はホスト名 ○このIPアドレスからの最終投稿日時 ○このIPアドレスからスパム投稿を受けた記事(リンク) このバージョンよりファイル構成が変更になり、今まで「throws_spam_away.php」にプログラムのすべてが存在しましたが、プロセスの部分を 「throws_spam_away.php」に残し、クラスの部分を「throws_spam_away.class.php」に移しました。 これにより、throws_spam_away.class.php」を外部から読込みメソッドを使用することを目論んでいます。 ※まだ実験段階です。 ・バージョン2.3.1, 2.3.2 不具合修正 仕様は2.3のままです。 ・バージョン2.3スパムコメント数を保持出来るようにしました。設定を変更しないと機能しませんのでご注意ください。 保持データは下記の通り ○投稿日時 ○投稿された記事ID ○投稿元IPアドレス となります。 作成されるテーブル名は wp_tsa_spam(wp_の部分は設定されたもの) となります。 現在は スパム投稿したIPの件数(ユニーク) と スパム投稿総数 のみ表示中・・・・StatPressのような表示にしました。 また、現在まで「NGワード」に設定したものが 投稿者の「名前」に存在していた場合でも通っていましたが、「名前」にも効くようにしました。 (トラックバックでも同様に名前もNGワード対象に追加しています。) ・バージョン2.2 ‘http’を許容数(初期設定 3)を超えて包含する場合にエラーとする機能を付けました。 導入後すぐに機能しはじめます。制限数の増減も行えます。 (注意!)不要な方は設定の変更でこの機能をOFFにしてください ※インストールしただけで最大限活用できるように初期設定値を設定いたしました。日本語スパム投稿(おもにリンクを多数掲載するもの)に対抗するための追加機能です。ご理解のほど、よろしくお願いします。 ・バージョン2.1.1 一部レンタルサーバー等の設定によってコメント投稿後エラーまたは白画面になってしまう不具合を修正 ※確認したレンタルサーバー(さくらレンタルサーバー)※コメント欄に独自修正を行うような特殊な条件により発生する模様 ・バージョン2.1でIPアドレスの範囲指定を可能にしました。 ・バージョン2.0で、WordPressのcommentsテーブルを検索し「spam」扱いとなったコメントのIPを収集しそのIPからの投稿を無視出来る機能と任意のIPアドレスからの投稿を無視出来る機能をつけました。 ・バージョン1.7で、元の画面に戻ってくる際の挙動を修正しました。 エラー画面表示の時間を「0」に設定していた場合はエラー画面を一切介さずリダイレクトするようにしました。 0以上の場合の挙動は以前と変わらずJavaScriptで時間になったら戻ってきます。 ・バージョン1.6にてNGキーワードとは逆にコレが入っていないとダメという「必須キーワード」の設定が出来るようにしました。 日本語を入れれば良いため通ってしまいやすい「中国語」への配慮です。「が」や「の」や「は」など、日本語文章が成り立つ上で必ず使用するであろう「ひらがな」を入れることで効力が発揮されると思います。 ・バージョン1.5では「トラックバック」に対しても同様の規制を入れられるようになりました。 トラックバック記事の内容に日本語を含まないものを無視します。 加えて、トラックバック記事内にこちらのサイトのURLが含まれない場合、日本語が含まれていても無視するかどうかの設定も出来るようにしました。 制作:佐藤 毅(さとう たけし) 福岡のシステム開発 ホームページ制作 株式会社ジーティーアイ代表 Arbitrary section A brief Markdown Example