Have a slow website on Hostinger?
You can speed up your slow Hostinger website by installing LiteSpeed Cache and configuring the settings with QUIC.cloud’s CDN. Several Hostinger settings can also help (PHP 8, Brotli, OPcache, hotlink protection, and disabling XML-RPC). I’ve also listed quite a few general recommendations like optimizing your theme, plugins, images, fonts, and even core web vitals.
Hostinger is infamous for cheap hosting, but it comes at a cost. It’s still shared hosting with slow SATA SSDs and less CPU/RAM than similar LiteSpeed hosts. They also write fake reviews (which their CEO openly encourages) and trick people into buying their hosting by pretending to be customers. Sure they’re cheap and use LiteSpeed, but there are better options. For example, NameHero has more CPU/RAM with faster NVMe storage and better support/uptimes. Whether or not you switch to them, I encourage you to search Facebook Groups for unbiased feedback.
At the end of the day, they’re scammers disguised as a hosting company. But if you must continue to use them, here’s how to optimize your WordPress site on Hostinger’s crap hosting.
- Check for a slow TTFB
- Switch your DNS to Cloudflare
- Configure LiteSpeed Cache
- Setup QUIC.cloud’s CDN
- Use PHP 8+
- Enable Brotli + OPcache
- Enable hotlink protection
- Disable XML-RPC
- Schedule cron jobs
- Avoid slow plugins
- Avoid slow page builders
- Remove unused CSS/JS
- Optimize fonts
- Improve core web vitals
- Leave Hostinger
1. Check For A Slow TTFB
Most speed testing tools only measure TTFB in 1 location.
The correct way to measure TTFB is to test your site in SpeedVitals (about 3 times) to ensure your caching/CDN are working. This measures your average TTFB worldwide in 35 locations. You can use PageSpeed Insights which flags your TTFB when it’s 600ms+, but <200ms is ideal.
If your TTFB is slow, make sure to use full page caching (QUIC.cloud has this or you can use Cloudflare’s APO). While CDNs are part of TTFB, your servers (hosting) are obviously the other major contributor. Even Gijo Varghese from WP Speed Matters doesn’t recommend Hostinger.
2. Switch Your DNS To Cloudflare
Most domain registrars (Hostinger, NameCheap, GoDaddy) have a slow DNS. You’re better off using Cloudflare’s DNS which performs very well on dnsperf.com. Latency is part of TTFB, and TTFB is 40% of largest contentful paint. Which means bad latency causes a chain of problems.
Switching to Cloudflare’s DNS is easy. Sign up for a free Cloudflare account, add your website, select the free plan, then Cloudflare will assign 2 nameservers which you will change in hPanel.
Login to your Hostinger hPanel and head to the Domains tab. Copy the 2 nameservers provided by Cloudflare, then paste them here. And finally, click “Done, check nameservers” in Cloudflare.
It’s best to setup Cloudflare manually instead of the Cloudflare add-on in Hostinger’s dashboard since you have more control over Cloudflare’s settings. However, you won’t need to configure Cloudflare’s dashboard if you plan on using QUIC.cloud for your CDN.
3. Configure LiteSpeed Cache
Hostinger uses LiteSpeed servers, so you should really be using the LiteSpeed Cache plugin which has excellent reviews. It’s also faster compared to other cache plugins (including WP Rocket) since it uses server-level caching and has extensive features to address core web vitals.
LiteSpeed Cache has a lot of options and it’s key to make sure you’re using the best settings. While I highly recommend reading that complete tutorial to configure it, below are a few key things you can do in the LiteSpeed Cache setting that can help fix a slow website on Hostinger. These are general recommendations to use as a baseline, configure them for your own website!
LiteSpeed Cache Tips
- Hostinger Doesn’t Support Object Cache – this is listed in their article which means you can’t use LiteSpeed Cache’s object cache settings. The “object cache” screenshot shown above is taken from NameHero who does support object cache.
- QUIC.cloud – arguably the best CDN when using LiteSpeed Cache and can be setup using QUIC.cloud’s DNS, Cloudflare, or through CNAME records. I highly recommend using the paid (standard) version which uses all 70+ PoPs and includes DDoS protection, while the free plan uses 6 PoPs and no DDos protection.
- HTML lazy load selectors – FlyingPress has a nice video on how to do this. You can lazy load pretty much anything on your site (comments/footer are common).
- Delay JavaScript – view your third-party code report and try delaying its JS.
- Image optimization – setup QUIC.cloud to optimize images which is an excellent image optimizations solution. Compress them, use WebP to serve images in next-gen format, and don’t preserve EXIF data unless you’re a photographer or similar.
- Font display optimization – if you see “ensure text remains visible during webfont load” in your PageSpeed report, try changing this to font-display: swap.
- Localize files – host third-party code locally which is faster than external requests.
- Database – cleans junk from your database and limits post revisions. To go a step further, install WP-Optimize and go through your actual plugin tables, then delete those left behind by old plugins you’ve deleted which are marked as not installed.
4. Setup QUIC.cloud’s CDN
QUIC.cloud’s CDN is built to work on LiteSpeed and is needed for page/image optimizations in LiteSpeed Cache. It also does HTML caching (which can significantly improve your TTFB). As I mentioned, you should ideally use the paid (standard) plan which uses 70 PoPs and includes DDos protection. If you’re planning on using a free CDN, you’re probably better off using Cloudflare. QUIC.cloud can be activated in LiteSpeed Cache (see instructions). Here are steps:
- Request a domain key in LiteSpeed Cache.
- Enable QUIC.cloud in your CDN settings.
- Link your domain to QUIC.cloud and visit the dashboard.
- Enable the CDN in QUIC.cloud’s CDN settings.
- Choose your setup method (below is for CNAME).
- QUIC.cloud will give you a CNAME record.
- Paste QUIC.cloud CNAME record in Hostinger hPane’s Zone Editor.
- Enable static cache + QUIC backend in the settings.
- Wait 24 hours for DNS to propagate, then make sure the CDN works in QUIC.cloud.
5. Use PHP 8+
Hostinger is actually good about releasing new PHP versions and supports PHP 8.
- Login to hPanel and open your Hosting Account dashboard.
- In the Advanced section, click “PHP Configuration.”
- Select the PHP version (8.0).
- Save, then check your site for errors.
6. Enable Brotli + OPcache
Brotli compresses pages to smaller file sizes. OPcache improves PHP performance and CPU utilization (which can reduce CPU usage on Hostinger). Both can be activated in PHP extensions.
7. Enable Hotlink Protection
Hotlink protection stops people from copying your images and pasting them on their website while they’re still hosted on your server (this reduces bandwidth usage especially if you have high quality images). In your Hostinger dashboard, go to Other → Hotlink Protection, then select the files you want to enable it for. If using Cloudflare, they also have hotlink protection.
8. Disable XML-RPC
XML-RPC is mainly used with JetPack or to publish content from mobile. If you don’t use either, it adds unnecessary code and can be disabled in your Hostinger dashboard (in PHP extensions).
9. Schedule Cron Jobs
Some things on your site are triggered with specific actions. For example, wp-cron runs jobs before a page loads, your entire cache is rebuilt after taking specific actions in cache plugins, and cache plugin’s preloading can increase CPU usage. By scheduling these with cron jobs, you can save resources so they don’t run automatically. The screenshots show you how to replace wp-cron with a real cron job. Also check your cache plugin’s documentation for using cron jobs.
Before setting up an external cron job, the first step is disabling the built-in wp-cron. Add the code to your wp-config.php file before where it says “That’s all, step editing! Happy blogging.”
define('DISABLE_WP_CRON', true);
Next, follow Hostinger’s instructions:
This is what it would look like:
10. Avoid Slow Plugins
There are 2 types of slow plugins: plugins that increase memory usage, and plugins that add extra CSS, JavaScript, and fonts on the frontend which can damage your core web vital scores.
So it really depends on your goal. Are you having CPU issues on Hostinger and getting 503 service unavailable errors? Or are you looking to improve core web vital items related to CSS, JavaScript, and fonts caused by plugins (which you can check your GTmetrix Waterfall chart)?
Improving both is a good idea. You can view my list of common slow plugins where I used the WP Hive Chrome Extension to measure each plugin’s impact on memory usage and PageSpeed.
There are also tools like Query Monitor to find your slowest plugins:
I also recommend using Perfmatters to disable plugins where they don’t need to load:
11. Avoid Slow Page Builders
Elementor, Divi, and Fusion Builder (from Avada) are notorious for slowing down WordPress because they add extra CSS/JavaScript to your site. It’s obviously best to remove it completely then replace it with GeneratePress (what I use), Blocky, Kadence, Genesis, or Oxygen Builder.
If you don’t want to remove it, there are still several things you can do. Start by activating Elementor or Divi’s performance settings which will help remove unused CSS, JavaScript, and eliminate render-blocking resources. You can also hard code your header/footer in CSS so it doesn’t rely on bloated page builder code, which still lets you create pages in your page builder.
12. Remove Unused CSS/JS
When was the last time you checked your coverage report in Chrome Dev Tools?
This shows your largest CSS/JS files which are often from themes, plugins, or third-party code. Since multiple PageSpeed Insights items are related to CSS/JS, it’s key to reduce/optimize them.
Tips:
- Avoid CSS/JS heavy plugins/themes.
- Use CSS removal tools like PurifyCSS.
- Activate CSS/JS optimizations in Elementor/Divi.
- Disable plugins on specific pages using Perfmatters.
- Remove Gutenberg’s CSS if you don’t use Gutenberg.
- Code your header/footer/sidebar in CSS (don’t use page builders).
- Delay third-party JavaScript (and even plugins) if they load below the fold.
- Minify CSS/JavaScript and defer JavaScript to make it non render-blocking.
- Enable display dependencies in Perfmatters to see all plugins using jQuery.
- Use the “remove unused CSS” in FlyingPress, LSC, or Perfmatters (not WP Rocket).
13. Optimize Fonts
Check your GTmetrix Waterfall chart to see your font’s load times.
Reducing the number of fonts on your website is the first step. Make sure fonts are hosted locally instead of pulling from third-party sites like fonts.gstatic.com (you can do this manually or by using the OMGF plugin). Also use .woff2 format and not .ttf. Finally, test preloading fonts which you can do in LiteSpeed Cache. Divi and Elementor also have settings to optimize fonts. You can also try using font-display: swap, serving fonts from your CDN, and using system fonts.
14. Improve Core Web Vitals
Slow hosting is bad for core web vitals because it affects TTFB which is also 40% of LCP.
You can use PageSpeed Insights to test them, your Search Console core web vitals report, or SpeedVitals (since PageSpeed Insights uses the Chrome UX report and takes 28 days to update).
Largest Contentful Paint – this is the core web vital people struggle with most. Since 40% of LCP is TTFB, you want to make sure you’re on fast servers and using a good CDN with full page caching (like QUIC.cloud). Optimizing above the fold content is also important (i.e. excluding above the fold images from lazy load and preloading them), and preloading key requests like fonts. Reducing CSS/JS, lazy rendering HTML elements in LSC, and optimizing images helps too.
Cumulative Layout Shift – use Google’s layout shift debugger to find which elements on your website shift while loading. This is usually related to fonts, CSS, elements without specified dimensions (images, iframes, etc), animations, or not reserving space for dynamic content (like advertisements). Try hosting fonts locally and preloading them, adding font-display: swap to your font’s CSS, disabling asynchronous CSS in your cache plugin, using critical CSS, and using CSS transform/translate properties when using animations. These should all help improve CLS.
Total Blocking Time – blocking time is usually caused by JavaScript on your website or from third-parties. View the “reduce impact of third-party code” and “avoid long main-thread tasks” items in your PageSpeed report to see which items cause blocking time. You can also use GTmetrix Waterfall. Try deferring JavaScript, delaying JavaScript, removing unused JavaScript in asset unloading plugins, hosting files locally if possible, and testing combine vs. not combine.
15. Leave Hostinger
Search “Hostinger scam” in Reddit. The only reason they’re cheap is because they give you less resources like CPU cores, RAM, and only 1GB email storage. Plus, they have frequent downtimes which you can test in UptimeRobot. Search Facebook groups and you’ll see many posts like this:
There Are Better LiteSpeed Hosts
NameHero is my go-to with NVMe/Redis, but their data centers are only in the US/EU. FastComet and ChemiCloud have more data centers outside US/EU and are very similar (ChemiCloud uses NVMe but has less cores/RAM). Scala is CloudVPS (faster) and uses their custom sPanel, but it costs more. All use LiteSpeed and are significantly better than Hostinger.
Hostinger Business WordPress Plan | FastComet FastCloud Extra Plan | ChemiCloud WordPress Turbo Plan | NameHero Turbo Cloud Plan | Scala Hosting Build #1 Plan | |
---|---|---|---|---|---|
Type | Shared | Shared | Shared | Shared | Cloud VPS |
Cores/RAM | 2 cores/1.5GB | 6 cores/6GB | 3 cores/3GB (scalable to 6/6) | 3 cores/3GB | 2 cores/4GB |
Storage | 20GB SATA | 35GB SATA | 40GB NVMe | Unlimited NVMe | 50GB NVMe |
Database | MariaDB | MySQL | MariaDB | MariaDB | MariaDB |
Object cache | Memcached | Memcached | Memcached | Redis | Redis |
Data centers | 8 | 11 | 11 | 2 (US + EU) | 3 (US + EU) |
Server | LiteSpeed | LiteSpeed | LiteSpeed | LiteSpeed | LiteSpeed |
Cache plugin | LiteSpeed Cache | LiteSpeed Cache | LiteSpeed Cache | LiteSpeed Cache | LiteSpeed Cache |
CDN | QUIC.cloud ($.02-.08/GB) | QUIC.cloud ($.02-.08/GB) | QUIC.cloud ($.02-.08/GB) | QUIC.cloud ($.02-.08/GB) | QUIC.cloud ($.02-.08/GB) |
Control panel | hPanel | cPanel | cPanel | cPanel | sPanel |
Email storage | 1GB | 2.048GB | Adjustable | Adjustable | Adjustable |
Inodes | 600,000 | 500,000 | 500,000 | 500,000 | Unlimited |
Major incidents | Scam reports, fake reviews, 2019 breach | 2022 DDoS attack on 3 data centers | None | 2011 2-day node outage | None |
Migrations | Unlimited (but screws it up) | 3 free | 200 cPanel + 10 non-cPanel | 1 free | 1 free |
Support | F | B | B | B | B |
TrustPilot rating | 4.6/5 (fake) | 4.9/5 | 4.9/5 | 4.6/5 | 4.9/5 |
Intro price | $3.99/mo (1-4 year agreement) | $5.49/mo | $5.99/mo | $9.98/mo | $29.95/mo |
Renewal price | $24.99/mo | $21.95/mo | $19.95/mo | $19.95/mo | $46.95/mo |
View plan | View plan | View plan | View plan |
If you’ve read my blog, you probably know I use Rocket.net. They don’t use LiteSpeed (and will cost more), but they’re definitely the fastest host I’ve used with 32 CPU cores + 128GB RAM and Cloudflare Enterprise. You can read my full review but my <100ms global TTFB speaks for itself.
Conclusion: a slow website on Hostinger is usually caused by their cheap shared hosting which has low CPU + RAM, slow DNS, SATA SSDs, and no object cache. You’re getting what you paid for.
Cheers,
Tom