How I made my WordPress Site Score 100% on Web Vitals

Patient Tools

Read, save, and share this guide

Use these quick tools to make this medical article easier to read, print, save, or share with a family member.

Patient Mode

Understand this article easily

Switch between simple English and easy Bangla patient notes. This is for education and does not replace a doctor consultation.

While our main Website  is custom-built, I decided to go with WordPress for our Blog. One of the main reasons for that was to demonstrate Speed Optimization techniques and create guides just like this one. So today, I’ll be optimizing this Website live as I...

For severe symptoms, danger signs, pregnancy, child illness, or sudden worsening, seek urgent medical care.

বাংলা রোগী নোট এখনো যোগ করা হয়নি। পোস্ট এডিটরে “RX Bangla Patient Mode” বক্স থেকে সহজ বাংলা সারাংশ যোগ করুন।

এই তথ্য শিক্ষা ও সচেতনতার জন্য। এটি ডাক্তারি পরীক্ষা, রোগ নির্ণয় বা প্রেসক্রিপশনের বিকল্প নয়।

Article Summary

While our main Website  is custom-built, I decided to go with WordPress for our Blog. One of the main reasons for that was to demonstrate Speed Optimization techniques and create guides just like this one. So today, I’ll be optimizing this Website live as I write this article. My goal is to score 100% on Web Vitals Test and have a worldwide TTFB under 100 ms. Also,...

Key Takeaways

  • This article explains Website Configuration and Baseline Score in simple medical language.
  • This article explains Optimization Strategy in simple medical language.
  • This article explains Getting Rid of Unoptimized Plugins in simple medical language.
  • This article explains Unload Unnecessary Files & Embeds in simple medical language.
Educational health guideWritten for patient understanding and clinical awareness.
Reviewed content workflowUse writer and reviewer profiles for stronger trust.
Emergency safety firstUrgent warning signs are highlighted below.

Seek urgent medical care if you notice

These warning signs are general safety guidance. Local emergency numbers and clinical judgment should always come first.

  • Severe symptoms, breathing difficulty, fainting, confusion, or rapidly worsening illness.
  • New weakness, severe pain, high fever, or symptoms after a serious injury.
  • Any symptom that feels urgent, unusual, or unsafe for the patient.
1

Emergency now

Use emergency care for severe, sudden, rapidly worsening, or life-threatening symptoms.

2

See a doctor

Book a professional medical evaluation if symptoms persist, worsen, recur often, affect daily activities, or occur in a high-risk patient.

3

Learn safely

Use this article to understand possible causes, tests, treatment options, prevention, and questions to ask your clinician.

Before reading

RX Patient Tools

Use these quick guides before reading the article, or return to them when you need help preparing questions for a doctor.

Start here Choose the right pathway for symptoms, reports, medicines, or urgent warning signs. Disease article roadmap Read this topic step by step: meaning, symptoms, warning signs, diagnosis, treatment, prevention, and follow-up. Treatment planner Prepare questions about treatment choices, benefits, risks, side effects, and follow-up. Family & caregiver guide Organize symptoms, reports, medicines, questions, and follow-up safely. Nutrition & diet guide Prepare food, hydration, supplement, and medicine-timing questions safely. Prevention guide Organize risk factors, protective habits, screening, and warning signs. Recovery guide Prepare a safe plan for activity, rehabilitation, warning signs, and follow-up.
Definition

While our main Website  is custom-built, I decided to go with WordPress for our Blog. One of the main reasons for that was to demonstrate Speed Optimization techniques and create guides just like this one.

So today, I’ll be optimizing this Website live as I write this article. My goal is to score 100% on Web Vitals Test and have a worldwide TTFB under 100 ms.

Also, you should note that I’ll be achieving that using a Shared Hosting that costs just $1.33/month.

But before we begin, I want to clarify that this is a relatively new Website with less than 15 plugins. Optimizing an average WordPress site with more plugins will require more effort but it is still achievable within a couple of hours.

I’ll be writing more optimization tutorials in the near future that will tackle some of the slowest WordPress sites.

So without any further ado, let’s get started.

Website Configuration and Baseline Score

Hosting Hostomy Starter Plan ($1.33/month)
Hosting Type Shared
Web Server OpenLiteSpeed
Theme GeneratePress
Page Builder Beaver Builder
No. of Plugins 14
CDN Cloudflare Free Plan

Apart from the default Cloudflare Optimizations, I’ve no other Caching/Performance plugin installed as of now.

