Age Gate


There are many uses for restricting content based on age, be it movie trailers, beer or other adult themes. This plugin allows you to set a restriction on what content can been seen or restricted based on the age of the user.


  • Ask users to verify their age on page load
  • SEO Friendly – common bots and crawlers are omitted from age checks
  • Choose to restrict an entire site, of selected content
  • Allow certain content to not be age gated under “all content” mode
  • Add an age check to site registration forms
  • Three choices for input; dropdowns, input fields or a simple yes/no button
  • Customise the order of the inputs based on your region (DD MM YYYY or MM DD YYYY)
  • Allow a “remember me” check box if desired
  • Ability to omit logged in users from being checked
  • Add your own logo
  • Update the text displayed on the entry form
  • Select background colour/image, foreground colour and text colour
  • Use built in styling out of the box, or your own custom style
  • Ability to add legal note or information to the bottom of the form
  • Redirect failed logins to a URL of your choice e.g. an alcohol awareness website.
  • Ability to use an non caching version


  • What your users see with default styling
  • The settings page
  • The checkbox to restrict selected content


  1. Upload the ‘age-gate’ folder to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Visit ‘Age Gate’ admin section and adjust your configuration.


Installation Instructions
  1. Upload the ‘age-gate’ folder to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Visit ‘Age Gate’ admin section and adjust your configuration.
Can I restrict a particular page?

You can. If you use selected content, a checkbox will appear in content pages

Can I add my own logo/branding?

Of course, it’s your site

I’m in X country, can I format the date style?

Yes! DD MM YYYY and MM DD YYYY are supported along with a choice of how the dates are entered.

I use caching, will that be affected?

From version 1.4.0 those using caching can select the “Cache Bypass” option to allow age gating even with caching on. Be sure to empty your cache when making changes to the plugin settings.



This plugin has some serious caching issues. It should be easier to remove once you delete it.

Very easy to use + great support

I spent some time looking over options for an age restriction page and this one was by far the best I found. Also perfect for developers who want to customise the look and feel. I reported a minor bug and within a matter of hours a solution was provided, fantastic!

doesn’t work sorry

age verification plugin shows up randomly, maybe a cache issue.
The worst is that when it shows up appropriately, it leads to a 404. Useless for now, sorry.

Only worked once.

Even when people click yes they are of age, it just refreshes the age gate over and over.

Read all 13 reviews

Contributors & Developers

“Age Gate” is open source software. The following people have contributed to this plugin.


“Age Gate” has been translated into 6 locales. Thank you to the translators for their contributions.

Translate “Age Gate” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Bugfix for users being able to enter 00 in month input in Cache bypass mode


  • Bugfix for title switching in selected content mode always reading “Age Verification”
  • Bugfix for users being able to enter 00 in month input


  • Fixes Age Gate overwriting Yoast titles


  • Preparing for V2 release
  • Fixes options reverting on update
  • Adds shortcode support to additional content box
  • Does not start session for admin or CLI


  • Fixes issue where users with plain/no permalink structure were always redirected to the home page


  • Adds ability to define how long Remember Me lasts


  • Fixes issue in Cache Bypass where strings were not translated
  • Fixes issue in some Multisite installs where wp-admin was becoming invalid
  • Fix for conflict with Jetpack and wp_editor function – to be remove when Jetpack fix is released


  • Adds additional test to enable restriction of WooCommerce shop page


  • Fixes issue with includes in admin area


  • CSS change for users using large logos where the them doesn’t use max-width: 100% by default
  • Corrected README typo.


  • Minor change to logo class from logo to age-gate-logo


  • Updates to translation files
  • Adds user preference to alter page title when Age Gate is displayed
  • Added additional test for Bots in “Cache Bypass” version
  • Minor text change on post editor


  • Added Facebook and Twitter crawlers to the Bot ignore list
  • Minor CSS changes
  • Added CSS classes to Age Gate plus a guide in the admin
  • Fixes issue where links in “Additional Content” could not be opened in a new window
  • Fixes issue where links in “Additional Content” could not not have their text altered
  • Fixes bug where adding a link to “Additional Content” also updated “Redirect Failures”.


  • Due to an issue when using WPeCommerce the trigger for the JS version has been altered – JS version will be selected by default
  • When using Yes/No buttons, the question “Are you over (n) years of age?” is now optional/customisable.


  • Fixes issue when using standard mode, selected restrictions and Woocommerce when the age check would not show on the product page


  • Addresses an issue in some themes where default style misbehaves on smaller screens
  • Fixes issue where plugin was causing inability to scroll in some themes
  • Added a cheeky paypal button


  • Added option to have the Remember Me option checked by default


  • In Cache Bypass mode, session storage dropped in favour of cookies to support Private/Incognito sessions.
  • Also in Cache Bypass, when the AG is successfully passed the page will refresh as some occurences of JS manipulated content were not working.


  • Fixes a bug when using Cache Bypass mode but not using Remember me


  • Caching support! Ability to use the age gate on cached sites
  • Bugfix for uninstall not working (thanks to @nate22 for the heads up)
  • Removed bad translations


  • Addresses issue on mobile devices where rendering is a little small as raised by @fwusquare2com. Option to add viewport meta added.


  • Fixes issue created in 1.3.2 where listing pages were not age gated even if “all content” was selected


  • Bugfix for missing text domain for “remember me” text
  • Updated translation files


  • Bugfix for listing pages being age gated incorrectly (e.g. blog home and archives)


  • Options added for custom error messaging
  • Slight change to admin page layout


  • Option to bypass particular content when using “All Content” setting. Useful to allow Terms pages etc.
  • Option to redirect users to a custom destination if age test is failed


  • Fixed issue where correct input was not honoured in some browsers


  • Added “no second chance” option which disallows multiple attempts if failed.
  • Minor background improvements


  • Minor changes to default style
  • Fixed typo in readme


  • Initial release