Gatemi Age Verification for WooCommerce asks a visitor to confirm their age — for the whole site, for every shop page, or only for the products that are actually restricted — and then does something about the answer.
The purchase is refused, not just covered. This is the part the category gets wrong. An overlay is one browser-devtools panel away, and ?add-to-cart=123 never sees it at all, so the order arrives anyway for exactly the product a shop is not allowed to sell to whoever placed it. Here a restricted product is not purchasable as far as WooCommerce is concerned, adding it is refused with a message the shopper reads, and a basket already holding one cannot be paid for until the age is confirmed. One filter (woocommerce_is_purchasable) covers surfaces this plugin never has to know about: the Store API, the blocks cart, the blocks checkout.
Nobody's basket is emptied. A shopper who confirms their age finds their shopping exactly where they left it.
It works with a page cache, and without JavaScript. The gate is server-rendered as an ordinary form — the buttons post, and a typed date of birth is compared in PHP — so it is there before a script has run. Because a confirmation is a fact about one visitor and a cache cannot know it, the markup is identical for everybody and a five-line snippet in the head reads the cookie and hides a gate that is already cleared. The alternative every plugin in this category takes is to remove the gate from a load handler, which means somebody who confirmed three weeks ago watches it appear and vanish on every page.
Search engines are never gated. A shop that age-gates its crawler disappears from search results within a fortnight, and finds out from its traffic rather than from its plugin.
A date of birth is checked and thrown away. It is compared on the server — a check done in the browser is one panel away from saying anything at all — and nothing about it is stored, on the customer or on the order. A shop selling knives has no business holding its customers' dates of birth.
Features
- An age gate for the whole site, every shop page, or only restricted products
- Restricted products chosen per product, or by category with sub-categories included
- A minimum age per product, per category and for the store — a product filed under two restricted categories asks for the higher
- A yes/no gate, or a date of birth compared on the server
- Remembered for as long as you choose; raising the minimum age closes the confirmations already given at the lower one
- An optional confirmation at the checkout, recorded on the order with the wording exactly as it was shown and the time
- Roles that are never asked, and search engines that never are
- No JavaScript beyond the five-line no-flash snippet, and one small stylesheet
Every license includes
- One year of updates and priority support, delivered straight to your WordPress dashboard.
- Use on 1, 5 or 25 sites depending on your license — local, staging and development sites are always free.
- 30-day money-back guarantee — full refund, no questions asked.
- Keeps working after expiry — if you choose not to renew, the plugin keeps running exactly as installed; it simply stops receiving updates and support until you do.
Requires WordPress 6.4+ · PHP 7.4+ · tested up to WordPress 7.0. Works with the classic and block checkout alike.

Gemma L. (verified owner) –
Everything I wanted and nothing I did not. I haven’t touched the Age Verification settings since the day I set them. Very solid.
Peter (verified owner) –
Rolled it out across the whole group in an afternoon. Age Verification hasn’t cost me a single support email from a customer.
Antonio M. (verified owner) –
Il tipo di plugin per cui pago volentieri. Age Verification non ha bisogno di sorveglianza. Non cambierei nulla.
Sebastian (verified owner) –
Das dritte Plugin für diesen Zweck und das erste, das ich behalte. Vernünftige Voreinstellungen — Age Verification war kaum zu konfigurieren. Gut angelegtes Geld.
Andrew C. (verified owner) –
Query monitor barely notices it’s there. A colleague asked what I was using and I said Age Verification. Buy it and get on with your day.