Accessible and lightweight Banners & Popups on WordPress

Create custom and lightweight banners and popups with advanced targeting, full WCAG 2.2 accessibility, and native HTML <dialog>. Zero dependencies. Maximum performance.

What BannerMonster Can Do

Everything you need to create effective banners and popups, directly from your WordPress dashboard.

Banner Type Configuration
Configuration

5 Element Types

Choose between fixed top and bottom bars, centered popups, or corner-positioned popups. Each type is fully customizable with colors, padding, borders, and font size.

  • Fixed bar at top or bottom
  • Centered modal popup
  • Corner popup (bottom-right / bottom-left)
  • Native <dialog> with ::backdrop overlay
Display Rules
Targeting

Display Rules

Control exactly where each banner appears. From specific URLs to taxonomies, the targeting is comprehensive.

  • All pages, posts, or custom post types
  • Specific pages, posts, or CPTs
  • Specific URLs (partial match, case-insensitive)
  • Categories, tags, and custom taxonomies
Trigger Configuration
Triggers

When to Show the Banner

Choose the right moment to engage visitors: immediately, after a timeout, on scroll, or on exit intent.

  • Immediate on page load
  • After X seconds
  • At X% page scroll
  • Exit intent (mouse leaves viewport)
Style Customization
Customization

Full Styling Control

Every banner is unique. Colors, dimensions, custom CSS classes, and more. Integrates seamlessly with any theme and page builder.

  • Color picker for background, text, and border
  • Customizable padding, font size, and width
  • Custom CSS classes per banner
  • Compatible with Elementor, Divi, WPBakery
WCAG 2.2 Accessibility
Accessibility

WCAG 2.2 Compliant

Popups use the native HTML <dialog> element, delivering full keyboard accessibility and screen reader support out of the box. No custom JavaScript needed.

  • Focus trap managed by the browser
  • Escape key closes popups natively
  • role="dialog" and aria-modal applied automatically
  • :focus-visible styling for keyboard users and border
  • Customizable padding, font size, and width
  • CSS classes and custom CSS per banner
  • Compatible with Elementor, Divi, WPBakery

Why BannerMonster

Built for developers and marketers who demand power without compromise.

Zero Frontend Dependencies

Pure vanilla JavaScript, no external libraries. Your site stays fast, SEO stays intact.

WordPress-Grade Security

Nonce verification, capability checks, sanitization, and escaping on every input and output. 100% clean Plugin Check.

No Frontend Framework

Standalone CSS with no heavy frameworks. Integrates with any theme without conflicts.

Optimized Performance

Assets loaded only when active banners exist. Object cache for database queries. No unnecessary requests.

Advanced Targeting

URLs, taxonomies, CPTs, specific pages. The right banner, at the right time, for the right user.

Reappearance Control

Set how many minutes after closing a banner should reappear. Users stay unbothered, your message returns at the right time.

Debug Mode

Add ?bm_debug=1 to bypass localStorage. Test banners on every page load during development.

WordPress.org Ready

Readable code, i18n-ready, GPL-2.0+, compliant with all 18 official repository guidelines.

WCAG 2.2 Compliant

Native <dialog> element provides focus trap, Escape key, and screen reader support. Passes Lighthouse and axe DevTools audits.

Frequently Asked Questions

Everything you need to know about BannerMonster.

Yes. BannerMonster uses high-specificity CSS selectors with !important declarations to ensure styles are applied regardless of your theme or page builder.

No. The frontend uses vanilla JavaScript with zero dependencies. No Google Fonts, no analytics, no CDN libraries. jQuery is never loaded on the public side.

When a visitor closes a banner, the ID and timestamp are saved in the browser's localStorage. You can set how many minutes to wait before the banner reappears. Setting it to 0 means it never reappears after closing.

There is no limit. BannerMonster uses a Custom Post Type. Each banner is an independent post with its own rules, triggers, and styles. The plugin loads up to 50 active banners per page view.

Add ?bm_debug=1 to any URL on your site. All banners will appear on every page load, bypassing localStorage state. Useful during development and testing.

Yes. BannerMonster uses standard WordPress hooks. The banner HTML is rendered in the footer, and visibility logic is handled via JavaScript. Caching plugins work normally.

Each banner has a CSS Classes field for adding classes and writing CSS scoped to that specific banner.

Yes. Popups use the native HTML <dialog> element, which provides focus trapping, Escape key handling, and role="dialog" with aria-modal automatically. The close button is keyboard-accessible, and :focus-visible styling ensures keyboard users can see where focus is. Passes Lighthouse accessibility audits and axe DevTools checks.