You’ve chosen a beautiful theme. It has stunning animations, advanced features, and dozens of demo sites. It’s also loading 2MB of JavaScript and making your site feel like wading through treacle.
Theme selection is one of the most impactful decisions you’ll make for your WordPress site’s performance. Choose wrong, and no amount of optimisation will fix it.
Why Themes Matter So Much
Your theme controls:
- How your pages are structured (HTML complexity)
- What CSS loads (file size and render blocking)
- What JavaScript loads (execution time and interactivity)
- How images are handled
- Database queries for layouts and options
- Third-party resources loaded
A lightweight theme might add 50KB to your page. A bloated theme might add 2MB. That’s a 40x difference before you’ve added any content.
The Problem with “Feature-Rich” Themes
Multipurpose themes like Avada, Divi, and BeTheme promise to do everything. They include:
- Multiple page builders
- Hundreds of design options
- Dozens of demo sites
- Advanced animations
- Extensive icon libraries
- Multiple slider plugins
All this flexibility comes at a cost:
- Massive file sizes
- Complex database queries
- Render-blocking resources
- JavaScript execution delays
Real-World Examples
Testing common themes on a fresh install with identical content:
Divi: 3.2MB page size, 4.2s load time Avada: 2.8MB page size, 3.8s load time GeneratePress: 450KB page size, 1.1s load time Astra: 520KB page size, 1.3s load time
The lightweight themes load 3x faster with 6x less data transfer.
What Makes a Theme Performant
Clean, Minimal Codebase
Good themes:
- Use modern, semantic HTML
- Have well-organised CSS
- Minimise JavaScript
- Avoid redundant code
- Follow WordPress coding standards
Bad themes:
- Generate div-soup HTML
- Load entire CSS libraries for a few styles
- Include massive JavaScript bundles
- Have leftover code from features you don’t use
Modular Loading
Smart themes only load what’s needed:
- CSS for features you’re using
- JavaScript only when required
- No assets for disabled modules
- Conditional loading based on page type
Native WordPress Features
Themes that leverage WordPress core:
- Use the block editor (Gutenberg)
- Work with WordPress image handling
- Support WordPress caching mechanisms
- Don’t reinvent solved problems
Responsive Image Handling
Good image handling:
- Proper srcset attributes
- Lazy loading support
- WebP format support
- Correct image dimensions
Minimal Dependencies
Every dependency adds weight:
- jQuery (if not needed)
- Bootstrap (often partially used)
- Font Awesome (loading all icons)
- Slider libraries (often multiple)
Recommended Performant Themes
GeneratePress
Price: Free / Premium from €59 Page weight: 30KB-50KB base Performance score: Excellent
GeneratePress is the gold standard for performance. The premium version adds modules without bloat, loading only what you enable.
Best for: Business websites, blogs, portfolios, any site where speed matters.
Astra
Price: Free / Pro from €47/year Page weight: 50KB-80KB base Performance score: Excellent
Astra offers more built-in design options than GeneratePress while maintaining strong performance. Works well with page builders if you must use them.
Best for: Agencies, WooCommerce, users wanting more out-of-box styling.
Kadence
Price: Free / Pro from €149 Page weight: 50KB-100KB base Performance score: Very good
Kadence includes its own block library and starter templates. Good balance of features and performance.
Best for: Users wanting design flexibility without heavy plugins.
Blocksy
Price: Free / Pro from €49/year Page weight: 60KB-100KB base Performance score: Very good
Modern theme with extensive customisation and WooCommerce focus. Slightly heavier than alternatives but still performant.
Best for: WooCommerce stores, users wanting extensive customisation.
Flavor Theme
Price: Free (limited options) Page weight: Under 50KB Performance score: Excellent
Extremely minimal theme designed for performance. Less customisation but lightning fast.
Best for: Blogs, minimal sites, performance-obsessed users.
Red Flags When Evaluating Themes
Demo Site Performance
Test the theme’s demo on PageSpeed Insights. If the developer’s own demo scores poorly, your site won’t score better.
Required Plugins List
Long lists of required or recommended plugins suggest the theme depends on external functionality. Each plugin adds overhead.
Bundled Page Builders
Themes bundling page builders (Elementor, WPBakery, etc.) often have performance issues. These builders add significant weight.
Outdated Last Update
Themes not updated in over a year may have:
- Security vulnerabilities
- Compatibility issues
- Lack of modern WordPress support
- Deprecated code
Overcrowded Demo Content
Demos showing 15 different slider types, 50 animations, and 100 icons suggest bloat. Simple, focused demos indicate restraint.
File Size Indicators
Before installing, check theme size on wordpress.org. Themes over 10MB usually indicate bundled assets you may not need.
Testing Theme Performance
Before Installing
- Run PageSpeed Insights on the theme’s demo
- Check the theme size
- Review documentation for performance mentions
- Look for reviews mentioning speed
After Installing (Staging Site)
- Install on a fresh WordPress installation
- Add representative content (pages, images, menus)
- Run PageSpeed Insights
- Check Core Web Vitals in Chrome DevTools
- Review network tab for resource loading
- Test without any caching (for baseline)
What to Measure
- Page weight: Total MB transferred
- HTTP requests: Fewer is better
- JavaScript execution time: Check in Performance tab
- LCP (Largest Contentful Paint): Under 2.5s target — see our Core Web Vitals guide for details
- CLS (Cumulative Layout Shift): Under 0.1 target
- INP (Interaction to Next Paint): Under 200ms target
Optimising an Existing Heavy Theme
Already committed to a heavy theme? You can improve performance:
Remove Unused Features
Most themes have options to disable:
- Animations
- Sliders
- Icon libraries
- Portfolio features
- Testimonial sections
Disable everything you’re not using.
Use Asset Cleanup Plugins
Perfmatters or Asset CleanUp can:
- Disable scripts per page
- Remove unused CSS
- Defer or eliminate jQuery
- Unload unnecessary features
Combine with proper caching and a CDN for best results.
Replace Theme Components
Use lightweight alternatives for specific features:
- Replace theme slider with static image or CSS
- Use WordPress blocks instead of theme-specific elements
- Remove parallax and animation effects
Consider Migration
Sometimes the best optimisation is a theme change. If your theme is fundamentally bloated, no amount of tweaking will achieve lightweight theme performance.
Page Builders: The Performance Elephant
The Reality
Page builders like Elementor, Divi Builder, and WPBakery add significant overhead:
- Large CSS and JavaScript files
- Complex DOM structures
- Render-blocking resources
- Database queries for layouts
A page built with Elementor versus the same page with Gutenberg blocks can be 5-10x heavier.
If You Must Use a Page Builder
Choose wisely:
- Bricks Builder: Performance-focused, cleaner output
- Oxygen Builder: Lighter than alternatives
- GenerateBlocks: Lightweight blocks, not a full builder
Avoid:
- Heavy animations
- Multiple builder plugins
- Unnecessary design features
Consider Gutenberg
The WordPress block editor has matured significantly:
- Native, no additional overhead
- Growing pattern and block library
- Full Site Editing capabilities
- Lightweight output
For most sites, Gutenberg with a good block theme now handles what previously required page builders.
Theme Performance for WooCommerce
E-commerce sites need special consideration:
WooCommerce-Optimised Themes
- Flavor Theme (WooCommerce version)
- Shflavor
- Flavor Pro
- Storefront (official WooCommerce theme)
- Blocksy (excellent WooCommerce support)
- Astra (extensive WooCommerce integration)
WooCommerce Performance Considerations
- Cart and checkout must remain fast
- Product archives need efficient queries
- Product images need proper handling
- Avoid AJAX overload on product pages
Avoid
- Themes with complex product page layouts
- Heavy product sliders and carousels
- Unnecessary product page features
- Themes not specifically tested with WooCommerce
The SparkHost Recommendation
When clients ask for theme advice, we recommend:
For Most Business Sites
GeneratePress Premium — Clean, fast, flexible enough for most needs without bloat. Pair with GenerateBlocks for additional design options.
For WooCommerce
Astra Pro or Blocksy Pro — Both have excellent WooCommerce integration while maintaining good performance.
For Blogs
GeneratePress or Flavor Theme — Minimal, fast, lets content shine.
General Principles
- Start with a lightweight theme
- Add only necessary features
- Avoid page builders when possible
- Test performance before committing
- Be willing to sacrifice features for speed
Take Action
If choosing a new theme:
- Test demos with PageSpeed Insights
- Check file sizes and update frequency
- Install and test on staging before production
- Configure for minimum viable features
If stuck with a heavy theme:
- Audit and disable unused features
- Use asset cleanup plugins
- Replace heavy components with lightweight alternatives
- Consider migration if performance remains poor
Your theme sets the performance ceiling for your site. Choose wisely, and everything else becomes easier. Choose poorly, and you’ll fight an uphill battle forever. For more performance optimisation techniques, see our complete WordPress speed guide.