Why is Bluehost so slow?
In most cases, slow server response is the main reason.
But following common reasons may be behind it –
- Resource Throttling
- Outdated Hardware
- Huge Bot Traffic
- No Server Side Caching
- Invalid SSL
- High Resource Intensive Add On
Now before starting any optimization, you must have to know that Bluehost is notoriously slow.
Don’t take my words, check out the Bluehost Users’ experiences
Why
Bluehost is owned by EIG which is known to lay off staff, pack plenty of websites on a single server, stagnant, slower to release new PHP versions and no innovation.
That’s why Website Planet found that Bluehost is highly vulnerable and easily hackable in their test.

No innovation makes incompetent to handle frequent load of traffic. That’s why Bluehost users regularly face huge down times.
Seems that Bluehost publicly accepted that?
Do you know Bluehost introduced the CPU throttling feature in 2009? (of course! before acquisition of EIG)
They widely use to throttle server resource usage to save huge money on cooling and energy bills.That is another major reason for server slowness.
And Bluehost uses shared IP that de-impacts on ranking(Study).
Now test time!
Enter your site url link into PageSpeed Insight and GTmetrix. What do you see?
You can even check your server response time globally at KeyCDN Performance Tools in detail.
If it is over 200 ms. Your site defies Google’s recommendation about TTFB.
Google advocates that TTFB should be equal to or less than 200 ms. Over 600ms PSI starts showing a red line.
Then how can a Bluehost site[1]https://onlinemediamasters.com/slow-wordpress-hosting-bluehost/ be eligible for Core Web Vitals which now directly impacts Ranking?
Change your host and choose Forbes featured Cloudways, a premium cloud hosting platform which is powered by World’s Top 5 cloud infrastructure such as Google Cloud, AWS, Digital Ocean, Vulture and Linode.
It is robust, faster, Core Web Vitals ready and performs well under extreme pressure (because of Cluster feature) and comes with unique IPs.
That’s why it’s a favorite for me and many serious bloggers.
So I recommend you too. Start a new journey with modern Cloud Hosting and feel the love-hearted performance.



Now let’s get started.
Table of Content
- 1.Update PHP
- 2.Use MariaDB
- 3.Install Powerfull Cache Plugin
- 4.Light UP Images
- 5.Use Lightweiht Premium Theme
- 6.Lazy Load Adsense & More
- 7.Localize Google Analytics
- 8.Localize Google Font
- 9.Serve Critical CSS
- 10.Defer Non-Critical CSS
- 11.Optimize Youtube Video
- 12.Optimize Audio
- 13.Remove Unused CSS
- 14.Remove Unused JS
- 15.Disable Insecure & Useless WP Features
- 16.Change Heavy Plugins
- 17.Disable Useless Cloudflare Features
- 18.Lessen Heartbeat Frequncy
- 19.Block Spam Bot Traffic
- 20.Fix Invalid SSL
- 21.Speed Up WP-Admin Dashboard
- 22.Choose Modern Model of Hosting
- 23.Stop Automated Background Process
- 24.Remove Trashy From Database
- 25.Go For Premium DNS
- 26.Full Page Caching
- 27.Use Closest Server
- 28.Remove Query Strings
- 29.Delete Unnecessory Backups
- 30.Enable Compression
- 31.Disable Comment Avatars
- 32.Stop Using Page Builder
- 33.Unload Usless WP-Include Resources
1.Update PHP
Core of WordPress consists of PHP and the server also mainly runs on PHP language.
So You need to update the PHP version to ensure the latest security shield and optimum performance.
How to Update PHP Version in Bluehost
1.Log in to the Bluehost Control Panel
2.Click on cPanel in secondary menu bar
3.Go to PHP Config, select PHP 8.0 and update it.
Tip – Avoid choosing PHP 8.1 because of incompatibility of major WordPress themes & plugins.
2.Use MariaDB
Do you know, where does WordPress store plugin settings, core settings, post text, passwords etc?
In Database.
On every request of the user, WordPress needs to scan database tables to retrieve the data.
For the last two decades, every host has used mysql to store database tables. But now many of them and newer hosts start using MariaDB instead.
Because MariaDB has more storage engines which makes it 2x faster and safer than mysql.
Check Site Health>Info> Database in WP admin area.
If you don’t see MariaDB. Talk to your host.
3.Install Powerful Cache Plugin
As mentioned above, for every HTTP request, the server needs to access the database to make HTTP responses.
A server takes the same time for a second HTTP request as they take the first time whilst the both HTTP requests are the same.
Actually the second HTTP response should be faster.
You can make it 10x faster by using a robust caching plugin.
A caching plugin makes copies of HTTP responses. Then the server needs to deliver these copies only.
It releases a lot of pressure on the server and makes it possible for the fastest server response delivery.
You can use WP Rocket, the most advanced and lightning fast cache plugin which caches pages by creating static HTML files and World knows it loads like supersonic.
That’s why people love it.
WP Rocket’s Stunning Features

