{"id":262477,"date":"2025-11-21T08:12:14","date_gmt":"2025-11-21T08:12:14","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/spam-word-blocker\/"},"modified":"2025-11-28T08:03:34","modified_gmt":"2025-11-28T08:03:34","slug":"spam-word-blocker","status":"publish","type":"plugin","link":"https:\/\/ory.wordpress.org\/plugins\/spam-word-blocker\/","author":23357168,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"Spam Word Blocker","header_author":"kumarharshit.in","header_description":"Prevents publishing of posts\/pages containing user-defined spammy words. Shows instant popup with blocked words. Lightweight & WordPress policy compliant.","assets_banners_color":"96b8ad","last_updated":"2025-11-28 08:03:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/kumarharshit.in\/spam-word-blocker\/","header_author_uri":"https:\/\/kumarharshit.in","rating":0,"author_block_rating":0,"active_installs":0,"downloads":221,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"kumarharshit","date":"2025-11-28 08:03:34"}},"upgrade_notice":{"1.1.0":"<p>Major improvement! Now shows instant popup with blocked words for better user experience.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3400254,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3400254,"resolution":"772x250","location":"assets","locale":"","width":775,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":{"Screenshot-1.png":{"filename":"Screenshot-1.png","revision":3400254,"resolution":"1","location":"assets","locale":"","width":1165,"height":755},"Screenshot-2.png":{"filename":"Screenshot-2.png","revision":3400254,"resolution":"2","location":"assets","locale":"","width":648,"height":553}},"screenshots":{"1":"screenshot-1.png - Main Dashboard with Spam Word Blocker.","2":"screenshot-2.png - Blocked words found Realtime popup","3":"Log in to your WordPress admin panel","4":"Go to <strong>Plugins &gt; Add New<\/strong>","5":"Search for \"Spam Word Blocker\"","6":"Click <strong>Install Now<\/strong> and then <strong>Activate<\/strong>","7":"Go to <strong>Spam Word Blocker<\/strong> in your admin menu to start","8":"Download the plugin zip file","9":"Go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>","10":"Choose the downloaded zip file and click <strong>Install Now<\/strong>","11":"Activate the plugin","12":"Go to <strong>Spam Word Blocker<\/strong> in your admin menu"}},"plugin_section":[],"plugin_tags":[250991,250989,250987,250990,250988],"plugin_category":[],"plugin_contributors":[247058],"plugin_business_model":[],"class_list":["post-262477","plugin","type-plugin","status-publish","hentry","plugin_tags-block-spa-word","plugin_tags-spam-publish-blocker","plugin_tags-spam-word","plugin_tags-spam-word-blocker","plugin_tags-spam-word-filter","plugin_contributors-kumarharshit","plugin_committers-kumarharshit"],"banners":{"banner":"https:\/\/ps.w.org\/spam-word-blocker\/assets\/banner-772x250.png?rev=3400254","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/spam-word-blocker\/assets\/icon-128x128.png?rev=3400254","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/spam-word-blocker\/assets\/Screenshot-1.png?rev=3400254","caption":"screenshot-1.png - Main Dashboard with Spam Word Blocker."},{"src":"https:\/\/ps.w.org\/spam-word-blocker\/assets\/Screenshot-2.png?rev=3400254","caption":"screenshot-2.png - Blocked words found Realtime popup"}],"raw_content":"<!--section=description-->\n<p>Spam Word Blocker is a lightweight, WordPress policy-compliant plugin that prevents publishing of any post, page, or custom post type if the content contains unwanted words defined by the admin.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Instant Popup Alert<\/strong> - Shows exactly which blocked words were found<\/li>\n<li><strong>Works for ALL Post Types<\/strong> - Automatically covers posts, pages, and custom post types<\/li>\n<li><strong>Lightweight<\/strong> - Only runs during publish events, zero background load<\/li>\n<li><strong>Server-Side Enforcement<\/strong> - Cannot be bypassed<\/li>\n<li><strong>Beautiful Admin UI<\/strong> - Clean white and green premium design<\/li>\n<li><strong>WordPress Policy Compliant<\/strong> - Proper escaping, sanitizing, and nonces<\/li>\n<li><strong>Case-Insensitive Matching<\/strong> - Smart word-boundary detection<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Admin adds blocked words\/phrases (one per line) in plugin settings<\/li>\n<li>When user clicks Publish, plugin scans title, content, and excerpt<\/li>\n<li>If blocked words found:\n\n<ul>\n<li>Instant popup shows which words are blocked<\/li>\n<li>Post is saved as draft automatically<\/li>\n<li>Admin notice displays after page reload<\/li>\n<\/ul><\/li>\n<li>User removes blocked words and republishes successfully<\/li>\n<\/ol>\n\n<h4>Perfect For<\/h4>\n\n<ul>\n<li>Content moderation<\/li>\n<li>Preventing accidental spam content<\/li>\n<li>Multi-author sites<\/li>\n<li>Guest post management<\/li>\n<li>Adult content filtering<\/li>\n<li>Brand protection<\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<p>Developed by Harshit Kumar - https:\/\/kumarharshit.in<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20it%20work%20for%20custom%20post%20types%3F'><h3>Does it work for custom post types?<\/h3><\/dt>\n<dd><p>Yes! It automatically works for all post types without any configuration.<\/p><\/dd>\n<dt id='will%20it%20slow%20down%20my%20site%3F'><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>No. The plugin only runs when someone clicks the Publish button. It has zero impact on page load times.<\/p><\/dd>\n<dt id='can%20users%20bypass%20this%3F'><h3>Can users bypass this?<\/h3><\/dt>\n<dd><p>No. The plugin enforces blocking on the server-side, so it cannot be bypassed.<\/p><\/dd>\n<dt id='does%20it%20support%20multi-word%20phrases%3F'><h3>Does it support multi-word phrases?<\/h3><\/dt>\n<dd><p>Yes! You can block multi-word phrases like \"adult content\" or \"free casino\".<\/p><\/dd>\n<dt id='what%20happens%20to%20the%20post%20when%20blocked%3F'><h3>What happens to the post when blocked?<\/h3><\/dt>\n<dd><p>The post is automatically saved as a draft, and the user sees a popup and admin notice showing which words were blocked.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>NEW: Instant popup modal showing blocked words<\/li>\n<li>IMPROVED: Simplified code structure for better performance<\/li>\n<li>IMPROVED: Full WordPress policy compliance (escaping, sanitizing, nonces)<\/li>\n<li>IMPROVED: Better UX with clear blocked word display<\/li>\n<li>IMPROVED: Cleaner admin interface<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Prevent posts\/pages from being published if they contain unwanted or spam words. Shows instant popup with blocked words.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/262477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=262477"}],"author":[{"embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kumarharshit"}],"wp:attachment":[{"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=262477"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=262477"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=262477"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=262477"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=262477"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ory.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=262477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}