A theme controls how your WordPress site looks: layout, fonts, colours and page templates. You can install free themes from the WordPress.org directory, upload a premium theme you bought as a ZIP file, or copy it in manually when uploads fail. Unused themes should be removed, because outdated code is a common way into a site.
Before you start
- Administrator access to WordPress (log in to wp-admin).
- A backup, especially before switching the theme of a live site; see back up WordPress.
- For premium themes: the theme ZIP file from the seller (not the whole download package, which often contains documentation too).
Install a theme from the directory
- Go to Appearance → Themes and click Add New Theme.
- Browse Popular or Latest, search by name, or use Feature Filter.
- Hover over a theme and click Preview to see it with sample content.
- Click Install, then Activate (or Live Preview to try it on your own content first).
Upload a theme ZIP
- Go to Appearance → Themes → Add New Theme and click Upload Theme.
- Click Choose File, select the theme ZIP and click Install Now.
- When it finishes, click Activate.
Install a theme manually with File Manager
Use this when the upload is too large or fails.
- Open cPanel → Files → File Manager and go to
public_html/wp-content/themes. - Click Upload and upload the theme ZIP.
- Right-click the ZIP and choose Extract. Make sure you get a single folder such as
themes/astra, withstyle.cssdirectly inside it. - Delete the ZIP, then go to Appearance → Themes in WordPress and click Activate on the new theme.
Tip: If you plan to edit theme files, create a child theme first. Updates to the parent theme then will not overwrite your changes. Block themes can be customised safely in Appearance → Editor without touching files.
Delete a theme
- Activate the theme you want to keep. The active theme cannot be deleted.
- Go to Appearance → Themes and click the theme you want to remove.
- Click Delete at the bottom right of the details window and confirm.
Keep one default theme (for example the latest Twenty Twenty- theme) installed as a fallback. WordPress switches to it if your main theme breaks.
Troubleshooting
- The uploaded file exceeds the upload_max_filesize directive: raise PHP limits (see increase PHP limits) or use the File Manager method.
- The package could not be installed. The theme is missing the style.css stylesheet: you uploaded the full download package; unzip it on your computer and upload only the theme ZIP inside.
- Site breaks after activating: rename the theme's folder in File Manager; WordPress falls back to a default theme.
