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

Recover Control Safely

Plesk Administrator Access After a Website Compromise

Recover Plesk access after a WordPress compromise by separating server, customer and subscription accounts, preserving logs and rotating secrets.

Plesk can expose server-wide administrator, reseller, customer and subscription-level access. A compromised WordPress administrator does not automatically mean the Plesk administrator is stolen, but malicious file changes across subscriptions or unknown panel sessions expand the incident.

Verify scope before granting or rotating the most powerful account.

Map Plesk roles

List the server administrator, resellers, customers, additional users and subscription owners. Record which identities can manage files, databases, mail, DNS, backups and scheduled tasks.

Do not share the server administrator password with a developer who needs one subscription. Use role-specific managed access.

Check owner email and MFA status for every high-privilege account.

Preserve panel evidence

Export or request Plesk panel, web, FTP/SFTP/SSH, mail and scheduled-task logs. Record active sessions, API tokens, unknown users and recent configuration changes.

Snapshot affected subscriptions and databases outside public web roots. Preserve server-level evidence before password rotations invalidate session context.

Minimise customer data in collaborative copies.

Secure the administrator identity

From a clean device, rotate the server administrator password, revoke unknown sessions/API tokens and enable MFA. Verify account contact/recovery email separately.

If the server itself may be compromised, use the infrastructure provider’s console or recovery process rather than trusting the installed Plesk login page.

Do not disable TLS verification to reach a mismatched panel hostname.

Separate subscription recovery

Rotate customer/subscription credentials, system users, SFTP/SSH keys and database users for affected sites. Avoid resetting unrelated customers until evidence or shared server access justifies it.

Check whether several subscriptions use the same system user or deployment key. Apply separate ownership and permissions during recovery.

Record service restarts and expected downtime.

Review scheduled tasks and extensions

Inspect Plesk scheduled tasks, WordPress Toolkit actions, extensions and backup jobs. An attacker may establish persistence outside WordPress.

Verify extension sources and versions. Disable only confirmed malicious or vulnerable components after preserving configuration.

Do not delete every cron job; mail, backups and certificate renewal depend on legitimate schedules.

Check mail and DNS controls

Review outgoing-mail limits, queues, forwarding rules, mailbox users and domain mail-routing state. Unexpected spam can lead to server suspension or reputation damage.

If Plesk hosts authoritative DNS, compare zones and nameservers with a known-good copy. Secure registrar/CDN accounts independently.

Do not change MX records as part of a generic password rotation.

Decide whether the server itself is trusted

Unexpected root/administrator sessions, altered system packages, unknown services or changes outside subscription directories require infrastructure-level incident response. A WordPress rebuild inside the same operating system is not enough.

Preserve provider console and system logs, isolate the server and coordinate a clean operating-system rebuild with the infrastructure owner. Do not attempt ad-hoc rootkit removal on the only production host.

If evidence stays within one subscription and Plesk/system controls are verified, document why server-wide rebuild is not required.

Validate backup and restore controls

Review Plesk backup repositories, remote-storage credentials, scheduled jobs and restoration history. An attacker may read backups or restore persistence after cleanup.

Test a known-good backup in isolation and rotate repository secrets. Do not overwrite the only incident snapshot or assume a successful backup status means the content is clean.

Keep backup storage outside publicly served subscription paths.

Rebuild WordPress subscriptions

For each affected site, replace core/plugins/themes from trusted sources, validate custom code and inspect database/users/uploads. Close vulnerable components and rotate WordPress salts, administrators and API keys.

Keep infected roots non-executable and separate from clean document roots. Do not trust WordPress Toolkit’s status alone as proof of cleanliness.

Test at the subscription boundary before reopening.

Verify server and business outcomes

Confirm approved Plesk users, system users, keys, database grants, scheduled tasks, mail rates and DNS. Test WordPress login, forms, checkout, email and backups.

Monitor panel logins, file changes and resource usage. Remove emergency accounts after the named owner regains access.

Request urgent Plesk recovery when server-admin access or several subscriptions are affected. Provide managed provider access and redacted logs—never master credentials, full backups or private keys in chat.

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