Install, activate, render

WordPress Theme Not Loading: Why It Won't Install, Activate or Appear

You bought the theme, uploaded the zip, and WordPress answered with a sentence about a stylesheet. Or the theme activated and took the home page down with it. WordPress nearly always says what went wrong. The trick is knowing where it says it and what the words mean.

October 13, 2026 · 10 min read

The short answer

A WordPress theme that will not install, activate or appear usually has one of five problems: the wrong zip was uploaded, a child theme cannot find its parent, the server runs an older PHP or WordPress than the theme requires, a PHP fatal error fires on activation, or on multisite the theme was never network enabled. The error text tells you which.

On this page
  1. Four moments a theme can fail, and the sentence each one prints
  2. The zip that holds the theme is not the theme
  3. Child themes looking for a parent that moved
  4. Activation that takes the home page down with it
  5. Installed, healthy, and still absent from the Themes screen
  6. From error message to a working theme, in order
  7. Habits that keep the next theme install dull
  8. When the theme is just the first domino

Four moments a theme can fail, and the sentence each one prints

A theme can fail during upload, when WordPress scans the themes folder, at activation, or on the first page load afterward. Each moment has its own message, and these messages come from WordPress core, so they read the same whether the theme came from a marketplace or from wordpress.org. Find your sentence in the table before you change a single setting. Guessing is how a missing parent theme turns into a reinstalled database.

WordPress core messages when a theme will not install, activate or load
Where it appearsWhat it usually means
"The package could not be installed. The theme is missing the style.css stylesheet."Upload screenThe zip has no style.css inside its top folder, usually because it is a download bundle and not the theme
"The uploaded file exceeds the upload_max_filesize directive in php.ini."Upload screenThe theme zip is bigger than the server allows in one upload
"Stylesheet is missing."Broken Themes list, bottom of Appearance > ThemesA folder in wp-content/themes has no style.css, often a half-finished FTP upload
"The parent theme is missing. Please install the "name" parent theme."Broken Themes listA child theme names a parent folder that does not exist
"The PHP version on your server is X, however the uploaded theme requires Y."Upload screenThe theme declares a Requires PHP version newer than your host runs
"There has been a critical error on this website."Front end, right after activationPHP hit a fatal error in the theme or in something the theme calls
"The active theme is broken. Reverting to the default theme."Appearance > ThemesThe active theme lost its style.css or index template, so WordPress switched away from it

A close cousin of the first row reads "Template is missing" and explains that a standalone theme needs an index.php or templates/index.html file. It means the folder has a stylesheet but no theme around it. If your screen is simply blank with no sentence at all, that is a different procedure, covered step by step in our white screen of death guide.

The zip that holds the theme is not the theme

Marketplace themes ship as a bundle. The file you download holds documentation, licensing text, a child theme, sometimes demo content, and somewhere inside, the installable theme zip. Upload the outer bundle and WordPress looks for style.css at the top of it, finds a folder of PDFs, and refuses. Avada's own support page on ThemeForest says the "broken theme and/or stylesheets missing" message on install usually means the wrong zip was uploaded. The same is true of nearly every theme sold that way.

The check takes a minute. Open the zip on your computer. An installable theme zip contains exactly one folder, and that folder contains style.css right away, next to functions.php or a templates folder. If you see another zip inside, that inner file is the one to upload. If the upload fails on size instead, ask the host to raise the limit, or unzip the theme and copy the folder into wp-content/themes over SFTP. If WordPress replies "This theme is already installed", it is offering to replace the existing copy. Read the version comparison it shows before you click, because replacing a newer copy with an older one is a downgrade.

Child themes looking for a parent that moved

A child theme is little more than a style.css with a Template line that names its parent. It names the parent's folder, not the parent's display name. If the parent lives in wp-content/themes/astra and the child says Template: Astra, the match can pass on a laptop with a case-insensitive file system and fail on a Linux host. A parent folder renamed during download, or uploaded with a version number in its name, breaks the link the same way.

When you upload a child theme, WordPress checks for the parent and prints "This theme requires a parent theme. Checking if it is installed…" If the parent is a free theme on wordpress.org, WordPress fetches it for you. If it is commercial, you get "The parent theme could not be found. You will need to install the parent theme" followed by its name, and the child sits unusable until you do.

  • Open the child's style.css and copy the exact Template value.
  • Compare it, letter for letter and case for case, with the parent's folder name in wp-content/themes.
  • Install the parent first, then the child, and activate only the child.
  • Never rename a parent folder to tidy it up. Every child and every saved setting expects the old name.

Activation that takes the home page down with it

An upload can succeed and activation still fail. Once a theme is active, its functions.php runs on every request, and anything it assumes about the server is tested at once: the PHP version, the memory limit, the companion plugins it calls. When PHP stops on a fatal error, WordPress shows "There has been a critical error on this website" and emails the admin address with the subject "Your Site is Experiencing a Technical Issue". That email carries a recovery mode link. Inside recovery mode the theme appears under Broken Themes as "This theme failed to load properly and was paused within the admin backend", with a Resume button. The pause covers your session only. Visitors still see the error.

The causes repeat across vendors. Newspaper 12.6 left users with blank pages and locked admin screens until staff traced it to a new PHP 8.0 requirement. A Hello Biz update to 1.2.0 produced a critical error that a rollback fixed. Divi's help center lists PHP below 7.4 and low memory among the reasons its builder fails to load, and recommends a 256M memory limit. Themes that lean on companion plugins, such as Avada with Avada Core and Avada Builder, fail when the plugins and the theme drift out of step. Specific cases live in Newspaper activation problems, Bridge white screen after an update, Blocksy update broke the site and Avada update problems. For the general PHP side, see theme PHP errors and a site that broke after a PHP update.

