Agy – age verification


Agy is your complete solution to age restriction for your website or woocommerce shop.
Let users verify their age before they actually access your page.

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

Agy make it easier then ever to setup, configure and style an age restriction pop up to protect unallowed access to your page.

How to use

After successfull installation and activation go to the WordPress Customizer. You can find it in your black admin bar.
There is a new section called “Agy”. There you can customise all colors, texts, background images, logo and so on.

Next step is in your admin area under Settings->Agy. Set up the default age, exclude or include specific pages or prevent the display of the age gate from registered users.


  • 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)
  • Whitelist / Blacklist: Restrict your content per page, per post or per category
  • 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 with the WordPress Customizer
  • pre-configured styling with background image and logo give you a simple start point
  • redirect failed logins to a specified page
  • mobil-friendly design


Agy Pro comes with some handy advantages over the free version:

WooCommerce Addon

If you have a WooCommerce store you will really like this addon. Add age verifcation to the registration and the checkout or
exclude products directly from your store if the customer does not have the minimum age.

  • Whitelist / Blacklist for products and product categories
  • Add a age verification checkbox to your registration
  • Add a age verification checkbox to your checkout
  • exclude products from your store if the customer does not match your defined age
  • save users age acception in your account and use it later

More Verification Types

We also included some additional verification types in the pro version.
Maybe you want to show your visitors a date picker or a slider instead of a yes or no option.

  • Use a modern date-picker to let users verify their age.
  • Use a slider to let users pick their age


The free support is exclusively limited to the support forum.

Any kind of email priority support, customization and integration help need a valid premium license.


The plugin 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.

Passster keeps your website performance in mind. Every script is loaded conditionally and all input and output data is secured.


All major texts and information can be modified from the WordPress Customizer .

The plugin is fully translatable in your language. At the moment there are only en_EN and de_DE, but you can easily add your preferred language as a .po/.mo.

It’s also fully compatible with WPML and Polylang.


  • 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 Content Warning v2
  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 CWv3 menu and configure
  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


November 30, 2018
have to fix the settings anytime anything is updated, not very webmaster friendly only need to block certain categories, not the whole site
November 19, 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.
November 4, 2018
That's a paid plugin (seriously ?). Can't edit design or text. Useless.
January 30, 2018
Great plugin, my search for plugin like that is over! Do just what it said. Thank you for fine work.
April 22, 2017
This plugin was easy to install and get going. Nice dashboard panel, too, with simple controls. The minimal controls are a bit limited, however. The background color opacity doesn't work as of this testing. You might find this plugin useful, but for someone like myself, I need something a little sexier and I tire of spending hours trying to figure out why things don't work as they should.
Read all 25 reviews

Contributors & Developers

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




  • 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.