All runs are mobile Lighthouse tests (Moto G Power, slow 4G) captured on the same day. Lab scores move a few points between runs, so read the scores as indicative and the resource breakdowns — which don't fluctuate — as the real story.
1. Starting point — no plugin
This demo runs a custom template that loads the full Bootstrap as a separate file and pulls Bootstrap Icons from the jsDelivr CDN.

| Metric | No plugin |
|---|---|
| Performance score | 96 |
| Render-blocking savings | 1400 ms |
| Render-blocking CSS (first-party) | 34.9 KiB |
| — full bootstrap.min.css | 27.5 KiB |
| Bootstrap Icons CSS (jsDelivr) | 13.8 KiB |
| Bootstrap Icons font (jsDelivr) | 128 KiB |
The score already looks healthy — this is a lean demo — but the audits show 1400 ms of render-blocking savings still on the table, the full Bootstrap dominating first-party CSS, and a third-party CDN on the critical path carrying a 128 KB icon font.
2. With VP Speed Free
We selected the components the demo uses, enabled replacement of the full Bootstrap, and turned on JavaScript defer.

| Metric | No plugin | Free |
|---|---|---|
| Performance score | 96 | 96 |
| Render-blocking CSS (first-party) | 34.9 KiB | 11.6 KiB |
| — full bootstrap.min.css | 27.5 KiB | replaced → 7.4 KiB slim |
| Icons still on jsDelivr | 13.8 KiB | 14.2 KiB |
Free did its job: the 27.5 KB full Bootstrap is gone, replaced by a 7.4 KB slim build, cutting first-party render-blocking CSS by two thirds. Yet the score stayed at 96 and blocking savings barely moved (1400 → 1370 ms). The reason: the biggest remaining blocker wasn't Bootstrap — it was the icon CSS and its 128 KB font, still loading from jsDelivr. Free trims your own CSS; it doesn't touch a third-party CDN.
3. With VP Speed Pro
Then we switched to Pro and enabled what Free doesn't have: local Bootstrap Icons, delay-until-interaction, auto preconnect and browser caching.

| Metric | No plugin | Free | Pro |
|---|---|---|---|
| Performance score | 96 | 96 | 100 |
| First Contentful Paint | 2.3 s | 2.3 s | 1.0 s |
| Largest Contentful Paint | 2.3 s | 2.3 s | 1.8 s |
| Render-blocking savings | 1400 ms | 1370 ms | 280 ms |
| Icons served from | jsDelivr CDN | jsDelivr CDN | own domain |
This is where the numbers move decisively. Serving Bootstrap Icons locally removed the jsDelivr domain from the critical path entirely — both the icon CSS and its 128 KB font now come from our own domain, with the font preloaded. Render-blocking savings dropped from 1370 ms to 280 ms, First Contentful Paint more than halved from 2.3 s to 1.0 s, and the Performance score reached 100.
What the three runs reveal
The most instructive part of this case isn't that the score reached 100 — it's why Free alone didn't get there.
- Free delivers the core CSS win: it cut first-party render-blocking CSS by two thirds by replacing the full Bootstrap with a slim build. On a site whose main weight is its own Bootstrap, that is the decisive change.
- Pro pays off when the bottleneck is elsewhere — here, a third-party icon CDN. Removing that domain from the critical path, delaying non-essential scripts and preloading the font is what moved the score from 96 to 100 and slashed blocking time.
The lesson generalizes: run PageSpeed first and read the render-blocking list. If it's dominated by your own Bootstrap, Free may be all you need. If third-party domains, late-loading fonts or heavy scripts dominate, Pro is where the remaining seconds come from.
Try it on your own site
You're looking at the optimized site right now. Run demo.vpjoomla.com through PageSpeed Insights yourself, then install VP Speed on your own site and compare the render-blocking audit before and after. The results above came from a few minutes of configuration — no code, no template edits.