Installed, healthy, and still absent from the Themes screen

Sometimes there is no error at all. The files are on the server and the theme simply is not listed. Three causes cover almost every case, and none of them involve reinstalling anything.

  • Multisite. On a network, an installed theme stays invisible to each site until a network admin clicks Network Enable under Network Admin > Themes.
  • Wrong depth or wrong folder. WordPress looks for style.css in each folder under wp-content/themes and one level below that, not two. A theme unzipped inside a folder inside a folder will not be found.
  • Unreadable files. After a migration, wrong ownership or permissions can produce "Stylesheet is not readable" in the Broken Themes list. The host can reset ownership on the themes folder.

If the theme is listed and active but the front end looks like a plain text document, the theme did load. Its stylesheets did not. That is a separate problem with its own causes, laid out in theme CSS not loading.

From error message to a working theme, in order

  1. 1

    Copy the exact message

    Screenshot it or paste it somewhere. The wording points to the cause, and support teams answer faster when they can read it.

  2. 2

    Back up, then move to staging

    Take a full backup of files and database. Do the remaining steps on a staging copy if the live site is still working.

  3. 3

    Inspect the zip

    Confirm one top folder with style.css inside it. If you find a zip within the zip, upload the inner one.

  4. 4

    Check requirements against the server

    Read the Requires at least and Requires PHP lines in the theme's style.css. Compare them with the PHP version under Tools > Site Health > Info > Server.

  5. 5

    Install the parent and companion plugins first

    Parent theme, then required plugins such as a builder or core plugin, then the child theme. Activate the child last.

  6. 6

    Activate and read the log

    With WP_DEBUG and WP_DEBUG_LOG set to true in wp-config.php, a failed activation writes the file and line to wp-content/debug.log.

  7. 7

    If the live site is down, step back

    Rename the theme's folder over SFTP, then open Appearance > Themes. WordPress sees the active theme is broken and switches to a default theme, provided one is installed.

Habits that keep the next theme install dull

  • Keep one current default theme installed and updated, so WordPress has somewhere safe to fall back to.
  • Save the installable theme zip under a clear name, apart from the marketplace bundle, alongside the license key.
  • Write down parent folder names and required companion plugins before anyone builds a child theme.
  • Check the theme's Requires PHP line before you buy it, and again before your host upgrades PHP.
  • Activate new themes on staging first. A preview on the live site is still the live site.
  • Keep commercial licenses registered, so updates download instead of failing quietly. Avada's FAQ, for example, gives Envato tokens a 10-day grace period after updating, after which a purchase code is required.

Licensing has its own collection of failures, from Flatsome registration problems to a Divi update failing on the API key. If a builder loads but its editor does not, see Bricks builder not loading or the OceanWP Customizer that will not load.

When the theme is just the first domino

Look at what a modern commercial theme needs before it can draw a single page: a PHP version in a narrow window, a memory limit set by its vendor, companion plugins kept at matching versions, a license server that recognizes your domain, and a parent folder named exactly right. Any one of those can fail on a Tuesday, on the live server, while customers are looking. Better triage shortens the outage. It does not remove the dependencies.

A Next.js site handles dependencies differently. Versions are pinned in the project and tested in a build before anything is deployed, so a mismatch shows up as a failed build on a developer's machine rather than a critical error on your home page. It costs more to build and needs a developer for layout changes. The fair comparison is in WordPress vs Next.js and plugins vs Next.js, and the move itself in WordPress to Next.js. Sites we build use Athena CMS, where editing never installs code on the live site.

If you would rather someone else read the error, our theme troubleshooting service finds the cause on a copy of your site, and theme repair gets a broken install running again. Other theme failures are sorted by symptom in the troubleshooting section and by theme under WordPress repair.

Questions people ask before they call

Because WordPress is looking in the wrong place, and you told it to. The style.css must sit inside the single top folder of the zip you upload. Marketplace downloads wrap the real theme zip inside a bigger bundle with documentation and licenses. Unzip the bundle on your computer, find the inner theme zip, and upload that one instead.

You can upload it, but it will not work until the parent is present. For free parents on wordpress.org, WordPress installs the parent automatically during the child's upload. For commercial parents it stops with a message naming the missing parent. Install the parent first, confirm its folder name matches the child's Template line, then activate the child.

Usually, if the new theme caused it. Use the recovery mode link from the admin email, or rename the new theme's folder over SFTP and visit Appearance > Themes. Then read wp-content/debug.log to learn why the new theme failed before trying again. The theme broke after an update guide covers the case where an update, not an install, caused the error.

No. Posts, pages, products and media live in the database and survive any theme failure. What can go missing are the theme's own settings, menu locations and widget placements, which are stored per theme. Builder layouts may show as raw shortcodes until the builder plugin is active again. Once the theme loads, reassign menus and widgets and check a few pages by hand.

Probably not. Demos are built from imported content, settings and plugins that a fresh activation does not include. Most vendors offer a starter site or demo importer for that. If imports stall, see Astra starter templates failing to import or WoodMart demo import problems. If the site looks completely unstyled, the stylesheets are not loading, which is a separate fault.

Keep reading

Free · No obligation

Send us the error and get the theme running

Paste the message you see and tell us which theme and host you use. We will reproduce it on a copy, tell you the cause, and quote the fix before we touch anything.

Which of these sounds like you? (pick any)

Rather talk now? Call (210) 346-0848.

CallGet a quote