How to Optimize GeneratePress for Core Web Vitals [100% Solved]

GeneratePress is one of the fastest themes and I am sure that people who know a thing or two about site speed know that.

GeneratePress has a solid team behind it. I try not to contact their support often but when I do, I get all the help that I need.

You can install GeneratePress on 500 domains for only $59 a year and you don’t really need to do much to pass core web vitals with it.

I am writing this for the folks who use GeneratePress and monetize their content with Adsense, Ezoic Mediavine, AdThrive and other Display Ads Network.

Optimizing GeneratePress is not that hard.

Ezoic vs GeneratePress

Recently the Ezoic team released a speed tool and within it you can find a section called technologies.

The section just states that they don’t recommend the GeneratePress theme and they suggest switching to some alternatives.

The message in the Ezoic Dashboard says “25% of domains using this technology perform significantly worse than the average site

Ezoic users who know nothing about site speed and who don’t think critically will act like members of a cult and start spreading ignorance as soon as they that recommendation.

GeneratePress vs Alternatives

If you are using Ezoic, get a demo site of the theme alternatives found in the technologies tab and run some tests in GTMetrix to check how fast they load and the number of requests they load in each page.

I tested a few and this is what I got:

#ThemeURL TestedRequests
1FotoPost40 Requests
2SustyHomePage3 Requests
3ZakraPost36 Requests

These are the thoughts of some of the themes found in that list.

  1. Foto has 40 requests despite being a minimalistic theme. The demo doesn’t pass core web vital on mobile
  2. Susty looks like a word document shared online. The demo passes core web vitals on mobile and desktop
  3. Zakra has a lot of demos and looks good. It creates 36 requests.The demo doesn’t pass core web vital on mobile

You can run some more tests and you can make your own conclusions.

To be fair with the developers of such themes, you can optimize them to make sure they load fast.

Let’s Optimize GeneratePress

If you monetize your site with ads, you need to have a fast website, you want people to have a good experience while they are checking your content.

If your site loads fast, people might continue reading the rest of your content therefore they will see more ads and you will probably make more money.

This is my way to have a fast loading website with GeneratePress.

Fast and Secure Hosting

You need cloud hosting to make your site fast, I have been using a $10 plan with Cloudways and I have 10 websites in it. That is $1 per site.

Pretty affordable don’t you think?

The reason why my small server can handle 10 sites really well is because I use CloudFlare Full Page Caching in sites with Adsense Ads.

Most of the requests of the sites added to Ezoic are handled by Ezoic servers

Try Cloudways for Free

Install the Necessary Plugins

I try to have no more than 10 plugins in my WordPress installation:

PluginsReason
Ad InserterTo Place Ezoic and Adsense Ads
CloudFlareClear the cache at the CDN Level
GenerateBlocksI use it to create pages, not posts
GenerateBlocks ProI use it to create pages, not posts
GP PremiumThe sticky menu requires JQuery
PerfMattersNecessary to optimize WordPress sites
SEOPressUseful to optimize your site for search engines
SEOPress ProUseful to optimize your site for search engines
Display PostsTo Show Posts by Category
Simple URLsNecessary to create pretty links

These are my comments about those plugins.

  1. If you don’t use the Sticky ads, Ad Inserter won’t load Jquery on your site
  2. CloudFlare is useful to clear the cache when I update a new post, specially when you use full page caching.
  3. GenerateBlocks is useful to create pages, sometimes I use it for headings.
  4. GP Premium is there to make GeneratePress better. Some options add javascript to your site.
  5. SEOPress doesn’t add any requests to your WordPress site.
  6. Display Posts doesn’t add any requests to your WordPress site
  7. Simple URLs doesn’t add any requests to your WordPress site

You might not need all those plugins or you might need other plugins not mentioned in the list, make sure that those plugins don’t add requests to your site.

Try to find the lightest plugins to do whatever you need.

GeneratePress Optimization

I don’t have ads in my homepage and pages so I know that whatever I built with GenerateBlocks and GenerateBlocks Pro won’t affect the performance of the rest of my site.

These are some of my recommendation to optimize GeneratePress

Don’t display featured images to get rid of a CSS request related to that functionality. You can do that by going to layout, blog, single and posts in the theme customizer and unticking these two options.

Don’t use the sticky menu because it requires JQuery and you don’t want JQuery and JQuery migrate loading on your site.

I read in the GP forum that the GeneratePress team is working in a solution for this in case you want to use sticky navigation without relying on JQuery.

Don’t activate the off Canvas Panel to avoid additional CSS requests in the front-end of your site

If you don’t have really good uses for the widgets in the footer, get rid of it and don’t activate the back to top button.

Don’t activate the smooth scroll functionality if you don’t want more requests to be added

There is nothing wrong with those features, if you wanna trim as much as you can from those tests, you can keep all of that deactivated.

It is pretty simple.

GenerateBlocks and GeneratePress: Inline CSS

GenerateBlocks and GeneratePress: Inline CSS

if you are going to use CloudFlare Full Page Caching or Ezoic Cloud Caching, inline the CSS generated by GeneratePress and GenerateBlocks so you don’t see two additional requests in your speed tests.

This is the option to inline all the CSS generated by GenerateBlocks and GenerateBlocks Pro

