{"id":303839,"date":"2026-05-04T05:02:28","date_gmt":"2026-05-04T05:02:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/windcodex-scraperblock\/"},"modified":"2026-05-04T05:12:50","modified_gmt":"2026-05-04T05:12:50","slug":"windcodex-scraperblock","status":"publish","type":"plugin","link":"https:\/\/es-co.wordpress.org\/plugins\/windcodex-scraperblock\/","author":23476832,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"WindCodex ScraperBlock","header_author":"WindCodex","header_description":"AI bot blocker for WordPress to protect content from scrapers with user-agent blocking, robots.txt and meta noai controls, per-page rules, and rate limiting.","assets_banners_color":"b7a4d3","last_updated":"2026-05-04 05:12:50","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.windcodex.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":82,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"windcodex","date":"2026-05-04 05:12:50"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3521930,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3521930,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3521923,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3521923,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3521923,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3521923,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3521923,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3521923,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"ScraperBlock settings and protection toggles.","2":"Default bot list and custom user-agent editor.","3":"Basic logs panel.","4":"Per-page protection control in editor."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[261797,166108,18193,261798,215588],"plugin_category":[],"plugin_contributors":[260242],"plugin_business_model":[],"class_list":["post-303839","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-bot-blocker","plugin_tags-bot-protection","plugin_tags-content-protection","plugin_tags-crawler-blocking","plugin_tags-noai","plugin_contributors-windcodex","plugin_committers-windcodex"],"banners":{"banner":"https:\/\/ps.w.org\/windcodex-scraperblock\/assets\/banner-772x250.png?rev=3521923","banner_2x":"https:\/\/ps.w.org\/windcodex-scraperblock\/assets\/banner-1544x500.png?rev=3521923","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/windcodex-scraperblock\/assets\/icon-128x128.png?rev=3521930","icon_2x":"https:\/\/ps.w.org\/windcodex-scraperblock\/assets\/icon-256x256.png?rev=3521930","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/windcodex-scraperblock\/assets\/screenshot-1.png?rev=3521923","caption":"ScraperBlock settings and protection toggles."},{"src":"https:\/\/ps.w.org\/windcodex-scraperblock\/assets\/screenshot-2.png?rev=3521923","caption":"Default bot list and custom user-agent editor."},{"src":"https:\/\/ps.w.org\/windcodex-scraperblock\/assets\/screenshot-3.png?rev=3521923","caption":"Basic logs panel."},{"src":"https:\/\/ps.w.org\/windcodex-scraperblock\/assets\/screenshot-4.png?rev=3521923","caption":"Per-page protection control in editor."}],"raw_content":"<!--section=description-->\n<p><strong>ScraperBlock<\/strong> is a lightweight AI bot blocker plugin for WordPress. It helps prevent content scraping by known crawler user-agents while keeping setup simple for site owners.<\/p>\n\n<p>Use layered controls in one settings screen:<\/p>\n\n<ul>\n<li>Bot and scraper user-agent blocking<\/li>\n<li>robots.txt blocking directives<\/li>\n<li>Optional Apache <code>.htaccess<\/code> blocking<\/li>\n<li>noai \/ meta tag output<\/li>\n<li>Per-page protection control<\/li>\n<li>Basic block log and dashboard count<\/li>\n<\/ul>\n\n<h4>Why Use ScraperBlock<\/h4>\n\n<ul>\n<li>Protect blog posts, product pages, and site content from scraping bots.<\/li>\n<li>Reduce unwanted automated traffic with practical bot filtering.<\/li>\n<li>Control protections with clear toggles and simple defaults.<\/li>\n<li>Monitor recent blocked activity without extra services.<\/li>\n<\/ul>\n\n<h4>Free Features<\/h4>\n\n<ul>\n<li>Enable Protection (master switch)<\/li>\n<li>robots.txt blocking<\/li>\n<li><code>.htaccess<\/code> blocking (Apache)<\/li>\n<li>noai \/ meta tags for AI bot opt-out<\/li>\n<li>Per-page control on posts\/pages<\/li>\n<li>Basic rate limiting<\/li>\n<li>Custom user-agents (one signature per line)<\/li>\n<li>Default bot list (50+ known bots)<\/li>\n<li>Basic block log (last 50 events)<\/li>\n<li>Live Dashboard (basic last 24-hour count)<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Install and activate ScraperBlock.<\/li>\n<li>Go to <strong>Settings &gt; ScraperBlock<\/strong>.<\/li>\n<li>Enable the protection modules you want.<\/li>\n<li>Save settings.<\/li>\n<li>Review blocked requests in Logs and dashboard summary.<\/li>\n<\/ol>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.8+<\/li>\n<li>PHP 7.4+<\/li>\n<li>Apache required only for <code>.htaccess<\/code> mode<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>ScraperBlock stores technical security data (for example IP, user-agent, URL path, reason, action, and timestamp) in your WordPress database for local monitoring. The free plugin does not require a third-party API.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP in <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong> and <strong>Activate<\/strong>.<\/li>\n<li>Open <strong>Settings &gt; ScraperBlock<\/strong> and configure options.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20block%20all%20bots%20automatically%3F\"><h3>Does this plugin block all bots automatically?<\/h3><\/dt>\n<dd><p>It blocks bots matching the built-in and custom user-agent signatures.<\/p><\/dd>\n<dt id=\"will%20it%20affect%20normal%20search%20engines%3F\"><h3>Will it affect normal search engines?<\/h3><\/dt>\n<dd><p>The default list is focused on scraping and AI crawler signatures. Review custom entries carefully.<\/p><\/dd>\n<dt id=\"does%20%60.htaccess%60%20blocking%20work%20on%20nginx%3F\"><h3>Does `.htaccess` blocking work on Nginx?<\/h3><\/dt>\n<dd><p>No. <code>.htaccess<\/code> is Apache-only. Use robots\/meta\/runtime controls on Nginx.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20protection%20on%20one%20page%3F\"><h3>Can I disable protection on one page?<\/h3><\/dt>\n<dd><p>Yes. Use the per-page ScraperBlock meta option.<\/p><\/dd>\n<dt id=\"do%20analytics%20and%20csv%20export%20exist%20in%20free%3F\"><h3>Do analytics and CSV export exist in free?<\/h3><\/dt>\n<dd><p>Advanced analytics and CSV export are available in ScraperBlock Pro.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>AI\/scraper bot blocking.<\/li>\n<li>robots.txt and <code>.htaccess<\/code> controls.<\/li>\n<li>noai\/meta controls and per-page rules.<\/li>\n<li>Basic rate limiting, logs, and dashboard count.<\/li>\n<\/ul>","raw_excerpt":"Block AI scrapers and unwanted crawlers with bot rules, robots.txt and noai meta controls, per-page settings, and basic rate limiting.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/303839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=303839"}],"author":[{"embeddable":true,"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/windcodex"}],"wp:attachment":[{"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=303839"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=303839"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=303839"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=303839"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=303839"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-co.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=303839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}