4.Light Up Images
“If information is presented orally, people remember about 10 percent, tested 72 hours after exposure. That figure goes up to 65 percent if you add a picture. “ -Brain Rules Book by Biologist John Medina.
So we say a pic worth a thousand words. We should add infographics & images in our posts. But.. but….
After JS, image is biggest one which slow down your pages and increase page size 1.5x, 2x…
You have to optimize and lazy load them. Shortpixel adaptive images, ShortPixel Image Optimizer and Flying Image Plugin do these well. Specially Flying image doesn’t put any significant pressure on the server.
Additionally, optimizing images offline would be the best way to light up your images.
I use Adobe Photoshop. You can search for others on Google.
5.Replace Heavy Theme with Lightweight Premium Theme
Themes are like our clothes which maintain our first impression and look. If we want more styles, things are getting heavier.
Just like a heavy theme which has more designs and features and you would like to use it.
But do you ever think, how much a heavy theme chock server speed?
Take an example of a popular Newspaper theme.
Its’ stylesheet has 7188 code lines. It’s not one. There are other such 30 code files.
Massively huge
How much it puts pressure on the server!
Situation gets worse with some host’s shared hosting plans
A beginner makes another vulnerable mistake. They use free themes which don’t get regular updates and are not speed optimized.
Because
- Such projects are made by beginner developers who just want to test their skill and show in their C.V. to impress substantial clients or bosses.
- How can a guy work longer for no single penny? Speed and security Updating is a serious work and it requires a lot of effort.
That’s how using a free theme is a silly mistake which invites hacking and bitter performance.
Then use GeneratePress, the most popular premium theme among pros. It is already core web vitals optimized. With just installing it, your web vitals issues can be solved to a degree of 60-70%.
How?
You can see two versions of a code set. One is minified, the other is non-minified. Only minified version load.
It uses the system font that doesn’t create a single HTTP request. Because every browser has the system font and doesn’t need to download it.
Bingo! Huge time saving. You would have suffered while optimizing google font.
6.Lazy Load AdSense & More
AdSense is one of the primary ways to monetize our blogs. But its JS code has a super impact on blog speed. It literally spoils FCP and LCP.
How to Optimize Adsense For Speed
1.Install Perfmatters Plugin
2.Go to Assets > Delay Javascript Box
3.Paste adsbygoogle.js
4.Set delay timeout to 5 seconds
By following the method, you can delay more third-party and native js like FB chat box, theme js, mailchimp js etc.
1.Open any post in Google Chrome’s incognito tab.
2.Press ctrl+U to see the page source.
3.Press ctrl+F and search .js.
4.Note all js links in the notepad, except jquery.min.js and jquery-migrate-min.js
5.Extract their tail names.
6.Paste all in Perfmatters’s JS delay box.
7.Localize Google Analytics
Hosting third party script on the origin server, called localization of script. It gives full controls on cache TTL and latency of script.
- You can speed up the load of codes.
- You can save their cache on the origin server for a longer period.
- You can stop loading of unused HTTP requests.
How To Localize Google Analytics
1.Head to Setting> Google Analytics Tab in Perfmatters plugin.
2.Enable local analytics, enter tracking ID, tracking code position – footer, script type – minimal (if use GA4, choose gtag.js v4) and save it.
8.Localize Google Font
Google font is the biggest speed killer after Adsense and Youtube Video.
How?
1.A website can save fonts.googleapis.com CSS to the user’s browser for only 24 hours. After every 24 hours the website needs to load the extra HTTP request. Because Google controls the browsing caching period of Google Font. Webmasters are helpless.
2.How many font families and styles would you like to use? The exact numbers of fonts.gstatic.com requests loads and impedes the speed.
3.Google Chrome in Oct 2020 and Firefox browser in Jan 2021 have implemented cache partitioning for security reasons. Safari had done it in 2013.
No cache passing!
It means browsers can’t use A site’s downloaded font CSS for B site, even though both sites are using the same font-family.
Then, the best solution is to host Google Font on your server, set a longer browser cache period and reduce extra HTTP requests.
How to Host Google Font on the Origin Server
1.Go to Fonts in Perfmatters plugin.
2.Enable display swap and local Google fonts.
3.Save changes and refresh the website’s cache.
9.Serve Critical CSS
Critical CSS is an abstract of the main stylesheet. It has only CSS code for the above the fold content. Due to few code lines, it loads faster than the main stylesheet and magically improves the LCP.
How To Create Critical CSS
1.Install WP Rocket
2.Go to File Optimization and enable Optimize CSS Delivery.
10.Defer Non-Critical CSS
If you have enabled CCSS, deferring non-critical CSS is a good step to boost up blog loading on the initial stage.
If Optimize CSS Delivery is enabled, WP Rocket will take care of it.
11.Optimize YouTube Video
A single YouTube video loads 13 requests.
- 9 JS requests
- 1 CSS request
- 2 img request
- 1 HTML request
JS requests are more deadly than anything.
Enable iFrames and Videos and YouTube Preview Thumbnails in Perfmatters.
The option will optimize other types of video along with Youtube Video.
But do you upload videos extensively on your blog? It can severely impact server speed along with costly bandwidth.
You should use third party services like Vimeo, Wistia, Pressplay or Spotlightr. These service definitely alleviates the impact on speed a lot.
12.Optimize Audio
Audio is less resource intensive than video but higher than text. Hosting audio natively can consume a lot of resources. Use third-party services like Anchor or Libsyn to host audio.
13.Remove Unused CSS
Suppose that you’re using a plugin like revolution slider & Contact Form 7 plugin for some specific pages only. But its’ resource load on all pages. These are unused resources for the pages where these are not implemented.
How to Remove Unused CSS
Method-1 [Best for Beginners]
#1.Go to File Optimization>Remove Unused CSS in WP Rocket
#2.Just activate remove unused CSS and chill.
Intelligent WP Rocket will find used CSS codes and collect them in a page “used.min.css”.
It will not optimize CSS code but also eliminate all CSS HTTP requests except used.min.css.
Sounds Good!
You can also remove unused CSS and print out used CSS inline in the header by using Perfmatters
Method -2 (We will optimize Contact Form 7 plugin)
#1.Head to Assets in Perfmatters Plugin
#2.Enable Script Manager
#3.Visit the contact us page
#4.Click on script manager on the admin bar
#5.In contact Form 7 section, set off (/wp-content/plugins/contact-form-7/includes/css/style.css)
#6.Location : check Everywhere
#7.Under Exceptions
Location: check Current URL only
Just like that, you can unload JS (/wp-content/plugins/contact-form-7/includes/js/index.js)
Resources will only load on the contact page.
Method-3 (Developer Level)
Some CSS files of theme or plugins are useful on all pages. But whole codes are generally not used like Newspaper theme’s stylesheet.
The best solution is to use better alternatives. But if you want to continue with the older one, let’s dive in.
#1.Scan homepage and a post that uses most CSS resources (simply most designed & long post) at purifycss.online.
#2.Copy the used code and paste in its file location.
14.Remove Unused JS
You can completely unload unused JS by Perfmatters. It will be the best.
Instead, you can delay them, but JS resources will load after a while.
WP Rocket will do easier, just click on Delay Javascript Execution and all JSs will delay.
15.Put Off Insecure & Useless WP Features
Do you use Window Live Writer to write and publish posts on your blog?
No.
Then why you’re loading It is for Windows Live Writer.
Ironically, Windows Live Writer was completely discontinued in Jan 2017, while WordPress still loads its resources.
Not one, 13 other features of WordPress are useless.
How To Stop Useless Feature of WordPress
#.1.Head to Options>General in Perfmatters Plugin.
#2.Disable useless features, just follow the pics.
16.Change Heavy Plugins
Install WP Hive extension in your Chrome browser.
Search your plugins at wordpress.org/plugins.
What do you notice?
Minimal impact on memory usage: red-crossed
It means the plugin is heavy and impacts server performance much.
The popular Jetpack plugin is one of them. It’s not a single plugin, actually a group of plugins because it has bunches of features that attract beginners. It eats resources highly.
So you should avoid using such plugins.
My favorites-
Delete unnecessary plugins, don’t keep them.
17.Disable Useless CF Features
Cloudflare is the largest internet company in the world. 19.2% Websites are powered by Cloudflare
And favourite among webmasters as it provides top class security and speed.
But some features mitigate speed. They inject few chunks of JS to blog.
If you enable Bot Fight Mode under Firewall Tab.
youdomain.com/cdn-cgi/bm/cv/669835187/api.js can be seen in Waterfall.
Use Wordfence for security. It does security without adding any JS.
Other Useless Features are –
#1.Email Address Obfuscation under Scrape Shield – WordFence is ok
#2.Rocket Loader in Speed Tab – Set off, It blocks rendering of elements along with slowing the blog.
#3.Web Analytics in Browser Insights – Set off, It is useless to get speed reports by slowing your blog. You can get speed reports in Google Search Console, PSI and GTmetrix.
18.Lessen Heartbeat Frequency
Heartbeat API connects the browser to the server for data transfer. It is used mainly for WP-Admin tasks like auto-drafting and showing plugin notifications.
Some plugins like The Event Calendar plugin call it from the frontend. After that admin-ajax.php appears in the waterfall.
Generally, Heartbeat beats per 15-50 seconds and a lot of frequencies in a short period leading to high CPU usage.
You should control it.


