You chose GeneratePress because it’s fast. But installing a lightweight theme is just the starting line—not the finish line. A fast theme on a slow stack still produces a slow site.
This guide walks you through 12 specific steps to get the most out of GeneratePress’s performance potential. Follow these, and you should score 90+ on Google PageSpeed Insights (mobile) and pass all Core Web Vitals.
Our benchmark: After applying all 12 steps, our test site scored 96 (mobile) / 100 (desktop) on PageSpeed Insights with a 1.2s LCP on mobile.
Step 1: Choose Fast Hosting
Your hosting is the foundation. No amount of theme optimization can fix a server that takes 2 seconds just to respond (TTFB).
What to Look For
- PHP 8.2+ support — PHP 8.2 is ~30% faster than PHP 7.4
- HTTP/2 or HTTP/3 — Parallel loading of resources
- Server-level caching — Object cache (Redis) and page cache (Varnish/FastCGI)
- NVMe SSD storage — 5–10x faster disk I/O than SATA SSDs
- Data center proximity — Choose a server close to your audience
Recommended Hosts for GeneratePress
| Host | Starting Price | TTFB (avg) | Best For |
|---|---|---|---|
| Cloudways | $14/month | ~120ms | Developers, agencies |
| SiteGround | $3.99/month | ~180ms | Beginners |
| Kinsta | $35/month | ~90ms | High-traffic sites |
| WP Engine | $20/month | ~100ms | Enterprise |
| Rocket.net | $15/month | ~80ms | Performance-focused |
Budget pick: Cloudways. Performance pick: Rocket.net or Kinsta.
Step 2: Enable Only the GP Premium Modules You Need
Every active module adds a small amount of CSS to your page. Individually, the impact is negligible. Collectively, unnecessary modules add up.
Essential Modules (activate these)
- Colors — Brand colors
- Typography — Font control
- Blog — Archive layout
Conditional Modules (activate if needed)
- WooCommerce — Only if you’re running a store
- Menu Plus — Only if you need sticky/off-canvas navigation
- Elements — Only if you use hooks, layouts, or loop templates
- Spacing — Only if you need Customizer spacing controls (alternatively, use GenerateBlocks spacing)
Skip These (use GenerateBlocks instead)
- Page Header — Legacy module; use GenerateBlocks Container + Headline instead
- Backgrounds — Use GenerateBlocks Container backgrounds instead
How to deactivate: Go to Appearance → GeneratePress and toggle off unused modules.
Step 3: Use System Fonts Instead of Google Fonts
Google Fonts add HTTP requests and render-blocking CSS. System fonts add zero requests.
The Fastest Font Stack
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
This uses the device’s native system font, which is already installed—no download required.
If You Must Use Google Fonts
- Limit to 1–2 font families maximum
- Enable font-display: swap in GeneratePress Typography settings
- Preload the font files using an Elements Hook:
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
Step 4: Configure Caching
Caching is the single biggest performance improvement you can make. Without caching, WordPress generates every page from scratch on every request.
Recommended: WP Rocket
WP Rocket is the easiest caching plugin that works well with GeneratePress. Here’s the optimal setup:
Cache tab:
- ✅ Enable mobile caching
- ✅ Separate cache for mobile devices (if your theme has mobile-specific layouts)
File Optimization tab:
- ✅ Minify CSS files
- ✅ Combine CSS files (test this—sometimes it hurts performance)
- ✅ Optimize CSS delivery (Remove unused CSS) — This is the most impactful setting
- ✅ Minify JavaScript files
- ❌ Combine JavaScript files (often hurts performance due to cache invalidation)
- ✅ Defer JavaScript files
- ✅ Load JavaScript deferred
Media tab:
- ✅ Enable lazy loading
- ✅ Lazy load for iframes/videos
- ✅ Replace YouTube iframe with preview image
Preload tab:
- ✅ Activate sitemap-based preloading
- ✅ Preload bots (Google, Bing, etc.)
Free Alternative: WP Super Cache + Autoptimize
If WP Rocket isn’t in your budget:
- WP Super Cache for page caching
- Autoptimize for CSS/JS minification and optimization
Step 5: Optimize Images
Images are typically 50–70% of a page’s total weight. Optimizing them is non-negotiable.
Use WebP Format
WebP images are 25–35% smaller than JPEG at equivalent quality. GeneratePress doesn’t handle image conversion—use a plugin:
- ShortPixel — Free tier includes 100 images/month; automatic WebP conversion
- Imagify — Created by the WP Rocket team; tight integration
- EWWW Image Optimizer — Free lossless compression; paid lossy + WebP
Serve Responsive Images
WordPress automatically generates srcset attributes for responsive images. Make sure your theme isn’t disabling this:
<img src="image-300x200.webp"
srcset="image-300x200.webp 300w, image-768x512.webp 768w, image-1200x800.webp 1200w"
sizes="(max-width: 300px) 100vw, 300px"
alt="Description" loading="lazy">
Set Explicit Width and Height
GeneratePress handles this for featured images, but for images in GenerateBlocks, always set explicit dimensions to prevent CLS (Cumulative Layout Shift).
Step 6: Eliminate Render-Blocking Resources
Render-blocking resources delay the browser from painting content. Here’s how to eliminate them:
CSS
- WP Rocket → File Optimization → Optimize CSS delivery — This extracts critical CSS and defers the rest
- Remove unused CSS — WP Rocket can strip CSS not used on the current page
JavaScript
- Defer all non-critical JS — WP Rocket → File Optimization → Load JavaScript deferred
- Delay JavaScript execution — WP Rocket can delay JS until user interaction (scroll, click, mousemove)
Fonts
- Use
font-display: swap(enabled by default in GeneratePress Typography Module) - Preconnect to font origins (see Step 3)
Step 7: Use GenerateBlocks Instead of Page Builders
If you’re currently using Elementor, Beaver Builder, or Divi Builder with GeneratePress, switching to GenerateBlocks will dramatically improve your PageSpeed scores.
Before and After: Elementor → GenerateBlocks
| Metric | With Elementor | With GenerateBlocks | Improvement |
|---|---|---|---|
| Page HTML | 142 KB | 18 KB | 87% smaller |
| CSS loaded | 340 KB | 12 KB | 96% smaller |
| JS loaded | 285 KB | 3 KB | 99% smaller |
| Mobile PageSpeed | 62 | 96 | +55% |
| LCP (Mobile) | 3.8s | 1.2s | 68% faster |
The numbers speak for themselves. GenerateBlocks produces output that’s 10–20x lighter than Elementor.
Step 8: Configure GeneratePress Layout for Speed
Container Width
Set your content container width to 1100–1200px in Customizer → Layout → Container. Wider containers load more content above the fold, which can hurt LCP.
Sidebar Position
For blog posts, use a right sidebar layout. Content-first HTML order means the browser can paint your article before the sidebar, improving LCP.
Disable Unnecessary Theme Elements
Go to Customizer → Layout and disable elements you don’t use:
- ❌ Featured image on single posts (if your images are large)
- ❌ Post navigation (if you use a related posts plugin instead)
- ❌ Archive title (if not needed)
You can also use the Disable Elements Module to hide elements per-page.
Step 9: Implement a CDN
A Content Delivery Network (CDN) serves your static assets (CSS, JS, images) from servers geographically close to your visitors.
Recommended CDNs
| CDN | Free Tier | Performance | Setup |
|---|---|---|---|
| Cloudflare | ✅ (unlimited bandwidth) | Excellent | Easy (DNS change) |
| BunnyCDN | ❌ ($0.01/GB) | Excellent | Easy |
| QUIC.cloud | ✅ (limited) | Good | WordPress plugin |
Our recommendation: Cloudflare Free. It’s free, fast, and includes additional performance features (auto-minification, Brotli compression, early hints).
Cloudflare Settings for GeneratePress
- ✅ Auto Minify: JavaScript, CSS, HTML
- ✅ Brotli compression
- ✅ Early Hints (for preload/preconnect)
- ✅ Rocket Loader (test this—sometimes it conflicts with WordPress JS)
- ❌ Mirage/Polish (use ShortPixel instead for image optimization)
Step 10: Clean Up Your Plugins
Every active plugin adds PHP execution time and potentially CSS/JS to your pages. Audit your plugins ruthlessly.
Plugin Audit Checklist
- Deactivate and test. Deactivate each plugin one at a time and run PageSpeed Insights. Note which plugins cause the biggest performance hits.
- Replace heavy plugins. Common culprits:
- Contact Form 7 → Switch to Fluent Forms or WPForms (lighter)
- Yoast SEO → Consider Rank Math (lighter in 2026)
- Jetpack → Remove and use individual plugins for specific features
- Delete unused plugins. Deactivated plugins don’t affect performance, but they’re a security risk. Delete them.
- Audit plugin scripts. Use Query Monitor plugin to find which plugins load scripts on pages where they’re not needed.
Target: Fewer Than 15 Active Plugins
This isn’t a hard rule, but sites with 15+ active plugins almost always have performance issues. If you’re at 20+, it’s time to consolidate.
Step 11: Optimize Your Database
A bloated database slows down queries, which increases TTFB.
Weekly Maintenance
- Delete post revisions — Use WP-Optimize or a cron job
- Clean spam comments — Akismet or manual review
- Remove transients — WP Rocket handles this automatically
- Optimize database tables — WP-Optimize → Database → Optimize
Automatic Cleanup with WP-Optimize
Install WP-Optimize and schedule:
- Clean post revisions: weekly
- Clean spam comments: weekly
- Clean transients: weekly
- Optimize tables: monthly
Step 12: Monitor Core Web Vitals
Speed optimization isn’t a one-time task. Google updates its algorithms, your content changes, and plugins get updated. Set up monitoring to catch regressions.
Free Monitoring Tools
- Google Search Console — Core Web Vitals report shows real-user data from Chrome
- PageSpeed Insights — Manual testing for specific URLs
- Core Web Vitals API — Automated testing via API
Paid Monitoring Tools
- DebugBear — Continuous monitoring with alerts ($19/month)
- SpeedCurve — Enterprise-grade synthetic monitoring
- New Relic — Application performance monitoring (free tier available)
What to Watch
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| LCP | ≤ 2.5s | 2.5–4.0s | > 4.0s |
| INP | ≤ 200ms | 200–500ms | > 500ms |
| CLS | ≤ 0.1 | 0.1–0.25 | > 0.25 |
Complete GeneratePress Speed Stack
Here’s the complete stack we recommend for maximum performance:
| Component | Recommendation | Purpose |
|---|---|---|
| Hosting | Cloudways or Rocket.net | Fast TTFB |
| Theme | GeneratePress + GP Premium | Lightweight base |
| Page builder | GenerateBlocks 2.0+ | Clean layout output |
| Caching | WP Rocket | Page cache + file optimization |
| Image optimization | ShortPixel | WebP + compression |
| CDN | Cloudflare Free | Global asset delivery |
| Database cleanup | WP-Optimize | Lean database |
| Monitoring | Google Search Console | Core Web Vitals tracking |
Expected Results
With this stack and all 12 steps applied:
| Metric | Mobile | Desktop |
|---|---|---|
| PageSpeed Score | 90–98 | 98–100 |
| LCP | 1.0–1.5s | 0.3–0.6s |
| INP | 70–100ms | 30–60ms |
| CLS | 0.00–0.02 | 0.00 |
| TTFB | 100–200ms | 80–150ms |
Common Mistakes That Kill GeneratePress Performance
- Using Elementor with GeneratePress. This negates 80% of the theme’s performance advantage. Use GenerateBlocks instead.
- Loading Google Fonts without optimization. Always use font-display: swap and preconnect.
- Not using a caching plugin. GeneratePress is fast, but uncached PHP rendering is always slower than static HTML.
- Too many active plugins. Each plugin adds execution time. Audit regularly.
- Unoptimized images. WebP + lazy loading + explicit dimensions = no CLS and fast LCP.
- Ignoring mobile performance. Google uses mobile-first indexing. Always test mobile scores first.
Final Checklist
Before you publish, verify:
- ☐ Hosting supports PHP 8.2+ and HTTP/2
- ☐ Only essential GP Premium modules are active
- ☐ Using system fonts or optimized Google Fonts
- ☐ WP Rocket (or equivalent) configured with CSS/JS optimization
- ☐ Images converted to WebP with lazy loading
- ☐ Render-blocking resources eliminated
- ☐ GenerateBlocks replaces any page builder
- ☐ Container width set to 1100–1200px
- ☐ CDN configured (Cloudflare recommended)
- ☐ Fewer than 15 active plugins
- ☐ Database cleanup scheduled
- ☐ Core Web Vitals monitored in Search Console
Run through this checklist after every major site change, and you’ll maintain top-tier performance.
Read next: GeneratePress Review 2026: Speed Tests, Pricing & Honest Verdict
Sources: Google PageSpeed Insights, WebPageTest, Core Web Vitals Guide, GeneratePress Documentation