{"id":360747,"date":"2026-08-30T11:30:18","date_gmt":"2026-08-30T11:30:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/robse-form-guard\/"},"modified":"2026-08-30T11:29:57","modified_gmt":"2026-08-30T11:29:57","slug":"robse-form-guard","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/robse-form-guard\/","author":23557140,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.1","stable_tag":"2.1.1","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Robse Form Guard","header_author":"Robse LLC","header_description":"Blocks Japanese cold-sales submissions to your contact form by scoring the wording, with a honeypot and a rate limit. Blocked messages are forwarded to you instead of being thrown away.","assets_banners_color":"474746","last_updated":"2026-08-30 11:29:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/robse.jp\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.1":{"tag":"2.1.1","author":"robsejp","date":"2026-08-30 11:29:57","revision":3672453}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3672453,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3672453,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3672453,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3672453,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.1.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[109,358,1152,5622,599],"plugin_category":[54],"plugin_contributors":[278315],"plugin_business_model":[],"class_list":["post-360747","plugin","type-plugin","status-publish","hentry","plugin_tags-antispam","plugin_tags-contact-form","plugin_tags-contact-form-7","plugin_tags-japanese","plugin_tags-spam","plugin_category-security-and-spam-protection","plugin_contributors-robsejp","plugin_committers-robsejp"],"banners":{"banner":"https:\/\/ps.w.org\/robse-form-guard\/assets\/banner-772x250.png?rev=3672453","banner_2x":"https:\/\/ps.w.org\/robse-form-guard\/assets\/banner-1544x500.png?rev=3672453","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/robse-form-guard\/assets\/icon-128x128.png?rev=3672453","icon_2x":"https:\/\/ps.w.org\/robse-form-guard\/assets\/icon-256x256.png?rev=3672453","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>A CAPTCHA proves the sender is a human being. It does not stop a human being\nwhose job is to send sales pitches through other people's contact forms. If you\nrun a small business in Japan, that is most of what arrives in your inbox.<\/p>\n\n<p>Robse Form Guard reads each submission and scores its wording. Japanese\nbusiness-to-business sales boilerplate \u2014 \u8cb4\u793e, \u3054\u62c5\u5f53\u8005\u69d8, \u3068\u7533\u3057\u307e\u3059,\n\u521d\u671f\u8cbb\u7528, \u5c0e\u5165\u5b9f\u7e3e and the like \u2014 is language a private customer asking about\nyour work simply does not use. When enough of it piles up in one message, the\nsubmission is stopped.<\/p>\n\n<p><strong>Nothing is thrown away.<\/strong> Every blocked submission is emailed to you in full,\nwith the score and the words that matched, so that if the plugin gets it wrong\nyou still have the message. The visitor is shown a phone number or address you\nchoose, so a real customer caught by mistake can still reach you.<\/p>\n\n<h4>What it checks<\/h4>\n\n<ol>\n<li><strong>A honeypot.<\/strong> A field a person cannot see and a script fills in.<\/li>\n<li><strong>A rate limit.<\/strong> Repeated submissions from one address in a short time.<\/li>\n<li><strong>The wording.<\/strong> Each keyword carries points; the submission is stopped when\nthe total reaches the score you set. The starting list and every weight are\neditable, and you can add your own words.<\/li>\n<\/ol>\n\n<h4>Try it before you trust it<\/h4>\n\n<p>Set it to <strong>watch only<\/strong> and it will email you what it <em>would<\/em> have blocked\nwhile letting everything through. Run that for a week, look at what arrives,\nthen turn blocking on. This is the recommended way to start.<\/p>\n\n<h4>Which form plugins<\/h4>\n\n<ul>\n<li>Contact Form 7<\/li>\n<li>Snow Monkey Forms<\/li>\n<\/ul>\n\n<p>It sits alongside reCAPTCHA, Akismet or Turnstile rather than replacing them:\nthose stop machines, this stops people who are paid to write to you.<\/p>\n\n<h4>For Japanese sites<\/h4>\n\n<p>The keyword list is Japanese and the plugin is aimed at Japanese-language\nsites. On a site in another language, replace the list with your own wording\nunder Settings.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin stores no personal data of its own and creates no database tables.<\/p>\n\n<p>When a submission is stopped, its full contents are emailed to the address\nconfigured on the settings screen, which defaults to the site's own\nadministration email address. That email is sent by WordPress from the site\nitself. No data is transmitted to the plugin author or to any third party, and\nthe plugin makes no outbound network requests.<\/p>\n\n<p>The rate limit stores a hashed form of the submitting IP address in a\ntransient, which expires on its own within the window you configure.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to <strong>Settings &gt; Robse Form Guard<\/strong>.<\/li>\n<li>Fill in <strong>how a real customer can still reach you<\/strong> \u2014 a phone number is the\nusual choice. Do not skip this: it is the only way out for someone the\nplugin wrongly stops.<\/li>\n<li>Leave <strong>watch only<\/strong> on for the first week and read the emails it sends you.<\/li>\n<li>Switch to <strong>block<\/strong> once the verdicts look right.<\/li>\n<\/ol>\n\n<h4>Rolling it out to many sites<\/h4>\n\n<p>These constants in <code>wp-config.php<\/code> win over the settings screen, so a\ndeployment script can configure a site without touching its database:<\/p>\n\n<pre><code>define( 'ROBSE_FORM_GUARD_TEL', '03-0000-0000' );\ndefine( 'ROBSE_FORM_GUARD_QUARANTINE', 'you@example.com' );\ndefine( 'ROBSE_FORM_GUARD_THRESHOLD', 4 );\n<\/code><\/pre>\n\n<!--section=faq-->\n<dl>\n<dt id=\"it%20blocked%20a%20real%20customer.\"><h3>It blocked a real customer.<\/h3><\/dt>\n<dd><p>Read the email it sent you \u2014 it lists the words that matched and the score.\nEither lower the points on the word that misfired, or raise the score needed\nto match. Both are on the settings screen.<\/p><\/dd>\n<dt id=\"will%20it%20stop%20bots%3F\"><h3>Will it stop bots?<\/h3><\/dt>\n<dd><p>The honeypot will stop simple ones. For machine submissions in general, keep\nreCAPTCHA, Turnstile or Akismet switched on as well. This plugin is aimed at\nthe sales messages a human being typed.<\/p><\/dd>\n<dt id=\"does%20it%20send%20my%20form%20data%20anywhere%3F\"><h3>Does it send my form data anywhere?<\/h3><\/dt>\n<dd><p>No. The only message it sends is the copy of a blocked submission, by email,\nto the address you set on the settings screen \u2014 your own site's administrator\naddress unless you change it. Nothing is sent to the plugin author or to any\nother server.<\/p><\/dd>\n<dt id=\"the%20blocked%20copies%20are%20filling%20my%20inbox.\"><h3>The blocked copies are filling my inbox.<\/h3><\/dt>\n<dd><p>That is the point of them, and you should read them for the first few weeks.\nAfter that, filter the subject line into a folder rather than turning the\ncopies off \u2014 they are the only record of a submission that was wrongly\nstopped.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20on%20a%20site%20that%20is%20not%20in%20japanese%3F\"><h3>Can I use it on a site that is not in Japanese?<\/h3><\/dt>\n<dd><p>Yes, but the built-in list will not match anything. Replace it with the sales\nboilerplate used in your language.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Removed the bundled Japanese translation files. Translations are handled by\ntranslate.wordpress.org.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Settings screen: mode, score, keyword list, honeypot, rate limit, quarantine\naddress and the contact route shown to blocked visitors.<\/li>\n<li>Blocked submissions are emailed to the site's own administrator by default.<\/li>\n<li>Watch-only mode for tuning before blocking.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Contact Form 7 support alongside Snow Monkey Forms.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Internal release for Snow Monkey Forms.<\/li>\n<\/ul>","raw_excerpt":"Stops Japanese cold-sales messages reaching your contact form, and emails you every one it blocks so a wrong call costs you nothing.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/360747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=360747"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/robsejp"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=360747"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=360747"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=360747"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=360747"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=360747"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=360747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}