A real solution for WordPress sites that need compliant age verification. Not a simple "click to confirm" popup—actual verification that meets state-level regulatory requirements. Free to get started.
Most WordPress "age verification" plugins just show a popup asking users to confirm they're 18+. That doesn't meet the requirements in Texas, Louisiana, and other states now mandating actual verification for adult content.
Start free with 100 verification credits per month. Upgrade to Pro when you need unlimited verifications and advanced features.
No credit card required
Tier 1 from $0.05 · Tier 2 from $0.15 per verification
The plugin has two components that work together to protect your site while keeping most pages fully cacheable.
Runs before page cache
A must-use plugin that loads very early in WordPress—before most page caching systems. It checks the visitor's location (via Cloudflare geo headers) and verification status on every request.
Handles the age gate page
The main plugin provides shortcodes for your age gate page. It creates verification sessions, displays the verification interface, and handles the return flow when users complete verification.
[xyz_age_verify] shortcode for age gate page
Visit our live demo site to experience the full verification flow. The demo uses test regions so you can see how different configurations work—Tier 1 (face only), Tier 2 (face + ID), and more.
From registration to live verification—see what the plugin looks like at every step. Click any image to enlarge.
Installation takes about 15 minutes. The free plan includes everything you need to get started—no credit card, no sales call.
Upload the plugin via Plugins → Add New → Upload Plugin in your WordPress admin.
Then copy the included MU-plugin file to /wp-content/mu-plugins/.
In Settings → Age Verification, enter your email to register for a free plan. You'll receive a confirmation email—click the link to activate your API key. Then paste the key into the plugin settings.
Create a WordPress page at /age-gate/ and add the shortcode:
[xyz_age_verify]
Add your regions in Settings → AV Free Plan Admin. Then use test mode
with ?reg=US-TX to simulate visitors from different
regions without affecting real traffic.
Disable test mode and your site is protected. Visitors from age-gated regions will be redirected to your age gate page automatically.
The MU-plugin architecture is designed to run before most caching systems. However, aggressive page caching that serves static HTML files directly from disk (bypassing PHP entirely) will require configuration.
WP Rocket: The static file serving mode is not compatible. You'll need to disable page caching or exclude age-gated pages.
The plugin has been tested to be compatible with WP Super Cache, Jetpack Boost, and W3 Total Cache. We're testing compatibility with other popular caching plugins. Contact us for guidance on your specific setup.
Regional detection uses Cloudflare's geo headers (CF-IPCountry and
CF-Region-Code). Your site should be proxied through Cloudflare
for regional rules to work.
Cloudflare's verified bot detection is also respected—search engine crawlers are automatically allowed through without verification.
Read this article in the support forum to learn more about Why the XYZ Age Verification Plugin Requires Cloudflare
The verification cookie can be shared across subdomains. Set your cookie domain
to .yourdomain.com (with the leading dot) and the cookie
will work on www, shop,
blog, etc.
This also enables sharing verification status with non-WordPress parts of your site (Classic ASP, PHP, etc.) that share the same domain.
Visit our support forum for setup guides, troubleshooting articles, and community discussion. Covers everything from installation to configuring regions and test mode.
Download the free plugin and start protecting your site in minutes. 100 verification credits per month, no credit card required.