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

Recover Control Safely

Locked Out of a Hacked WordPress Admin: Safe Recovery Options

Recover authorised WordPress access through verified email, hosting, WP-CLI or scoped database changes without hiding a permanent administrator.

Recovering /wp-admin is only one part of regaining control. An attacker with hosting, email or database access can reverse a WordPress password change, while an unrecorded emergency account can become the next security problem.

Verify ownership, preserve evidence and use the least invasive trustworthy control path.

Confirm the correct site and identity

Check the canonical HTTPS hostname, WordPress installation path, database name and table prefix. DNS or a failed migration may point the login page at a staging copy.

Confirm the owner account’s user ID and email from protected hosting/database access. Do not reveal publicly whether an address is registered.

Record the failure time and recent account, plugin or migration changes.

Protect the control channels first

From a clean device, secure the primary email, hosting panel and registrar/DNS accounts. Revoke unknown sessions and enable multi-factor authentication.

If the owner mailbox is compromised, normal password reset is not safe. If the hosting account is compromised, WordPress files and database can be changed after every recovery.

Use the provider’s identity-verification process rather than exchanging passwords in tickets.

Try the supported reset flow

When the owner mailbox and domain are trusted, request one WordPress password reset. Inspect delivery through the mail provider without sharing the link or token.

Do not request repeated links; later requests may invalidate earlier ones and trigger security limits. Confirm the reset URL uses the canonical domain and TLS.

After login, set a unique password and revoke other sessions.

Use hosting or WP-CLI access

With authorised shell access to the correct installation, WP-CLI can identify users and reset a verified account without relying on email. Run it as the appropriate site owner and take a database backup first.

wp user list --fields=ID,user_login,user_email,roles
wp user update VERIFIED_USER_ID --user_pass='UNIQUE_TEMPORARY_SECRET'

Replace the placeholder only after verifying the existing owner. Avoid placing a real secret in shared shell history; use the host’s secure mechanism where available.

Use a scoped database recovery

If WP-CLI is unavailable, a qualified responder can update one pre-verified account through phpMyAdmin or another controlled database tool. Take a snapshot and confirm the active table prefix.

Do not create a hidden user with a familiar name or copy password hashes between sites. Avoid broad edits to users and usermeta, especially on multisite.

Record the changed user ID and remove temporary database access.

Isolate authentication conflicts

SSO, membership and security plugins can block core authentication even when the account is intact. Review PHP/plugin logs and recent updates.

Test suspected components on an isolated copy. Renaming every plugin on production can disable checkout, firewall and audit logging at once.

Keep one documented emergency owner route that does not become a public bypass.

Search for malicious persistence

Inspect administrators, application passwords, active sessions, must-use plugins, scheduled tasks, wp-config.php and executable files in writable directories. Compare maintained code with trusted packages.

An attacker can recreate an account after you delete it. Close the vulnerable component or stolen-credential path and rotate hosting, database and deployment secrets.

Do not reopen based only on one successful login.

Keep containment independent from login

If the site is redirecting visitors, exposing checkout data or sending spam, contain that behaviour through the host/CDN while access recovery continues. Regaining the dashboard must not automatically reopen production.

Use a static maintenance response outside WordPress where practical. Record any IP or maintenance bypass and remove it after testing.

Verify recovered control

Confirm approved administrators and roles, no unknown application passwords, secure owner email and expected hosting keys. Test login/logout, password reset, forms, checkout and transactional mail.

Monitor privileged-user changes and failed logins after release. Remove emergency credentials and record the recovery.

Request urgent access recovery when email, hosting and WordPress ownership disagree. Provide ownership evidence through managed channels—never password hashes, reset tokens, database dumps or credentials publicly.

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