Instead of performing the tests on Home Page, it would make more sense to do it on the Post Page since this is a blog and the Home Page will get relatively fewer page views.

I’ve selected this page to perform the tests on this page, Digitalocean Premium AMD vs Intel.

I’ll be using our own Web Vitals Test on the Standard Mobile + United States Configuration. And for TTFB, I’ll again use our own tool that can measure TTFB from 25 locations in just one go.

Here are the Baseline Performance Results.

Overall Score

How I made my WordPress Site Score 100% on Web Vitals

 

Resource Count

How I made my WordPress Site Score 100% on Web Vitals

Global TTFB

How I made my WordPress Site Score 100% on Web Vitals

 

As you can see, the performance isn’t too bad despite being on shared hosting.

It mostly has to do with the fact that the plugin count is low, I’m using a well-optimized theme (GeneratePress), and due to some of the basic optimizations applied by Cloudflare by default.

Test Report Report Link
Performance Score 72%
Largest Contentful Paint 6.0 sec
Cumulative Layout Shift 0.00
Total Blocking Time 4 ms
First Contentful Paint 2.2 sec
Speed Index 3.8 sec
Time to Interactive 5.7 sec
Page Size 896.1 KB
Time to First Byte (TTFB) 797 ms (Web Vitals Test), 1 sec (Global TTFB Test)

 

Optimization Strategy

Based on analyzing the Waterfall Chart and the Performance Tips section, there won’t be much to do except tinkering with some of the optimization plugins.

I observed that there were 53 requests for this page. I’ll need to eliminate a lot of files. One of the main culprits is the “Social Icons Widget & Block by WPZOOM” Plugin that is injecting 10 Font files having a size of 537 KB in total. That’s nearly 2/3rd of the total Page Size. It is also injecting multiple CSS files that are unnecessary.

I’m using it to display just this small widget and it shouldn’t even consume 10 KB.

There seems no point in optimizing that and I’ll have to replace it either with another plugin or manually code it.

Here’s the strategy I prepared for optimizing our Blog:

  • Getting Rid of Unoptimized Plugins (Social Icons by WPZOOM Plugin)
  • Unload Unnecessary Files & Embeds (Perfmatters)
  • Install Caching & Image Optimization Plugin  (WP-Rocket & Imagify)
  • Lazy-Load Images (WP-Rocket)
  • Enable Link Preloading (WP-Rocket)
  • Delay JavaScript and Load it on User Interaction (WP-Rocket)
  • Self-Host Google Fonts (OMGF)
  • Enable Cloudflare Full Page Caching

After performing every step, I’ll be performing the test to see the impact.

Getting Rid of Unoptimized Plugins

For this section, I just need to get rid of the Social Icons Plugin. Since it is an extremely simple thing to implement, it is better to write the custom code instead of switching to another plugin.

I picked four social media icons and created a CSS Sprite using this tool.

I wrote the code for my custom Social Media Icons on Codepen which you can check out here: Codepen

On WordPress, I created a custom HTML Widget where I pasted the HTML code from Codepen. I uploaded the CSS sprite Image in WordPress Media Library and added the Custom CSS by going to Appearance -> Customize -> Additional CSS.

I also changed the URL for the CSS Sprite Image to the one in my Media Library (in the background property of the Custom CSS).

Here’s the new social media widget looks like:

And it takes just 6 KB and not 537 KB!

I would work on improving its design later but for now, this should do.

Let’s perform the Web Vitals test again!

Results

How I made my WordPress Site Score 100% on Web Vitals

The scores really shouldn’t surprise you since that plugin was the biggest culprit behind the performance.

In just one step, we moved from a score of 72% to 92%.

 

How I made my WordPress Site Score 100% on Web Vitals

The resource size has decreased by more than half while the request count has dropped from 53 to just 36.

Here’s the list of all the scores along with the link to the Test Report.

Test Report Report Link
Performance Score 92% (+27.8% Improvement)
Largest Contentful Paint 3.0 sec (+100% Improvement)
Cumulative Layout Shift 0.00 (+0% Change)
Total Blocking Time 4 ms (+0% Change)
First Contentful Paint 1.9 sec (+15.8% Improvement)
Speed Index 2.8 sec (+35.7% Improvement)
Time to Interactive 2.9 sec (+96.5% Improvement)
Page Size 312.2 KB (+187% Improvement)
Time to First Byte (TTFB) 714 ms (+11.6% Improvement)

