Agy – Age verification for WooCommerce


Agy is a modern and responsive solution for age verification with WooCommerce.
Simply setup the texts, modify the design and your ready.

This comes specially handy if your content or products are about alcohol, gambling or other adult content.

How to use

After activation move to Settings->Agy and begin to configure your age verification settings.

Start with your general settings: add your age value, set the cookie lifetime, your exit URL and decide if it should apply to registered users or not.

Move to the text settings and customise all your texts. This is also the place to apply any translations with WPML or Polylang – simply use the language switcher in the admin bar.

To exlude a specific post, page or product from the age gate simply check the metabox inside the editor (works also with Gutenberg).


  • Let users verify their age on page visit
  • SEO friendly – This plugin automatically let bots and crawlers bypass the age gate (including google page speed bots)
  • Exclude specific posts/pages/products from the Age Gate
  • Use one or two column mode for additonal explanations
  • Add your own logo and set a unique teaser area (two column mode)
  • Show the age gate only for non-registered users
  • Modify every text, color, background image and more
  • redirect failed logins to a specified page
  • mobil-friendly design

Learn more on


Agy Pro is for advanced WooCommmere shops which like to take a more advanced and secured way to age verification.
The advanced pro features are not needed for an average WordPress website.

  • More design layouts: age slider and datepicker
  • Add an age checkbox to registration and checkout
  • Save the information if the user is old enough in the account
  • blacklist specific products, when the user does not match the age (works also with unregistered customers)
  • Sofort Ident for WooCommerce – add an advanced age verification with the Sofort Ident API. It verifies the users age with their bank account.
  • Advanced technical support directly from the developer

Get pro on


The free support is exclusively limited to the support forum.
Any kind of email priority support, customisation and integration help need a valid premium license.


Agy is coded with modern PHP and WordPress standards in mind. It’s fully OOP coded. It’s highly extendable for developers through several action and filter hooks.
Agy has your website performance in mind – every script and style is minified and loaded conditionally.


Agy is completly translatable with WPML and Polylang.
Simply use the age switcher and translate all settings in Settings -> Agy.


  • Two-Column mode
  • One-Column mode
  • Customizer Settings


Default Method

  1. Go to Settings > Plugins in your administrator panel.
  2. Click Add New
  3. Search for Agy
  4. Click install.

Easy Method

  1. Download the zip file.
  2. Login to your Dashboard
  3. Open your plugins bar and click Add New
  4. Click the upload tab
  5. Choose content-warning-v2 from your downloads folder
  6. Click Install Now
  7. All done, now just activate the plugin
  8. Go to Settings -> Agy and configure it
  9. Save, and you’re all good.

Old Method

  1. Upload content-warning-v2 to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress


