WordPress front-end performance

Stop loading a 400 KB script on pages with no password field

Disable Password Strength Meter removes the password strength library from every page that doesn't actually have a password field, while keeping it exactly where it's needed.

  • Removes zxcvbn, its async loader, and the meter UI script.
  • Kept on the WooCommerce account and checkout pages.
  • Kept on the WordPress password reset screen.
  • The largest script on many sites, gone from pages that never needed it.
Front-End CleanupDisable Password Strength Meter
zxcvbn.min.js~400 KB
zxcvbn-async.min.js
password-strength-meter.min.js
Still loads on My Account, Checkout and the password reset page.
~400 KB removedKept only where a password field exists.
Active
Quick answer

What does Disable Password Strength Meter do?

When the disable_password_strength_meter module is active, TOWP_Disable_Password_Strength_Meter hooks into wp_enqueue_scripts at priority 99 and dequeues and deregisters three scripts, zxcvbn, zxcvbn-async and password-strength-meter, on every page that doesn't need them. Before removing anything, it checks whether the current page is WooCommerce's My Account page, WooCommerce's checkout page, or WordPress's native password reset screen, detected through the action=rp or action=resetpass query string; on any of those, the scripts are left in place exactly as WordPress would normally load them.

The "largest script for nothing" problem

WordPress loads a 400 KB dictionary on pages with no password field

A library built for one narrow moment ends up shipped far wider than that moment ever occurs.

It's enqueued far more broadly than it's used

WordPress ships the password strength meter, and the roughly 400 KB zxcvbn dictionary behind it, on a wide set of front-end pages, most of which have no password field for it to evaluate.

It can end up the largest script on the page

On an otherwise lean, well-optimized page, this one library can quietly become the single heaviest script being downloaded, for a feature that page will never use.

A dedicated WordPress solution

Kept where it's needed, removed everywhere else

The module checks whether a page actually has a password field before deciding whether the library belongs there.

A large script removed from most pages

The roughly 400 KB zxcvbn dictionary and its supporting scripts stop loading on any page without a password field.

Kept exactly where it's needed

WooCommerce's account and checkout pages, and WordPress's password reset screen, still show the meter and its full evaluation exactly as before.

Detected automatically, not configured manually

The module checks the actual page context itself, so there's no list of URLs to maintain as the site changes.

Verified feature set

Real context detection, not a static list

Every capability below is present in the supplied PHP class and its settings registration.

Timing

wp_enqueue_scripts, priority 99

Runs late enough to override any earlier enqueue of these scripts by WordPress core, WooCommerce, or another plugin.

wp_enqueue_scriptsPriority 99
WooCommerce account page

Kept automatically

Detected through is_account_page(), which also covers WooCommerce's lost-password and edit-account sub-views.

is_account_page()Lost password included
WooCommerce checkout

Kept for account creation at checkout

Detected through is_checkout(), since checkout can include an optional account-creation field with a password.

is_checkout()Optional account creation
WordPress password reset

Detected via the reset query string

Identifies the native password reset screen through its action=rp or action=resetpass query parameter, even when reached through a redirected front-end page.

action=rpaction=resetpass
Clean removal

Dequeued and deregistered

Scripts are fully deregistered, not just dequeued, so nothing later in the page load can pull them back in by accident.

wp_dequeue_scriptwp_deregister_script
Practical use cases

Where removing the meter helps most

The module supports any site where this one library has become disproportionately heavy.

General front-end performance cleanup

Remove one of the largest scripts many WordPress sites load, on the pages that never had a password field to evaluate.

WooCommerce stores

Keep the full password strength experience exactly where account creation actually happens, while trimming it everywhere else on the store.

Sites optimizing for page weight

Pair it with other unused-script removals for a meaningful cumulative reduction in what most pages download.

Operational benefits

A big saving, with nothing lost where it counts

The module combines a genuinely large weight reduction with zero loss of functionality on password pages.

A meaningfully large script removedAt roughly 400 KB, this is one of the heaviest default scripts most WordPress sites carry on pages that never use it.
No loss of protection where it mattersEvery page that actually collects a password still gets the full strength meter, unchanged.
No manual page list to maintainThe detection logic checks the page itself, so it keeps working correctly as new pages and content get added.
One toggle, comprehensive coverageA single switch handles WooCommerce's account and checkout pages and WordPress's native reset screen together.
Performance behaviour

The single biggest saving in this cleanup family

The verified implementation removes genuinely significant weight with a lightweight check of its own.

Roughly 400 KB, removed from most pages

The zxcvbn dictionary alone accounts for the bulk of the weight being removed from pages that don't need it.

A late, deliberate override

Running at priority 99 ensures the removal happens after other enqueue logic, so it reliably overrides rather than racing against it.

A simple page-type check

Determining whether to keep the scripts is a handful of fast conditional checks, not a database query or a remote lookup.

Security implementation

No password protection is ever reduced

The code only touches which pages load an unused script; nothing about password validation is affected.

01

No reduction in protection where a password is set

Every page context that actually involves setting or changing a password keeps the full strength meter, unaffected by this module.

