Server-side enforcement
Overlay, hard redirect, or content withholding. Protected markup is stripped before the response is built.
AgeWall enforces age gating on the server — restricted content is never sent to unverified visitors. That part is free. Pro adds per-jurisdiction rules, real ID checks, WooCommerce blocking and an audit log.
The free plugin is on the WordPress.org directory — install it from your own dashboard.
Built for UK Online Safety Act, US state laws & EU — alcohol, vape, cannabis & adult content.
Every popular age plugin hides restricted content with CSS or JavaScript. The content is still in the page source — one "View Source" and it's there. That was fine when nobody was watching. In 2025–2026, regulators are.
Verification state is a signed, server-verified token — not a cookie you can flip in DevTools. Follow one restricted request down each lane and watch where the content stops. This is the free plugin.
Six systems working together — enforcement, jurisdiction, verification, commerce, gating and evidence. Enforcement and gating are in the free plugin; the rest is Pro.
Overlay, hard redirect, or content withholding. Protected markup is stripped before the response is built.
GeoIP-resolved country sets, each with its own min age and required method. Ordered rules, first match wins.
Confirmation, date of birth, ID document upload with manual review, plus Yoti and VerifyMyAge integrations.
Flag products or categories as restricted. Add-to-cart and checkout are blocked server-side until verified.
Whole-site splash, per page / post / category, a Gutenberg block, and an [agewall] shortcode.
Every attempt recorded with hashed identifiers, jurisdiction and result. GDPR retention purge and privacy erasers built in.
Pick the assurance each rule needs — from a soft confirmation to a government-ID check. Confirmation and date of birth ship free; ID document, Yoti and VerifyMyAge are Pro. Every method is a pluggable provider, so your developers can add more.
"I am over N." The softest gate, when a jurisdiction only requires a prompt.
Free · no 3rd partyComputed against the applicable min age. No third party, no PII stored raw.
Free · no 3rd partyUpload an ID image → status pending → admin approves or rejects inline. No third party.
ProAge estimation and digital ID. You connect your own Yoti account.
Pro · bring your keysRegulated ID verification for strict jurisdictions. Your VerifyMyAge credentials.
Pro · bring your keysThe same catalogue can demand a hard ID check in one country, a date of birth in another, and a simple confirmation everywhere else. AgeWall Pro resolves the visitor's country, then walks your ordered rules until one matches.
↓ evaluated top to bottom · first match wins
The WooCommerce module loads only when Woo is active. Mark a product or a whole category age-restricted, and the guard blocks the transaction — not just the view.
A working WordPress + WooCommerce install. Trip the gates, block a checkout, then open the admin to see the rules and the audit log fill up. Start at the demo home, or jump straight in below.
The splash gate in overlay and hard-redirect modes.
Open demo Frontend · FreeThe [agewall] shortcode locking part of a page — content withheld server-side.
The same withholding, placed visually in the block editor.
Open demo Frontend · ProUpload an ID, land in pending, then approve or reject it from the admin.
Open demo WooCommerce · ProAn age-restricted product with add-to-cart and checkout blocked server-side.
Open product WP AdminThe full admin — methods, jurisdiction rules and the verification log viewer.
Username demo · password demo1234 Open adminVerified once and want to try again? The front-end Reset age verification button replays any gate.
Server-side withholding — the thing every other age plugin gets wrong — is in the free plugin, not behind a paywall. AgeWall Pro is for sites that also have to prove it: per-country rules, real ID checks, WooCommerce and evidence.
A complete, genuinely useful age gate. Most sites will never need more than this.
[agewall] shortcode, or the Gutenberg block.Listed on WordPress.org as Webkoding AgeWall — installs and updates from your dashboard.
Everything in the free plugin, plus the compliance engine — for regulated goods and audited jurisdictions.
$39 — one site, one year of updates. No metered verifications, no monthly platform fee.
The free plugin is fully useful on its own. Pro is an upgrade, not the unlock.
No. Server-side withholding — the part that actually makes an age gate real — is in the free plugin, along with confirmation and date-of-birth verification, every gating surface (whole site, per page or post, the [agewall] shortcode, the Gutenberg block), appearance, remember duration and search-engine handling. A great many sites need nothing else. Pro exists for sites that must also satisfy per-country rules, check ID documents, gate WooCommerce, or produce an audit trail.
Yes. It is listed as Webkoding AgeWall, so you can install it from Plugins → Add New in your own dashboard and take updates the normal way. Pro installs beside it as a separate plugin.
Yes — for the ID-provider methods you bring your own keys, exactly like connecting a payment gateway. AgeWall Pro ships the integration; you paste your Yoti or VerifyMyAge credentials in the Providers tab and you're live. The methods that need no third party at all are confirmation and date of birth (free) and document upload with manual review (Pro).
Those hide restricted content with CSS or JavaScript — it still ships in the page source and is trivially bypassed. AgeWall's decision is authoritative on the server: unverified visitors never receive the protected markup. That difference is in the free plugin. Pro adds jurisdiction rules, real ID verification and an audit log, and it stops being a popup and becomes a compliance engine.
The whole-site gate has an SEO-friendly overlay mode, and you can allow known search engines to bypass gating as an explicit, logged choice. GeoIP resolves from CDN headers with a bundled fallback, so there's no mandatory external API call on every page load.
No. The WooCommerce module is a Pro feature, it is feature-detected, and it only loads when Woo is active. On a plain WordPress site the free plugin still gives you whole-site gating, per-page content locks, the Gutenberg block and the [agewall] shortcode.
The free plugin keeps no verification records. A passing visitor gets a signed, HttpOnly cookie and that is all — no table is created and nothing is written about them. The one exception is rate limiting: a hashed IP counts failed attempts for ten minutes and then expires.
Pro adds the audit log, because compliance means being able to show your work. It records the timestamp, method, result, jurisdiction, target content and a hashed visitor identifier — never raw PII. Retention is configurable with an automatic purge, uploaded ID documents are stored out of the web root under a keyed-hash filename and deleted on purge or rejection, and the plugin registers WordPress privacy exporters and erasers.
Yes. Every method implements a documented Agewall\Providers\ProviderInterface and registers itself on the agewall/register_providers action. Adding a new method — a regional ID scheme, a credit-card check — means writing one adapter class.
Server-side enforcement is free. Jurisdiction rules, ID verification, WooCommerce and the audit log are $39 — one site, one year of updates.
Or open the live demo first.