30 November 2018
have to fix the settings anytime anything is updated, not very webmaster friendly only need to block certain categories, not the whole site
19 November 2018
After clearing my cache and testing in a guest browser, I'm disappointed that: 1) the age verification window appears mostly off the bottom of the screen; 2) the background blurring that shows in the customiser isn't on the frontend; 3) despite having set which website to visit in the settings (yes, that's two separate locations for one plugin in the dashboard), the page just reloads. Further, I did have a custom function for my client so when they logged in, they wouldn't see the age gating. This now doesn't work either. It used to be a great plugin, I will be rolling back to the previous developer's version.
4 November 2018
That's a paid plugin (seriously ?). Can't edit design or text. Useless.
30 January 2018
Great plugin, my search for plugin like that is over! Do just what it said. Thank you for fine work.
Read all 26 reviews

Contributors & Developers

“Agy – Age verification for WooCommerce” is open source software. The following people have contributed to this plugin.


Change log


  • Bugfix for Multisite activations
  • Fixed Sofort Ident checkup in checkout
  • compatibility divi checkout with restriction


  • better WooCommerce blacklist handling
  • bugfix for Sofort Ident API
  • Whitelist-Mode for inverting blacklist
  • modified descriptions and translations
  • CSS bugfixes for alpha color select
  • removed migration message


  • position fixed for .box
  • hover state for buttons
  • better prefix for run_plugin to avoid conflicts
  • readding debug mode
  • dynamic cookie lifetime fixed
  • fix for closing migration notice (without migration)
  • WPML config file for translation


  • Support release
  • check if WooCommerce conditional functions exists before using them


  • Support release
  • fixed woocommerce_options vs. woocommerce_settings
  • made Sofort Ident an optional (and activatable) feature
  • better preventing naming issues with consequent namespacing
  • fixed notice for age_result checks


  • Support release
  • fixed Is_user_logged_in() namespace error


  • cookie option
  • new admin UI
  • move customizer settings to options
  • more efficient blacklist solution with post meta settings
  • add migrator for customizer settings
  • add new Sofort Ident API features


  • prevents collision if free and pro version installed
  • check if migrate_page_authorization exists before using it


  • security fix freemius sdk
  • background image option


  • fix center mode for IE 9 – 11


  • z-index options in customizer
  • prevent whitelist option update on plugin update


  • compatibility bridge theme
  • fix modifiy height settings
  • translation fixes for german admin


  • fixed some migration problems
  • set z-index for the box
  • fixed [age] shortcode in output
  • fixed age gate check on page load
  • optimized responsive design


  • improved migration from content-warning-v2


  • improved initial configuration
  • improved migration for headline, message, exit and enter buttons
  • fixed namespace for PSAG_Helper
  • add notice with customizer link
  • improved readme
  • modified some default values for the customizer


  • under new development
  • complete redevelopment of the current age verification plugin
  • adding migration options for Upgrade


  • Removed some rogue logging methods.


  • Fixed category saving in options Fixes #59


  • Fixed an opacity bug where if user set opacity to 0, it was ignored. This should no longer happen.
  • Move to the settings API, drop JW Simple Options framework ( I was a newbie when I made it ). Fixes #45
  • Use Select2 for categories
  • Use a better check method for checkboxes and multi-select – fixes #49
  • Set opacity step to 0.1 – Fixes #55


  • Small cleanup
  • Force text color to be black – fixes #43
  • Use COOKIEPATH instead of SITECOOKIEPATH constants, compatibility fix for sub-folder installs – fixes #42


  • Use background-image css property instead of just background – thanks to 95CivicSi


  • Fixed conditional being too strict #34
  • Fixed plugin homepage link #31
  • Removed uninstall hook for now – Options API needs to be updated
  • Fixed denial toggle to actually remove denial text if it was once on, but now off.


  • Fixed CSS issues for background images and css overrides


  • Zero day ( 0 ) cookies should use sessions instead of NOT setting the cookie. Issue #29
  • New filter for display condition – See WikiIssue #26


  • Fixed denial redirects. Issue #28
  • Fixed multiple undefined index errors on admin
  • Changed yes/no on post columns to locked dash-icon, less clutter
  • Clean up meta saving logic
  • Added @since tags for future development
  • Better PHP documentation
  • Add /lang directory for I18n
  • Update Tested Up To version
  • Development Documentation
  • Passified all PHPcs complaints


  • Category fix, fixes #18
  • Alphabetize method names, because why not!?
  • Few docblock changes


  • Dialog re-sizing fixes.


  • Cookie HOTFIX


  • Split methods and hooks from main class file, will prevent overhead, also separates admin from front-end.
  • Moved to use of cookie.js
  • Created API file for methods.
  • New filters & actions for developers
  • Began development of API file, currently only support JS outputs.
  • NEW Filters for content outputs, see inc/api.php more to come.
  • Switched CSS priority, to allow custom css to override bg image and opacity
  • Converted sass file to nested sass and uses classes instead of IDs
  • stacyk – Made buttons visible on popup at all times.
  • stacyk – CSS Fixes for new popup.
  • New Popup coding, dropped colorbox in favor of my own popup code. ( Less bloat )
  • BIG THANKS to Stacy for helping me with some initial CSS issues.