REIGN

Smart performance

One switch that limits Reign's plugin-integration styles to only the pages that need them.

The Smart Performance section

Customize > General > Smart Performance

This section has one control: Smart Performance Mode, a switch, on by default.

What it actually does

This one switch controls two separate performance behaviors in the theme, both read from the same setting.

Conditional plugin-integration assets. Reign ships CSS and JS for a long list of plugin integrations, WooCommerce, BuddyPress, LearnDash, Dokan, and more. Loading every integration’s assets on every page, regardless of whether that plugin’s content appears there, is wasted weight. With Smart Performance on, integration-specific styles and scripts only load on the pages where that integration is actually in use.

Critical/deferred CSS split. With Smart Performance on, the theme’s main stylesheet is split: a smaller critical CSS file loads render-blocking so the page shell appears immediately, and the larger main stylesheet loads deferred so it does not hold up the initial render. Both files are built from the same source, so there is no separate styling to maintain. Turning Smart Performance off collapses this back to the classic single render-blocking stylesheet.

Turning the switch off restores the pre-8.0 behavior for both: every integration’s assets load on every page, and the full stylesheet loads render-blocking as one file. That is the safer setting if you run into a styling gap you cannot otherwise explain, since it rules out both optimizations at once. It is a debugging step, not a normal setting for a live site, because it gives up the performance benefit the toggle exists to provide.

When to change it

Leave it on. Smart Performance Mode defaults to on since 8.0.0, and is the shipped, tested behavior. If a page is missing styling that only appears when you turn this off, that points to a specific page not being recognized as needing that integration’s assets, or a rule missing from the critical CSS build. Report it rather than leaving Smart Performance off permanently: the fix belongs in the loader’s page detection or the critical CSS build, not in loading everything on every request.