Documentation
ScraperBlock
Developer Reference

WindCodex ScraperBlock Developer Reference

Constants

ConstantValueDescription
SCRAPERBLOCK_VERSIONe.g. '1.0.3'Current plugin version
SCRAPERBLOCK_PLUGIN_FILE__FILE__Plugin main file path
SCRAPERBLOCK_PLUGIN_DIRplugin_dir_path()Plugin directory
SCRAPERBLOCK_PLUGIN_URLplugin_dir_url()Plugin URL
SCRAPERBLOCK_PLUGIN_BASEplugin_basename()windcodex-scraperblock/windcodex-scraperblock.php

Filters

FilterArgumentsDescription
scraperblock_bypass_request$bypass (bool), $user_agent (string), $ip (string), $remote_addr (string)Return true to let a request skip runtime blocking. By default only local WordPress loopback and Plugin Check requests are bypassed. Does not change robots.txt or .htaccess rules.
scraperblock_log_max_entries$max (int)Number of block log entries to keep (default 50)

Actions

ActionArgumentsDescription
scraperblock_before_settings-Fires at the top of the ScraperBlock settings page

Options

Option KeyTypeDefaultDescription
scraperblock_settings[protection_enabled]string yes/noyesMaster toggle
scraperblock_settings[enable_robots_blocking]string yes/noyesrobots.txt directives
scraperblock_settings[enable_htaccess_blocking]string yes/nonohtaccess rules
scraperblock_settings[enable_meta_noai]string yes/noyesMeta noai tags
scraperblock_settings[enable_per_page_control]string yes/noyesPer-page editor box
scraperblock_settings[enable_rate_limit]string yes/noyesRate limiting
scraperblock_settings[requests_per_minute]int60Rate limit threshold
scraperblock_settings[allow_ai_search_bots]string yes/nonoAllow AI search and assistant bots
scraperblock_settings[custom_user_agents]string''Custom user agents, one per line

Other options: scraperblock_logs (the last 50 blocked requests).

Post Meta

Meta KeyValueDescription
_scraperblock_disable_protectionyesSet by Disable protection for this page/post

When Blocking Runs

LayerHook
Runtime user-agent blockingtemplate_redirect (priority 0)
noai meta tagswp_head (priority 1)
robots.txt rulesrobots_txt filter