19.Block Spam Bot Traffic
Almost 50% of traffic is generated by bots. It causes security issues, high usage of hosting resources and ultimately cost addition.
Install Wordfence and activate Firewall. Cloudflare’s Spam Bot Mode is recommended for only severe situations.
20.Fix Invalid SSL
Do you have a self-signed SSL certificate? It may be invalid. Check it.
Invalid SSL takes much time to connect to the server. So you can see “Slow Server Response Time”.
Install it again or you can use Cloudflare’s Full SSL.
21.Speed Up WP-Admin Dashboard
Sometimes WP-admin gets slow. The main reasons are showing many widgets like Google Analytics, Top Keyword report, speed report etc on the dashboard. It consumes the same RAM which is responsible for the whole website.
If widgets consume higher then not only wp-admin will be affected but also the whole website.
So clean up the WP-admin area. For traffic reports, visit official websites.
22.Avoid Outdated Host Model & Go for Latest One
Shared hosting is one of the first hosting models which are used to sell hosting plans at cheap prices.
But now it’s been so old and no cheaper at all.
*Bluehost’s entry-level plan’s renewal fee is $9.99/month.
CPU, RAM & bandwidth throttling are in the nature of the shared hosting and these are the biggest enemy for speed and overall performance.
Then why spoiling Time, Money & Rank?
Try Cloudways. It is a one-stop innovative cloud hosting platform for Google Cloud, AWS, Digital Ocean, Linode & Vulture.
With a few clicks, you can host your blog on World’s top 5 cloud infrastructures and feel top-notch speedy performance.
No coding knowledge is required.
It simplifies Cloud Hosting for beginners. You will get a simple dashboard, automated backups, CDN, 60+ Global data centers, Cloudways AI Bot & free site transfer at just $10/m.
Why do I recommend Cloud Hosting?
Because of the Cluster feature, When a website gets huge traffic. The cloud server transfers the load to the next available node in a data center. That’s how without going down, Cloud Server can perform at the best level in the severe pressure situation.
13 Solid Reasons to Choose Cloudways
23.Stop Automated Background Process
Automated background process assists to do multi-tasks and save time. But the processes can be detrimental.
They keep engaging the server during tasks and who knows when a post will go viral?. The server will definitely slow, and might be down also.
Try to do tasks yourself.
24.Remove Trashy From Database
WordPress does revisions & auto-drafts. Plugins leave transients. Bots and humans make spam comments. These all occupy costly space of database and impact performance.
Go to the Database Tab of the WP Rocket plugin. Clean up on a regular basis.
25.Go for Premium DNS
DNS is the first process while trying to access a website. DNS stands for Domain Name System. Actually it’s a server that stores records of Server IPs. Browsers firstly connect with them to know the ip of origin server. Then we connect with the origin server.
Every host provides the service under the hosting package. Most of them use free software and overcrowded servers for general DNS service. It makes the process slow.
In parallel, they also offer premium DNS. Faster speed, capable servers & few records of server IPs.
Actually, it’s selling techtik. But want speed? You have to upgrade. Otherwise, you can use Cloudflare DNS. It’s one of the fastest DNS around the world.
26.Serve Web Pages as Full Page Caching
If the audience is global. TTFB should be faster globally. Cloudflare’s full page cache can help you.
Just set two page rules
27.Use Closest Server
Oftenly we choose a server that is far from the mainland of a major audience. Most novices do the silly mistake, including me.
So if you focus on one region, choose the closest server. For global, go for CDN.
28.Remove Query Strings
Scan your blog in GTmerix.
https://domain.com/wp-includes/css/dist/block-library/style.min.css?ver=5.8
You can notice ?ver=5.8 in many requests which is called a query string. Caching layer is made based on query string.
If query-string changes, the requests can be served without caching. And also showing versions can cause security concerns. So remove it.
Paste the code in the code snippet plugin.
//* Remove Query String
function _remove_script_version( $src ){
$parts = explode( ‘?ver’, $src );
return $parts[0];
}
add_filter( ‘script_loader_src’, ‘_remove_script_version’, 15, 1 );
add_filter( ‘style_loader_src’, ‘_remove_script_version’, 15, 1 );
29.Delele Unnecessary Backups
On a regular basis, taking backups is a good habit of a webmaster. As well as you should delete old backups as these occupy huge space on disk.
30.Enable Compression
Compression is a better way to reduce size of webpage and increase speed.
Currently, Brotli compression is the best technology developed by Google. It can compress up to 26% smaller than older methods like Gzip, Zopfli and Deflate, with less CPU usage.
Talk to your host. Otherwise, if you are on Cloudflare, enable it in the Speed Tab.
31.Disable Comment Avatars
Using avatars for commenting add up huge HTTP requests. Comment avatars are served from Gravatar CDN. Every comment avatar loads a unique gravatar link. So a blog gets many comments. It can severely impact LCP.
You can disable Avatar in Setting>Discussion.
32.Stop Using Page Builder on Shared Hosting
Page builders like elementor require 256MB memory to run smoothly. At the same time, other plugins need RAM. So oftenly we can see “PHP Memory Limit Exhausted” on shared hosting because shared hosting plans are offered with a tiny size of RAMs.
Moreover, Elementor like page builders are super heavy and great speed blockers.
Check out this, how many codes it injects on blog?
You can use Gutenberg or Oxygen page builder.
33.Unload Usless WP-Includes Resource
If you don’t add your own favicon in your blog. WordPress will add their own brand logo as a favicon to blog.
https://domain.com/wp-includes/images/w-logo-blue-white-bg.png
It loads from the WP-Include folder. You can’t control and optimize it.
So upload your own favicon.
Moreover, WordPress loads many scripts from WP-includes
/wp-includes/js/hoverintent-js.min.js – adjust dropdown’s trigger on user’s hoverintent. [https://www.htmlcenter.com/blog/hoverintent-in-wordpress/]
/wp-includes/js/dist/vendor/regenerator-runtime.min.js -convert modern JS in old version to run on old versions of browser.
/wp-includes/js/dist/vendor/wp-polyfill.min.js – ensure JS compatibility with older versions of browsers.
Disable hoverintent.js if you don’t use the dropdown menu. Rest JSs should also be stopped, modern browsers don’t need these. Use the Perfmatters plugin.
If your website is still slow? Comment below, I would happy to help you.
Also know:
References