WooCommerce age verification plugin
Age Restrictions for WooCommerce
Mark individual WooCommerce products as age-restricted and show an accessible, cache-friendly age-verification modal, badges and warnings.
- Version
- 1.0.0
- Active installs
- Fewer than 10
- Tested up to
- WordPress 7.1.3
What it does
Restrict only the products that need it — alcohol, tobacco, vapes, adult content or age-restricted supplements — instead of gating your whole store. Visitors see a verification modal before a restricted product page, and their confirmation is remembered with a single cookie that holds no personal data.
Badges on listings, a warning under Add to Cart and notices on the cart and checkout reinforce the restriction. Because the modal is rendered the same for every visitor, it keeps working with full-page caching and CDNs.
Per-product restriction
Tick “Age-restricted product” on any simple or variable product.
Verification modal
An accessible modal with your title, message, minimum age and exit destination.
Remembered confirmation
One cookie with no personal data, kept for the number of days you choose.
Badges and warnings
Optional listing badge, product-page warning and cart and checkout notices.
Cache-friendly
The same HTML for every visitor, so page caching and CDNs keep working.
Translation-ready
Ships in German, French, Spanish, Swedish, Danish, Norwegian and Hindi.
Screenshots
Free and Pro
| Feature | Free | Pro (planned) |
|---|---|---|
| Per-product age restriction | ||
| Verification modal, badges and warnings | ||
| Classic and block cart and checkout notices | ||
| Date-of-birth entry and checkout verification | ||
| Different ages per category, country or state | ||
| Hide prices or block Add to Cart until verified | ||
| Verification log on orders | ||
| ID-verification service integrations |
Pro is planned — ask about early access or a custom age-verification flow.
Ask about ProRequirements & resources
- WordPress
- 6.0 or later
- WooCommerce
- 6.0 or later
- PHP
- 7.4 or later
- Checkout
- Classic and block-based
- Caching
- Full-page cache and CDN safe
- Languages
- 7 included, plus a .pot file
Frequently asked questions
Does this work with variable products?
Yes. The restriction is set on the parent product, so it applies to every variation.
Will this break page caching?
No. The modal markup is identical for every visitor and a small script decides whether to show it, so caches and CDNs are unaffected.
What does the cookie store?
One cookie with a fixed value meaning “this visitor confirmed the minimum age” — no age, birthdate or tracking data.
Do visitors confirm again on every restricted product?
No. Confirmation is remembered site-wide for the number of days you set.
Does the warning work on the block-based cart and checkout?
Yes, on both the classic and the block-based cart and checkout.
Need a feature these plugins don’t cover?
I build custom WordPress and WooCommerce plugins — from a single checkout rule to a full integration with your ERP or fulfilment system.