Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

Confirm And Contain Incident

The WordPress Login Page Works but Every Password Has Changed

Recover safely when WordPress passwords stop working by checking account changes, email ownership, database integrity, sessions and hosting control.

When several known passwords fail at once, the cause may be compromise, database replacement, authentication-plugin failure or a migration to the wrong database. Resetting one account is useful only after confirming the site and control channels are trustworthy.

Recover through hosting and database evidence from a clean device.

Rule out the wrong installation

Check the canonical hostname, WordPress site URL, database name and table prefix. A DNS or deployment change can point the login page to a staging copy or restored database where expected users differ.

Record the time the failure began and recent migrations, restores or PHP/plugin changes. Do not keep retrying passwords and trigger account locks.

Confirm the TLS certificate and domain before entering any credential.

Secure the primary email and hosting account

From a separate clean device, verify access to the domain owner’s email, registrar/DNS and hosting control panel. Change exposed credentials, revoke unknown sessions and enable multi-factor authentication.

Email compromise can let an attacker reset WordPress repeatedly. Hosting access can replace files or database values after any WordPress repair.

Do not use password-reset links delivered to an unverified mailbox.

Verify forwarding rules, recovery addresses and recent security events in the owner mailbox. An attacker who retains email recovery can undo every WordPress password reset.

Preserve account and login evidence

Save current user IDs, roles, emails, application-password metadata and relevant audit/access logs. Record successful and failed login events around the incident.

Avoid exporting password hashes or the complete user table into a support ticket. Take a protected database snapshot before direct changes.

Check whether unknown administrator accounts appeared simultaneously.

Inspect authentication components

Security, SSO, LDAP and custom-login plugins can change authentication without altering password hashes. Review recent updates, PHP errors and plugin logs.

On a protected staging copy, isolate the authentication layer while preserving the original files. Do not rename the whole plugins directory on production when checkout, security and other services depend on it.

Keep a fallback owner account outside optional SSO where policy permits.

Check database integrity

Confirm WordPress reads the intended users and usermeta tables. Look for changed administrator emails, capabilities, mass-updated password hashes and database-user activity.

Use precise read queries and compare with a known-good backup. A mass difference is evidence to investigate, not a reason to copy old hashes blindly into production.

Check whether database credentials were exposed in backups or public configuration.

Recover one verified owner account

Use a supported hosting, WP-CLI or carefully scoped database method to reset one pre-verified administrator. Perform the change through authorised secure access and log it.

Do not create a hidden permanent administrator or email a plaintext password. Use a unique temporary secret, log in once from a clean browser, set a strong password and enable MFA.

Revoke all sessions after recovery.

Search for persistence

Inspect trusted checksums for core/plugins/themes, must-use plugins, scheduled tasks, wp-config.php, writable upload/cache paths and server cron. Malicious code may reset passwords or recreate accounts.

Review DNS, mail and hosting users as part of the same access incident. Remove only after preserving evidence and establishing a clean replacement.

Rebuild untrusted code rather than editing visible payloads in place.

Verify users and business functions

Confirm approved administrators, roles, application passwords and emails. Test login/logout, password reset, forms, checkout and transactional mail on the recovered site.

Monitor privileged changes and failed logins after reopening. Reconcile orders or leads created during containment.

Request emergency access recovery when the primary email, hosting and WordPress identities disagree. Provide proof of ownership through the host’s process—never public database dumps, password hashes or reset tokens.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident