manifest / performance / facebook-request-throttle-wordpress-plugin
Facebook Request Throttle
WordPress plugin that rate-limits Facebook/Meta web crawlers to prevent server overload
by Nadim Tuhin · github.com/nadimtuhin/facebook-request-throttle-wordpress-plugin · website
★ 26stars
11forks
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/nadimtuhin/facebook-request-throttle-wordpress-plugin/archive/refs/heads/main.zipFrom the readme
Facebook Request Throttle
Rate-limit Facebook and Meta crawlers to protect your server from excessive scraping load.
Facebook's web crawlers (facebookexternalhit and meta-externalagent) can hammer your server when a URL gets shared — especially on viral posts. This plugin throttles those requests to one per configured window and returns a proper 429 Too Many Requests with a Retry-After header so the crawler backs off gracefully.
Requirements
| Requirement | Minimum | Recommended |
|---|---|---|
| PHP | 7.4 (runtime) | 8.2 or 8.3 |
| WordPress | 5.0 | 6.9 (latest) |
| MySQL / MariaDB | 5.5.5 / 10.0 | 8.0 / 10.6 |
CI runs the test suite on PHP 8.1, 8.2 and 8.3 (PHPUnit 10 requires PHP 8.1+; the plugin itself runs on PHP 7.4+).
Features
- Throttles facebookexternalhit and meta-externalagent user agents
- Returns 429 Too Many Requests with a Retry-After header
- Skips image requests (jpg, jpeg, png, gif, webp) — Open Graph images always served
- Admin log under Settings → FB Throttle Log — last 100 hits with timestamp, status, IP, URI, and user agent
- Dashboard-configurable throttle duration — no code edits needed
- Backward compatible — define( 'FACEBOOKREQUESTTHROTTLE', 120
Read the full README on GitHub →