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

Recover Control Safely

How to Restore Access Without Creating a Permanent Backdoor

Restore authorised WordPress access with temporary, audited credentials, least privilege and cleanup instead of hidden PHP bypasses or permanent admins.

Emergency access code copied into a theme, a hidden administrator and a publicly reachable database tool can outlive the incident. A recovery method should be attributable, time-limited, reversible and removed as part of the same job.

Use existing trusted control planes whenever possible.

Verify the owner and scope

Confirm the person authorising recovery controls the relevant domain, hosting subscription or organisation. Identify the exact WordPress installation, user and business purpose.

Do not accept a familiar email display name or public website claim as proof. Use the host’s or organisation’s established ownership process.

Record approval and the expected access-removal time.

Prefer supported recovery paths

Use normal password reset when the owner mailbox is trusted, or WP-CLI/hosting/database access for one verified existing administrator. Take a database backup before direct changes.

Avoid editing core files, adding a query-string bypass or uploading a "recovery shell." Those techniques create executable paths attackers can discover.

Run commands as the site owner, not an unrestricted server user.

Make temporary access obvious

If a temporary user is necessary, give it an identifiable name, minimum required role, unique credential and expiry/removal owner. Log its creation and every use.

Do not use a generic hidden username or reuse the same support account across sites. Never suppress it from the Users screen.

Enable MFA and restrict hosting access where supported.

Limit the credential’s reach

Separate WordPress, hosting, database, DNS and payment access. A responder who needs to inspect form settings does not automatically need registrar or server-root credentials.

Use managed invitations and short-lived keys instead of sending passwords through email/chat. Give each person their own account.

Revoke access rather than changing a shared password when the platform supports individual identities.

Preserve auditability

Keep timestamps, user IDs, commands/change tickets and affected paths. Do not log password values, reset tokens or complete database rows.

Retain original incident evidence separately from working copies. An emergency fix should not erase who created the unknown user or changed credentials.

Use one timezone across records.

Avoid file-based authentication bypasses

Code that auto-logs in a user, resets passwords on every request or creates an administrator during theme load is persistence, regardless of good intent. It may execute on public requests and remain in backups.

Remove such code before any public test if discovered. Review themes, must-use plugins, snippets and wp-config.php for previous emergency modifications.

Replace altered maintained files from trusted packages.

Secure the recovered owner

After the verified owner logs in, set a strong unique password, enable MFA, revoke all sessions and inspect application passwords. Confirm account email and role.

Secure primary email, hosting and DNS controls so the WordPress recovery cannot be reversed. Rotate exposed database/API credentials in a controlled sequence.

Check for unknown administrators and scheduled account recreation.

Close every temporary route

Delete temporary users, keys, database tools, IP allow rules and maintenance bypasses. Remove local copies of credentials and diagnostic exports according to policy.

Verify in WordPress, hosting, SSH/SFTP and CDN—not only in the support provider’s notes. Record closure evidence.

Do not leave "emergency" access enabled for future convenience.

Review backups and deployment repositories for the same emergency bypass. Removing it from production is temporary if the next restore or release adds it again.

Verify normal operations

Test standard owner login, password reset, forms, checkout, cron and mail. Confirm no hidden bypass, unknown session or temporary allow rule remains.

Monitor administrator creation, role changes and hosting access after reopening. Review the recovery process if access cannot be revoked cleanly.

Request managed emergency recovery when ownership or privilege scope is unclear. Share an invitation through the authorised platform—never permanent credentials, reset URLs or executable bypass code.

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