Unload Unnecessary Files & Embeds

I’ve installed the Perfmatters Plugin which is an excellent choice to unload assets that are not being used on the website.

I’m using the plugin with its default settings but I’ve also enabled the Google Analytics Optimization and I’m using the minimal version of Analytics. (Earlier, there was no Analytics Code on this site).

You’ll find an excellent guide to use Perfmatters in this article by Tom Dupuis.

Now it’s time to play with the Script Manager of the plugin.

How I made my WordPress Site Score 100% on Web Vitals

After a lot of debugging, I ended up disabling the following for non-logged in Users:

  • /wp-includes/css/admin-bar.min.css
  • /wp-includes/css/admin-bar.min.js
  • /wp-includes/css/dashicons.min.cs
  • /wp-includes/js/hoverintent-js.min.js
  • /wp-includes/js/jquery/jquery.min.js

Luckily, none of my Plugins were using JQuery so I was able to get rid of it. Make sure to check for any console errors while unloading assets.

If your website has a lot of plugins, it is very likely that some of those would be relying on JQuery. I’ll highly recommend switching to Vanilla JavaScript alternatives if they exist.

Results

How I made my WordPress Site Score 100% on Web Vitals

While you wouldn’t see a huge performance improvement here due to low plugin count, many of the websites can see a massive improvement with the help of Perfmatters.

Test Report Report Link
Performance Score 94% (+2.2% Improvement)
Largest Contentful Paint 2.9 sec (+3.4% Improvement)
Cumulative Layout Shift 0.00 (+0% Change)
Total Blocking Time 0 ms (Reduced from 4 ms to 0 ms)
First Contentful Paint 1.7 sec (+11.8% Improvement)
Speed Index 2.5 sec (+12% Improvement)
Time to Interactive 2.8 sec (+3.6% Improvement)
Page Size 270 KB (+15.6% Improvement)
Time to First Byte (TTFB) 700 ms (+2% Improvement)

Installing Caching Plugin

In this step, we will be performing five tasks. The last three tasks are simply a part of the Plugin setup:

  1. Caching Plugin Setup
  2. Image Optimization Plugin Setup
  3. Lazy Loading Images
  4. Enable Link Preloading
  5. Delaying JavaScript

I’ve first installed WP-Rocket and it’s time to configure its settings.

In my WP-Rocket Settings, I have the following options enabled:

  1. Minify CSS Files
  2. Minify JavaScript Files
  3. Load JavaScript deferred
  4. Delay JavaScript Execution
  5. Lazyload Enabled for Images, iFrames, and Videos
  6. Add missing Image Dimensions
  7. Disabled WordPress Embeds
  8. Activate Preloading
  9. Enable Link Preloading

I’ve also enabled the Cloudflare add-on for WP-Rocket which will automatically clear the Cloudflare cache whenever I purge WP-Rocket Cache.

To boost the Page Speed further, I could have also enabled Optimize CSS Delivery and Remove Unused CSS but I felt that would be an overkill for this site and a score of 100% is achievable even without it. The same can be said about LCP Image Preloading but again that would be overkill.

Imagify Settings:

  1. Optimization Level Ultra
  2. Auto-Optimize images on upload
  3. Backup original images
  4. Keep all EXIF data from your images
  5. Create WebP versions of images

Results

How I made my WordPress Site Score 100% on Web Vitals

We just scored 98%! We are nearly there. This step has led to a huge improvement in Largest Contentful Paint, Time to Interactive, Page Size, and TTFB.

Most of the improvements are due to delaying javascript files until user interaction. I’ve written an entire article on the same and this could also be implemented on Custom websites with ease.

Delaying JavaScript files has also reduced the Page Size considerably.

Test Report Report Link
Performance Score 98% (+4.3% Improvement)
Largest Contentful Paint 1.8 sec (+61% Improvement)
Cumulative Layout Shift 0.00 (+0% Change)
Total Blocking Time 0 ms (+0% Change)
First Contentful Paint 1.7 sec 1.8 sec (5.5% Decrease)
Speed Index 2.1 sec (+19% Improvement)
Time to Interactive 1.8 sec (+55.5% Improvement)
Page Size 118.5 KB (+127.8% Improvement)
Time to First Byte (TTFB) 400 ms (+75% Improvement)

Self-Hosting Google Fonts

Before you think about whether it is really worth it, check out this article by Gijo Varghese.

I’ve installed the OMGF | Host Google Fonts Locally Plugin for this job. You can select not to load certain fonts that are not being used.

