[{"data":1,"prerenderedAt":487},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fwordpress-plugin":3,"docs-nav":462},{"id":4,"title":5,"body":6,"description":453,"extension":454,"meta":455,"navigation":456,"order":457,"path":458,"section":5,"seo":459,"stem":460,"__hash__":461},"docs\u002Fdocs\u002Fwordpress-plugin.md","WordPress Plugin",{"type":7,"value":8,"toc":443},"minimark",[9,14,23,26,67,70,74,116,118,122,169,175,177,181,184,189,201,207,215,221,240,242,246,252,265,276,282,288,298,301,303,307,313,319,409,415,417,421,433],[10,11,13],"h2",{"id":12},"overview","Overview",[15,16,17,18,22],"p",{},"The BlockBots WordPress plugin protects your site against bots, spam traffic, scrapers, VPNs, proxies, and browser emulators. It runs at WordPress ",[19,20,21],"code",{},"init"," priority 0 — intercepting requests before most of WordPress processes them — keeping overhead minimal.",[15,24,25],{},"The plugin operates in two tiers:",[27,28,29,42],"table",{},[30,31,32],"thead",{},[33,34,35,39],"tr",{},[36,37,38],"th",{},"Tier",[36,40,41],{},"Features",[43,44,45,57],"tbody",{},[33,46,47,54],{},[48,49,50],"td",{},[51,52,53],"strong",{},"Free",[48,55,56],{},"User-agent whitelisting, login page protection, rate limiting, known-bad-bot blocking",[33,58,59,64],{},[48,60,61],{},[51,62,63],{},"PRO",[48,65,66],{},"API-based cloud verification, deep bot detection, VPN\u002Fproxy\u002Femulator blocking, management panel with advanced filters",[68,69],"hr",{},[10,71,73],{"id":72},"requirements","Requirements",[75,76,77,85,92,103],"ul",{},[78,79,80,81,84],"li",{},"WordPress ",[51,82,83],{},"4.6"," or higher",[78,86,87,88,91],{},"PHP ",[51,89,90],{},"7.2"," or higher (required for EdDSA JWT support)",[78,93,94,95,98,99,102],{},"Composer dependency: ",[19,96,97],{},"firebase\u002Fphp-jwt ^7.0"," — included in the plugin's ",[19,100,101],{},"vendor\u002F"," directory",[78,104,105,108,109],{},[51,106,107],{},"PRO only:"," a valid BlockBots API key from ",[110,111,115],"a",{"href":112,"rel":113},"https:\u002F\u002Fblockbots.org",[114],"nofollow","blockbots.org",[68,117],{},[10,119,121],{"id":120},"installation","Installation",[123,124,125,140,146,153,160],"ol",{},[78,126,127,128,131,132,135,136,139],{},"Upload the ",[19,129,130],{},"blockbots"," folder to ",[19,133,134],{},"\u002Fwp-content\u002Fplugins\u002F",", or install via ",[51,137,138],{},"WP Admin → Plugins → Add New",".",[78,141,142,143,139],{},"Activate the plugin through ",[51,144,145],{},"WP Admin → Plugins",[78,147,148,149,152],{},"The plugin automatically creates a database table (",[19,150,151],{},"{prefix}blockbots",") and schedules cron jobs on activation.",[78,154,155,156,159],{},"Navigate to ",[51,157,158],{},"WP Admin → Blockbots"," to configure settings.",[78,161,162,164,165,168],{},[51,163,107],{}," Enter your API key on the ",[51,166,167],{},"Pro Features"," tab to unlock cloud-based verification.",[170,171,172],"blockquote",{},[15,173,174],{},"Free and Pro versions cannot be active at the same time. Deactivate one before activating the other.",[68,176],{},[10,178,180],{"id":179},"how-it-works","How it works",[15,182,183],{},"Every front-end request goes through the following flow:",[15,185,186],{},[51,187,188],{},"1. Abort checks",[15,190,191,192,196,197,200],{},"Requests are skipped for AJAX, cron jobs, logged-in users (if ",[193,194,195],"em",{},"Ignore Logged-In Users"," is enabled), and the login page (if ",[193,198,199],{},"Protect Login Page"," is disabled).",[15,202,203,206],{},[51,204,205],{},"2. Free mode"," (no API key)",[75,208,209,212],{},[78,210,211],{},"The visitor's user agent is checked against the whitelist. Whitelisted bots (Googlebot, Bingbot, etc.) pass through automatically.",[78,213,214],{},"Rate limiting applies: more than 10 requests from the same IP within 10 seconds triggers a block.",[15,216,217,220],{},[51,218,219],{},"3. PRO mode"," (API key configured)",[75,222,223,230,237],{},[78,224,225,226,229],{},"If the visitor already has a valid ",[19,227,228],{},"__bbjwt"," JWT cookie, they pass through instantly — no API call made.",[78,231,232,233,236],{},"If a block decision cookie (",[19,234,235],{},"__bb_decision",") is present, the block page is shown immediately.",[78,238,239],{},"Otherwise, the visitor sees a verification page. The BlockBots JS library runs a silent cloud check. Humans are issued a signed JWT cookie; bots are blocked. The experience typically takes under 1–2 seconds.",[68,241],{},[10,243,245],{"id":244},"free-features","Free features",[15,247,248,249,139],{},"Configure under ",[51,250,251],{},"WP Admin → Blockbots → Free Features",[15,253,254,257,258,261,262,139],{},[51,255,256],{},"Protect WP Login Page","\nEnables bot verification on ",[19,259,260],{},"wp-login.php",". Default: ",[19,263,264],{},"OFF",[15,266,267,269,270,273,274,139],{},[51,268,195],{},"\nSkips bot checks for visitors with an active WordPress session. Recommended: ",[19,271,272],{},"ON"," to prevent admin lockout. Default: ",[19,275,272],{},[15,277,278,281],{},[51,279,280],{},"Block Known Bad Bots","\nBlocks all user agents not found in the whitelist. Works automatically via the whitelist mechanism — no separate toggle.",[15,283,284,287],{},[51,285,286],{},"Whitelist User Agents","\nAdd custom user-agent strings to allow, one per line. These are merged with the built-in whitelist. Matching is case-insensitive and partial (substring match).",[289,290,295],"pre",{"className":291,"code":293,"language":294},[292],"language-text","MyMonitorBot\nMyUptimeChecker\n","text",[19,296,293],{"__ignoreMap":297},"",[15,299,300],{},"Your browser's current user agent is shown below the textarea for reference.",[68,302],{},[10,304,306],{"id":305},"pro-features","PRO features",[15,308,309,310,139],{},"Unlocked by entering a valid API key. Configure under ",[51,311,312],{},"WP Admin → Blockbots → Pro Features",[15,314,315,316,139],{},"Get your API key at ",[110,317,115],{"href":112,"rel":318},[114],[27,320,321,331],{},[30,322,323],{},[33,324,325,328],{},[36,326,327],{},"Feature",[36,329,330],{},"Description",[43,332,333,343,353,363,373,383,399],{},[33,334,335,340],{},[48,336,337],{},[51,338,339],{},"Deep Bot Detection",[48,341,342],{},"Behavioral analysis and signature matching beyond user-agent checks",[33,344,345,350],{},[48,346,347],{},[51,348,349],{},"Real-time Cloud Protection",[48,351,352],{},"Checks IPs against a live database of known malicious bots",[33,354,355,360],{},[48,356,357],{},[51,358,359],{},"Detect VPN Connection",[48,361,362],{},"Identifies and blocks visitors connecting via VPN services",[33,364,365,370],{},[48,366,367],{},[51,368,369],{},"Detect Proxy Connection",[48,371,372],{},"Identifies open, datacenter, and residential proxy connections",[33,374,375,380],{},[48,376,377],{},[51,378,379],{},"Detect Emulators",[48,381,382],{},"Identifies headless browsers and automation tools (Puppeteer, Selenium, Playwright)",[33,384,385,390],{},[48,386,387],{},[51,388,389],{},"Management Panel",[48,391,392,393,398],{},"Access to ",[110,394,397],{"href":395,"rel":396},"https:\u002F\u002Fpanel.blockbots.org",[114],"panel.blockbots.org"," with filters by country, OS, browser, and language",[33,400,401,406],{},[48,402,403],{},[51,404,405],{},"Show Loading Indicator",[48,407,408],{},"Displays an animated overlay while cloud verification runs",[15,410,411,414],{},[51,412,413],{},"API key format:"," 20+ alphanumeric characters. The dashboard shows a masked version (first 4 and last 4 characters) once saved.",[68,416],{},[10,418,420],{"id":419},"uninstalling","Uninstalling",[123,422,423,428],{},[78,424,425,426,139],{},"Deactivate the plugin in ",[51,427,145],{},[78,429,430,431,139],{},"Delete the plugin from ",[51,432,145],{},[15,434,435,436,439,440,442],{},"The uninstall routine automatically deletes all plugin options from ",[19,437,438],{},"wp_options",", cancels all scheduled cron events, and drops the ",[19,441,151],{}," database table. No data is left behind.",{"title":297,"searchDepth":444,"depth":444,"links":445},2,[446,447,448,449,450,451,452],{"id":12,"depth":444,"text":13},{"id":72,"depth":444,"text":73},{"id":120,"depth":444,"text":121},{"id":179,"depth":444,"text":180},{"id":244,"depth":444,"text":245},{"id":305,"depth":444,"text":306},{"id":419,"depth":444,"text":420},"Install and configure the BlockBots WordPress plugin to protect your site from bots, scrapers, VPNs, proxies, and browser emulators.","md",{},true,7,"\u002Fdocs\u002Fwordpress-plugin",{"title":5,"description":453},"docs\u002Fwordpress-plugin","qC8znvzYGFKAmb2gxQtm1YpCnwcSDXKwd3BKXFHHjbc",[463,468,473,478,482,483],{"title":464,"path":465,"order":466,"section":467},"Getting Started","\u002Fdocs\u002Fgetting-started",1,"Introduction",{"title":469,"path":470,"order":471,"section":472},"PHP – Quick Start","\u002Fdocs\u002Fphp-quickstart",3,"PHP Integration",{"title":474,"path":475,"order":476,"section":477},"JavaScript SDK – Quick Start","\u002Fdocs\u002Fjavascript-quickstart",5,"JavaScript SDK",{"title":479,"path":480,"order":481,"section":477},"JavaScript SDK – Reference","\u002Fdocs\u002Fjavascript-reference",6,{"title":5,"path":458,"order":457,"section":5},{"title":484,"path":485,"order":486,"section":5},"WordPress Plugin – Settings Guide","\u002Fdocs\u002Fwordpress-reference",8,1790770390589]