75 guides published Start a blog Fix my site How we test
FIX IT

The Site Loads With No Styling At All

Unstyled text on a white page means the HTML loaded and the CSS did not. The content is intact, so this is a delivery problem rather than a broken site, and the browser will tell you exactly which kind.

The short version

  • Open the console. The failing request and its status code name the cause.
  • A 404 on the stylesheet means a path problem, usually a URL mismatch.
  • A blocked request means mixed content after an SSL change.
  • No request at all means the stylesheet was never enqueued.

First: what does the browser say?

Open developer tools, go to the Network tab, filter to CSS, and reload. One of four things is true:

What you seeCause
404 on the stylesheetWrong path — URL mismatch or a missing file
Blocked as mixed contentStylesheet requested over HTTP on an HTTPS page
200 but the file is empty or HTMLA minification or combination plugin produced a broken file
No CSS request at allThe stylesheet was never enqueued — theme or plugin
403 on the stylesheetPermissions, or a firewall blocking the request

1. A 404 on the stylesheet

Look at the URL that 404ed. If it points at the wrong domain, the wrong protocol or an old path, your site URL is wrong:

// wp-config.php
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );

If the URL looks right, check the file is actually there over SFTP. A failed theme update can leave a theme folder incomplete.

2. Mixed content after an SSL change

The page is HTTPS and the stylesheet is requested over HTTP, so the browser blocks it. Run a proper search and replace:

wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run
# review, then run without --dry-run

Use a tool that understands serialised data. A plain SQL replacement corrupts serialised arrays.

3. A minification plugin broke it

Combining and minifying CSS is where this most often originates. Clear every cache, then disable minification and reload:

  • Clear the plugin cache, the server cache and the CDN cache, in that order.
  • Disable CSS combination first, then minification.
  • If the site returns, re-enable one at a time to find which setting breaks it.
  • Check whether “remove unused CSS” is stripping rules it should not.

4. The stylesheet was never enqueued

No CSS request at all usually means a child theme whose functions.php has a fatal error, or an enqueue that depends on a handle that no longer exists. Check the debug log:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

A child theme enqueueing with the wrong parent handle will silently load nothing. Verify the handle matches what the parent theme registers.

5. Only the admin is unstyled

If the front end is fine and wp-admin is plain text, the usual cause is CONCATENATE_SCRIPTS combined with a server limit, or a plugin breaking admin assets. Try:

define( 'CONCATENATE_SCRIPTS', false );

Quick checks

  1. Does a private window show the same thing? If not, it is your cache.
  2. Does the stylesheet URL load directly in a browser tab?
  3. Does the problem survive disabling all plugins?
  4. Does it survive switching to a default theme?

Common questions

Why only on some pages?

Usually a cache serving a broken version of one page. Purge every layer and recheck.

It worked an hour ago

Something changed — a plugin update, a cache regeneration, or an SSL change. Check what.

Is my site hacked?

Unlikely from this symptom alone. Missing CSS is almost always a path or cache problem.

S

Sumit

Writes everything on TechMozz.

More in Fix It