It is very easy to use and you’ll be surprised by the performance improvements.

Results

How I made my WordPress Site Score 100% on Web Vitals

Yes, scored a 100% score this time!

We ended up increasing our FCP & LCP by 54.5% and 50% respectively just by hosting our Google Fonts locally and getting rid of the ones that we are not using.

The impact of Fonts and Icons on Web Performance is truly underrated.

Test Report Report Link
Performance Score 100% (+2% Improvement)
Largest Contentful Paint 1.2 sec (+50% Improvement)
Cumulative Layout Shift 0.00 (+0% Change)
Total Blocking Time 13 ms (Increase from 0 ms to 13 ms)
First Contentful Paint 1.1 sec (+54.5% Improvement)
Speed Index 1.6 sec (+31.3% Improvement)
Time to Interactive 1.2 sec (+50% Improvement)
Page Size 109.8 KB (+7.9% Improvement)
Time to First Byte (TTFB) 405 ms (+1.25% increase)

Enabling Cloudflare Full Page Caching

This is the last step that will Cache the HTML content of the WordPress at Cloudflare Edge Locations. This will dramatically reduce the TTFB throughout the globe. To learn more about reducing TTFB, check out this guide.

Here’s a complete guide for implementing Cloudflare HTML Caching. Alternatively, you can also use Cloudflare APO which costs $5/month.

Results

How I made my WordPress Site Score 100% on Web Vitals

 

And here are the results of our Global TTFB Test.

How I made my WordPress Site Score 100% on Web Vitals

We scored a whopping 98% on the TTFB Test with a global average of 76 ms!

Test Report Report Link
Performance Score 100% (+0% Change)
Largest Contentful Paint 1.2 sec (+0% Change)
Cumulative Layout Shift 0.00 (+0% Change)
Total Blocking Time 16 ms (23% increase)
First Contentful Paint 1.1 sec (+0% Change)
Speed Index 1.1 sec (+45% Improvement)
Time to Interactive 1.2 sec (+0% Change)
Page Size 109.8 KB (+0% Change)
Time to First Byte (TTFB) Web Vitals Test: 48 ms  (+743% Improvement), Global TTFB Test: 76 ms (+1215% Improvement)

Summing Up

This was the first speed optimization written by me on SpeedVitals’s Blog and I’ll continue to write more such guides in the near future.

Next time, I’ll definitely take on a site that scores extremely low on Web Vitals Test and will include CLS fixes as well.

Doctor visit helper

Prepare before seeing a doctor

A simple rural-patient checklist to help you explain symptoms clearly, ask better questions, and avoid unsafe self-treatment.

Safety note: This is not a prescription or diagnosis. For severe symptoms, pregnancy danger signs, children with serious illness, chest pain, breathing difficulty, stroke-like weakness, or major injury, seek urgent care.

Which doctor may help?

Start with a registered doctor or the nearest qualified health center.

What to tell the doctor

  • Write when the problem started and how it changed.
  • Bring old prescriptions, investigation reports, and current medicines.
  • Write allergies, pregnancy status, diabetes, kidney/liver disease, and major past illnesses.
  • Bring one family member if the patient is weak, elderly, confused, or a child.

Questions to ask

  • What is the most likely cause of my symptoms?
  • Which danger signs mean I should go to hospital quickly?
  • Which tests are necessary now, and which can wait?
  • How should I take medicines safely and what side effects should I watch for?
  • When should I come for follow-up?

Tests to discuss

  • Vital signs: temperature, pulse, blood pressure, oxygen saturation
  • Basic physical examination by a clinician
  • CBC, urine test, blood sugar, or imaging only when clinically needed

Avoid these mistakes

  • Do not use antibiotics, steroid tablets/injections, or strong painkillers without proper medical advice.
  • Do not hide pregnancy, kidney disease, ulcer, allergy, or blood thinner use.
  • Do not delay emergency care when danger signs are present.

Medicine safety and first-aid guide

This section is for patient education only. It does not replace a doctor, pharmacist, or emergency care.

Safe first steps

  • Rest, drink safe water, and observe symptoms carefully.
  • Keep a written note of symptoms, duration, temperature, medicines already taken, and allergy history.
  • Seek medical care quickly if symptoms are severe, worsening, or unusual for the patient.