02

Administrator-only configuration

Only an administrator with access to TheOneWP settings can enable the module.

03

A read-only page-type check

The module only reads the current page's context to decide whether to keep or remove the scripts; it doesn't process or store any user input.

04

No effect on password validation itself

WordPress's own password requirements and validation logic are completely unaffected; only the visual strength meter and its supporting scripts are addressed.

Verified compatibility

Built around native WordPress and WooCommerce conditionals

The supplied code integrates through APIs present in WordPress and WooCommerce. No compatibility claim beyond the verified implementation is assumed.

WooCommerce detection

is_account_page() and is_checkout()

Uses WooCommerce's own conditional functions to detect the exact pages where a password field can appear.

is_account_pageis_checkout
WordPress reset detection

action=rp and action=resetpass

The two query string values WordPress uses to identify a password reset request, checked directly against the current request.

action=rpaction=resetpass
Script removal

wp_dequeue_script and wp_deregister_script

The same pair of core functions any theme or plugin would use to remove its own scripts, applied here to the three password-meter scripts.

wp_dequeue_scriptwp_deregister_script
Solution comparison

TheOneWP versus common alternatives

Compare the verified Disable Password Strength Meter implementation with a typical manual-exception snippet.

CapabilityTheOneWP Disable Password Strength MeterOther common solutions
Removing the meter from unrelated pages Detected automatically, no page list to maintainUsually requires a manual list of exceptions
WooCommerce compatibility Account and checkout pages both detected nativelyOften overlooked by a generic front-end cleanup snippet
WordPress password reset page Detected via its own query string, even off wp-login.phpFrequently missed since it isn't a fixed URL
Script removal method Dequeued and deregistered, not just hiddenA partial removal can leave the dictionary still downloading
Administration One toggle, nothing else to configureUsually the same, when available at all
Recommended workflow

Confirm the saving in four steps

Check both an ordinary page and a password-related one to confirm both sides of the behavior.

01

Enable Disable Password Strength Meter

Activate the module from the TheOneWP settings; there's nothing else to configure.

02

Check an ordinary page's network requests

Confirm zxcvbn and its related scripts no longer load on a typical post or page.

03

Check a password-related page

Visit the account, checkout or password reset page to confirm the meter still appears exactly as before.

04

Leave it on

Since there's no ongoing configuration, the module simply keeps working once enabled.

Best practices

Low risk, meaningful upside

This is one of the highest-impact, lowest-risk cleanups available for most sites.

01

Enable it as routine cleanup

This is a low-risk removal with a clearly-defined, automatically-detected set of exceptions.

02

Verify WooCommerce pages specifically

If the site runs WooCommerce, check both the account page and checkout to confirm the meter still shows where expected.

03

Don't expect any change to password requirements

This module only affects the visual strength meter and its scripts; WordPress's own password rules are untouched.

04

No further configuration is needed

Since it's a single toggle, there's nothing to revisit once it's enabled.

Common mistakes

Avoid assumptions that aren't quite accurate

The module's actual scope is easy to misjudge, especially around security.

Assuming it weakens password security

The module only removes an unused script from irrelevant pages; every page that actually sets a password keeps the full meter and WordPress's own validation.

Not checking WooCommerce pages after enabling

Since detection depends on WooCommerce's own conditional functions, it's worth confirming the account and checkout pages still show the meter as expected.

Looking for a settings screen that isn't there

Like other single-purpose modules, this one is a toggle by design, with no further configuration screen.

Frequently asked questions

Disable Password Strength Meter FAQ

These answers come directly from the verified class and its settings registration.

What does Disable Password Strength Meter do?

It removes the password strength meter and its roughly 400 KB zxcvbn library from pages that have no password field, while keeping it on pages that do.

Which pages keep the strength meter?

WooCommerce's My Account page, WooCommerce's checkout page, and WordPress's native password reset screen.

Does this weaken password security anywhere?

No. Every page that actually involves setting or changing a password keeps the full meter and WordPress's own password requirements, unchanged.

How much does this actually save?

Roughly 400 KB from the zxcvbn dictionary alone, plus its supporting scripts, on any page that doesn't need them.

Does this work with WooCommerce automatically?

Yes. It uses WooCommerce's own conditional functions to detect the account and checkout pages without any manual configuration.

How does it detect the WordPress password reset page?

By checking for the action=rp or action=resetpass query string WordPress uses to identify that request, even when reached through a redirected front-end page.

Are there any settings beyond turning the module on?

No. It's a single toggle with no additional configuration.

Does this affect the WordPress admin area?

No. The module only runs through wp_enqueue_scripts, which is a front-end hook.

What happens if a custom page also has a password field?

The module only recognizes the specific WooCommerce and WordPress contexts it checks for; a custom password field elsewhere would need its own handling.

Who can turn this module on?

Only an administrator with access to the TheOneWP settings screen.

Stop shipping a 400 KB library to pages with no password field.Keep it exactly where it's actually used.

Use Disable Password Strength Meter to remove zxcvbn from irrelevant pages, while keeping it fully intact on account, checkout and password reset pages.