[FIXED] Bluehost Slow WordPress Site, Now Load in 1s [2023]

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


Bluehost FB User Review-1Bluehost TW User Review-1Why

venturebeat bluehost

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.

Website Planet Bluehost Report
Website Planet Bluehost Vulnerable Report

Bluehost Hacked For Terrorist Website

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?Bluehost Appology

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?

PageSpeed Insights ReportYou 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 recommend 200msGoogle 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.Cloudways WordPress Cloud Hosting

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.

Cloudways FB PollCloudways Speed RecordSo I recommend you too. Start a new journey with modern Cloud Hosting and feel the love-hearted performance.

Problogguru PSI Report
Problogguru PSI Report
problogguru GTmetrix Report
Problogguru GTmetrix Report
Problogguru TTFB Report
Problogguru TTFB Report

Now let’s get started.

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.MariaDB

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.WP Rocket Cache Plugin

That’s why people love it. WP Rocket Polls

WP Rocket’s Stunning Features

It auto-delays heavier js files on load and avoids unused JS, it boosts page load on the initial stage to get a green score for FCP and LCP.
it minifies, async & combines CSS+ JS files to avoid render blocking, layout shift and create fewer HTTP requests.
It is one of the few plugins which creates a cache version before the first HTTP request. It is called Preload Caching.
Preload cache for especially mobile devices, ensures no absence of cache HTTP response and faster load on small screens.
Magically reduces Youtube Video’s 13 HTTP requests to 2 requests.
Remove Unused CSS automatically with a click.Remove Unused CSS WP Rocket

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.

girl-catchy-eyeSo 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.


  • 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%.GeneratePress Theme


It has a leaf weight, just 935 KB.
Codes are modernly organized in many separated blocks. Only codes of a feature run which you use, not all codes.
Codes are already minified. It’s highly recommended for web vitals.
You can see two versions of a code set. One is minified, the other is non-minified. Only minified version load.

Generatepress css

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.

It offers many pre-made professional looking designed templates. Deploy it in a click.

Site Library GeneratePress

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 Boxperfmatters JS settings

3.Paste adsbygoogle.js

4.Set delay timeout to 5 seconds

Don’t forget to use new adsense codes which are faster and more accurate in sizing.

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.perfmatters GA Setting

Don’t forget to remove GA Code in other places.

8.Localize Google Font

Google font is the biggest speed killer after Adsense and Youtube Video.


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.Google Font CSS

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.Gstatic Fonts

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!cache partitioning 2

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.Local Font Perfmatters

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.CCSS WP Rocket

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.perfmatters lazy loading video

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.Remove Unused CSS WP Rocket

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 Perfmattersperfmatters unused css

Method -2 (We will optimize Contact Form 7 plugin)

#1.Head to Assets in Perfmatters Pluginperfmatters script manager

#2.Enable Script Manager

#3.Visit the contact us pageScript Manager

#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)Contact Form 7 Setting

#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.PurifyCSS Online - Clean CSS Codes

#2.Copy the used code and paste in its file location.Sassy Social Share Unused Code

Take a backup before doing any code changes.

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.WP Rocket Delay JS

15.Put Off Insecure & Useless WP Features

Do you use Window Live Writer to write and publish posts on your blog?


Then why you’re loading Window Live WriterIt 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.perfmatters useless feature of wordpress

How To Stop Useless Feature of WordPress

#.1.Head to Options>General in Perfmatters Plugin.

#2.Disable useless features, just follow the pics.perfmatters useless feature of wordpress

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-crossedwp hive insight

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 Cloudflare Server Usage

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.Bot Fight Mode Cloudflare

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 okEmail Address Obfuscation Cloudflare

#2.Rocket Loader in Speed Tab – Set off, It blocks rendering of elements along with slowing the blog.Rocket Loader Cloudflare

#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.Web Analytics Cloudflare

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.

Heartbeat Perfmatters
Perfmatters Hearbeat Setting
WP Rocket Heartbeat Setting
WP Rocket Heartbeat Setting
If any plugin doesn’t use admin-ajax.php from the frontend, then completely set off for the frontend.

19.Block Spam Bot Traffic

Almost 50% of traffic is generated by bots. how many bot trafficIt causes security issues, high usage of hosting resources and ultimately cost addition.

Install Wordfence and activate Firewall. Live Traffic WordFenceCloudflare’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.Bluehost Monthly Price

CPU, RAM & bandwidth throttling are in the nature of the shared hosting and these are the biggest enemy for speed and overall performance.

And can’t forget shared IP.

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.cloudways plan

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

Servers are powered by powerful Intel Xeon Scalable Processors, built-in AI acceleration, and can clock up to 3.90 GHz in turbo mode.
Free Automated backup can last for the last 15 days.
Pre-configured PHP-FPM makes a 4x faster php process than traditional FastCGI.
Free migration & SSL certificate
Host unlimited domains on a server
Fastest Server Stack (intelligent combination of Nginx, Apache, Varnish, PHP-FPM and Memcached) Without any cache plugin, TTFB is 14-16ms.

Cloudways Server Stacks

First host that provides amazing Disk Cleanup feature on the server level.

Cloudways Diskclean up

Freedom to increase server-level cache lifespan for the best performance.

Cloudways Varnish Cache Lifetime

6G Firewall & Bot protection to mitigate DDoS, brute force, Xss attack and spambots.

Cloudways bot protection

Cloudflare Enterprise Protection & CDN
Flexible Support Team for 24*7.
”Pay as you Go” payment model, don’t need to buy yearly plans.
Free Astra Pro Theme Bundle.
Free trials without credit card.
Unique IP
Webmasters’ No-1 choice on Social Polls

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.WP Rocket Database Cleanup

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.domain name system

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.

Keep gray the cloud icon under the DNS management tab for DNS only.

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 rulespage rules Cloudflare

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.


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.Brotli Cloudflare

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?elementor mentions

You can use Gutenberg or Oxygen page builder.Page Builder Report

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.


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.wp includes hoverintent js

wp-includes useless scriptIf your website is still slow? Comment below, I would happy to help you.

Also know:

Disclosure: Our Content is reader-supported. This means if you click on some of our links and make a purchase, we may earn a commission at no extra cost to you. Read our affiliate disclosure.

Leave a Comment