Skip to content

Repair or reinstall WordPress

Both actions are in the Tools group of a hosting’s WordPress tab, under Repair or reinstall. Repairing core files fixes most broken sites and leaves your content alone. Reinstalling deletes the whole site.

  • WordPress is installed on the hosting and the hosting is active.
  • For Repair core files you hold the Manage WordPress (plugins, staging, …) permission. For a reinstall you need the Delete hostings permission, because the result is the same loss as deleting the hosting.
  • For a reinstall, a backup exists. Open the hosting’s Backups tab and check that the newest entry shows the state ok and a time you accept losing everything after.

Use this for a core file deleted by a failed update, corrupted by an interrupted upload, or changed on purpose by someone who should not have.

  1. Open Hostings in the sidebar, click the hosting, and open the WordPress tab.
  2. Open Tools, then Repair or reinstall.
  3. Click Repair core files and confirm with Replace core files.

Hyperion downloads the WordPress release the site already runs and overwrites the core files with clean copies, putting back any that are missing. wp-content (plugins, themes, uploads), wp-config.php and the database are not touched. The release is not upgraded. The repair does not remove extra files that do not belong to WordPress, such as a dropper in wp-admin/; look at those yourself.

The same repair is available from a shell:

Terminal window
hctl wp core-repair example.com

You can also start it from a file-integrity finding. See Check WordPress files for tampering and malware.

  1. Under Repair or reinstall, expand Reinstall WordPress from scratch (deletes everything)…. The panel shows the time of the most recent backup, or “This site has no backup yet” when there is none.
  2. Leave Back up first ticked unless you have decided you do not want a backup.
  3. Fill in the new site’s details:
    • Site title: blank uses the domain.
    • Admin username: letters, digits and _ - @ ..
    • Admin e-mail: starts as admin@<domain>.
    • Admin password: enter one of at least 6 characters. If you leave it blank or enter fewer than 6 characters, Hyperion sets a random password and does not show it anywhere, so you would have to reset it afterwards with the Admin password tool.
  4. In Type <domain> to confirm, type the domain exactly. The check is repeated on the node.
  5. Click Reinstall WordPress and confirm with Delete everything and reinstall.

You land on a job page. It first backs up (when ticked), then resets the database and wipes the files, then installs WordPress at https://<domain> in en_US at the latest release. The final line reads <domain> was reinstalled. Everything that was on it is gone — restore a backup if that was not what you wanted. Sign in at https://<domain>/wp-admin/.

  • After a repair: the page returns to the WordPress tab with WordPress <version> core files replaced. Run Scan now in Integrity & malware. A clean result reads Clean — files match WordPress.org, no malware found, or Files verified — malware not scanned on a node without ClamAV.
  • After a reinstall: the job ends in success, and signing in at /wp-admin/ with the new admin account works. The Backups tab lists the backup taken first.
  • “The backup FAILED, so NOTHING was deleted”: the site is as it was. Fix the backup on the Backups tab and try again, or untick Back up first if you accept having none.
  • “Reinstall refused: the confirmation did not match.”: type the domain exactly as shown.
  • “could not reset the database”: wp-config.php is missing or its credentials are wrong. Nothing was deleted. Repair the file or credentials first.
  • “The DATABASE HAS ALREADY BEEN RESET” or “The site’s files and database were already cleared”: the wipe or the fresh install failed after the point of no return, so the site is empty. Restore the backup from the Backups tab, or retry the reinstall.
  • “… is not a valid WordPress username”: use letters, numbers, _, -, @ and ..
  • The repair fails with a download error: the node could not reach wordpress.org. Retry once the node has outbound access.