OTC medicine safety

  • For mild pain or fever, ask a registered pharmacist or doctor before using common over-the-counter pain/fever medicines.
  • Do not combine multiple pain medicines without advice, especially if you have kidney disease, liver disease, stomach ulcer, asthma, pregnancy, or take blood thinners.
  • Do not give adult medicines to children unless a qualified clinician advises it.

Avoid these mistakes

  • Do not start antibiotics without a proper medical decision.
  • Do not use steroid tablets or injections casually for quick relief.
  • Do not delay emergency care because of home remedies.

Get urgent help if

  • Severe symptoms, confusion, fainting, breathing difficulty, chest pain, severe dehydration, or sudden weakness need urgent medical care.
Medicine names, dose, and timing must be decided by a qualified clinician or pharmacist after checking age, pregnancy, allergy, other diseases, and current medicines.

For rural patients and family caregivers

Patient health record and symptom diary

Write your symptoms, medicines already taken, test results, and questions before visiting a doctor. This note stays on your device unless you print or copy it.

Doctor to discuss: Doctor / qualified healthcare provider
Tests to discuss with doctor
  • Basic vital signs: temperature, pulse, blood pressure, oxygen level if needed
  • Relevant blood, urine, imaging, or specialist tests only after clinical assessment
Questions to ask
  • What is the most likely cause of my symptoms?
  • Which warning signs mean I should go to emergency care?
  • Which tests are really needed now?
  • Which medicines are safe for my age, pregnancy status, allergy, kidney/liver/stomach condition, and current medicines?

Emergency warning signs such as chest pain, severe breathing difficulty, sudden weakness, confusion, severe dehydration, major injury, or loss of bladder/bowel control need urgent medical care. Do not wait for online information.

Safe pathway to proper treatment

Care roadmap for: How I made my WordPress Site Score 100% on Web Vitals

Use this simple roadmap to understand the next safe steps. It is educational and does not replace examination by a doctor.

Go to emergency care if you notice:
  • Severe or rapidly worsening symptoms
  • Breathing difficulty, chest pain, fainting, confusion, severe weakness, major injury, or severe dehydration
Doctor / service to discuss: Qualified healthcare provider; specialist depends on symptoms and examination.
  1. Step 1

    Check danger signs first

    If danger signs are present, seek emergency care and do not wait for online information.

  2. Step 2

    Record the symptom story

    Write when symptoms started, severity, medicines already taken, allergies, pregnancy status, and test results.

  3. Step 3

    Visit a qualified clinician

    A doctor, nurse, or qualified healthcare provider can examine you and decide which tests or treatment are needed.

  4. Step 4

    Do only useful tests

    Do tests after clinical assessment. Avoid unnecessary tests, random antibiotics, or repeated medicines without diagnosis.

  5. Step 5

    Follow up and return early if worse

    If symptoms worsen, new warning signs appear, or treatment is not helping, return for review quickly.

Rural patient practical tips
  • Take a written symptom diary and all previous prescriptions/test reports.
  • Do not hide medicines already taken, even herbal or over-the-counter medicines.
  • Ask which warning signs mean urgent referral to hospital.

This roadmap is for education. A real diagnosis and treatment plan requires history, examination, and clinical judgment.

RX Patient Help

Ask a health question safely

Write your symptom story. A health professional or site editor can review it before any answer is prepared. This box is not for emergency care.

Emergency first: Severe chest pain, breathing trouble, unconsciousness, stroke signs, severe injury, heavy bleeding, or rapidly worsening symptoms need urgent local medical care now.

Frequently Asked Questions

Is this article a replacement for a doctor?

No. It is educational content only. Patients should consult a qualified clinician for diagnosis and treatment.

When should I seek urgent care?

Seek urgent care for severe symptoms, rapidly worsening condition, breathing difficulty, severe pain, neurological changes, or any emergency warning sign.

Continue exploring

Explore this topic across the RX Medical Library

Open a focused A–Z pathway or continue with closely related indexed articles. These links are educational and do not replace personal medical care.

Search this topic
Diseases A–Z Drugs A–Z Lab Tests A–Z Cancer A–Z
Diseases A–Z

  Diagnosis and Work Up Diagnosis of peritonsillar abscess is usually made clinically by any of…

Diseases A–Z

Foodborne Illness (also foodborne disease and colloquially referred to as food poisoning)[rx] is any illness resulting from the spoilage of contaminated food, pathogenic bacteria, viruses, or parasites that…

Diseases A–Z

Rose tea is an aromatic herbal beverage made from the fragrant petals and buds of rose flowers.…