And this is the option to inline all the CSS generated by GeneratePress and GP Premium

Inlining will make your HTML grow a tiny bit but it is not going to kill your speed.

WordPress and PerfMatters

Let me be clear that these are not problems caused by GeneratePress or GenerateBlocks, these are speed optimizations that you have to apply regardless of the theme that you are using.

With Perfmatters, this is what I do.

Disable Google FontsSwitch on and off
Add a Blank FaviconSwitch on and off
Disable EmojisSwitch on and off
Delay the Execution of External JavaScriptAdd the Scripts
Disable EmbedsSwitch on and off
Disable DashiconsSwitch on and off
Remove JQuery MigrateScript Manager
Remove JQueryScript Manager

There are other optimizations that I can apply using Perfmatters but these are the ones that I care about the most because they have an impact in the speed tests.

Requests by GeneratePress and Generate Blocks

At this point, we have only four requests generated by GeneratePress and GenerateBlocks.

RequestsPlugin
main.min.jsGeneratePress
style.min.cssGeneratePress
main.min.cssGeneratePress
navigation-branding-flex.min.cssGeneratePress

The rest of requests that you might see in speed tests if you follow my recommendations are pictures, embedded videos or requests created by other plugins you use.

If you want to blame GeneratePress, you can only blame those four requests however those four requests won’t prevent you from passing core web vitals as you are about to see.

All sites have some CSS to load for this and that.

GeneratePress and Perfmatters

For mobile, make sure that you are deferring JS in Perfmatters to make the JS doesn’t block the rendering of your page.

Deferring Javascript won’t mess up the appearance of your WordPress site.

GeneratePress and WP Rocket

The last step to optimize GeneratePress is to grab a copy of WP Rocket to deal with the remaining CSS requests.

If you use Mediavine or Ad Thrive, they will probably tell you to use WP Rocket, CloudFlare APO, NitroPack

If you are using Ezoic ads, they will probably tell you to get rid of caching plugins and other optimization tools because they have Leap.

If you are happy with Leap, use it well and stop blaming GeneratePress

If you are still whining about not getting the scores you need, give WP Rocket a try.

Get rid of the Ezoic plugin to avoid conflicts with WP Rocket.

And use the Unused CSS feature found in file optimization section. Activating that option will remove all the unused CSS within the remaining requests.

The unused CSS will be inlined in the HTML.

No more requests and no more render blocking.

Keep using Ezoic Cloud Caching so your server stays healthy.

Passing Core Web Vitals: Problem Solved

You can test any of the posts in this website and you will confirm that they pass core web vital without a problem.

This is the screenshot to show that this demo of GeneratePress passes Core Web Vitals on Desktop.

Now it is the turn of the mobile version of the site. The mobile version is usually the one that gives more problems to WordPress users.

Can we blame GeneratePress or GenerateBlocks for slowing down your site?

Absolutely not. That’s on you and your bad decisions

GeneratePress was never the issue. If you still have issues, identify what they are and tackle them one by one.

Ads and No Ads

I have sites with no ads, sites with Adsense and sites with Ezoic ads in the same server, with the same plugins and with the same optimizations.

I am 500% sure that GeneratePress is not the problem.

  • Sites created with GeneratePress and GenerateBlocks pass core web vitals without a problem.
  • Sites created with GeneratePress and GenerateBlocks and Adsense ads pass Core Web Vitals without a problem if you delay the JS with PerfMatters and use Ad Inserter to fix CLS issues.
  • Sites created with GeneratePress and GeneratePress with Ezoic ads can pass core web vitals but you have more obstacles.

If you don’t believe that, create a copy of a website with Ezoic ads, apply some of the recommendations and optimizations from above and you will see the difference between a site without ads and a site with ads.

Do you want a 100 in Speed Tests?

All ads slow down sites. Period. If you want to see a 100% on mobile and desktop, you gotta apply tricks like delaying, deferring or lazy load the ads.

If you have ads on your site and see a 100 scores on mobile, you can be 100% sure that a trick was applied to your site at the server or at the CDN level.

Run several tests on Google Page Insights and check those snapshots or run Google page speed test using the Chrome Inspect tool so you have a better concept of reality when we talk about speed and speed tests.

More about Optimization

These are some posts about how to speed up wordpress sites

  1. How to Use Flying Scripts to Speed up Your WordPress Site
  2. CloudFlare Full Page Caching and Ezoic
  3. How to Use CloudFlare Full Page Caching With WordPress
  4. How to Improve the Page Speed of your Adsense Sites
  5. How to Disable CloudFlare Caching
  6. WP Rocket and Ezoic Ads
  7. Optimizing WordPress Sites with Autoptimize

Sobre Jose manuel

Soy José Manuel, empecé un blog en el 2011 como un pasatiempo y para hacerlo en mis clases y poco a poco, me enamoré de WordPress. Espero que algo de todo lo que he escrito te sirva de ayuda.

RevistaWP

RevistaWP es un sitio donde registro mis pensamientos y descubrimientos sobre todo lo que sucede dentro del mundo WordPress.

Puedes encontrar contenido en Inglés y Español

Contacto

Puedes contactarme por medio de los siguientes canales