Skip to content
Get a quote Call +66 93 004 4098

SEO, speed and analytics

Why your WordPress website is slow, and how to fix each cause

Twelve common reasons a WordPress site feels slow, grouped by where the problem lives, with honest notes on what each fix involves.

Cover image for this guide: Speed

Why is a WordPress site slow?

Many slow WordPress sites come down to one of three root causes: cheap or overloaded hosting, a heavy page builder or multipurpose theme, or large images and scripts that nobody trimmed.

Plugins that promise instant speed can only partly fix the second and third. The twelve causes below are grouped by where they live, so you can see which apply to you.

Before touching anything, measure. Run the home page and one inner page through PageSpeed Insights on mobile, note the numbers, and keep a screenshot. Our guide on reading a speed test report explains which figures matter. Test from a phone on mobile data as well: in Bangkok, many visitors arrive on 4G or 5G in a BTS carriage or a condo lobby, not on office fibre.

Hosting and PHP (causes 1 and 2)

1. Slow or overloaded hosting

Every page starts with the server building it. On a crowded shared plan, that step alone can take a second or more before the browser receives anything. Look for "server response time" or "time to first byte" in your speed report: if it is slow even on a simple page, no amount of front-end tuning will fix it. A better plan, or a host with servers closer to your visitors, is the fix.

2. An old PHP version

WordPress runs on PHP, and newer PHP versions are generally faster as well as safer. Many sites still run a version that no longer receives security support. Check the PHP version in your hosting panel or under Tools, Site Health in WordPress, and compare it with the currently supported list on php.net. Upgrading is often a single setting, but test on staging first, because old plugins can break on a newer PHP.

No page caching (cause 3)

3. Every visit builds the page from scratch

Without caching, WordPress queries the database and assembles each page for every single visitor. Page caching saves a ready-made copy and serves that instead, which cuts server work dramatically. Many hosts include server-level caching; otherwise a well-known caching plugin does the job.

Caching has limits. It helps the server respond faster, but it does not shrink a 4 MB page or remove a slow chat widget. Carts, checkouts and account pages on a WooCommerce store must also be excluded from the cache, or customers see each other's baskets.

Themes and page builders (cause 4)

4. Page builder and multipurpose theme bloat

Drag-and-drop builders and "do everything" themes are convenient because they ship code for every possible layout, animation and widget. The cost is that much of that code loads on pages that use none of it, wrapped in many nested layers of HTML. The result is a heavy page that is slow to render on a mid-range phone.

Optimisation plugins can defer some of those scripts and combine some files, which helps a little. They cannot remove the builder's structure from the page. This is the honest line between tuning and rebuilding: if the builder is the weight, the only real fix is a lighter theme.

Plugins (cause 5)

5. Too many plugins, or a few heavy ones

The number of plugins matters less than what each one loads. A small plugin that adds one setting costs almost nothing. A slider, a social feed or a form plugin that loads its scripts and styles on every page, even pages without a form, adds weight to the whole site.

Go through the list and ask of each plugin: do we still use it, does it load on pages that do not need it, and is there a lighter way to do the same thing? Deactivate one at a time on a staging copy of your site and re-test to find the worst offenders. Some SEO plugins also add front-end output; our guide to SEO WordPress settings covers which features are worth keeping.

Images and fonts (causes 6 and 7)

6. Unoptimised images

Photos uploaded straight from a camera or phone are often several megabytes each and far wider than any screen needs. Resize them to the largest size they display at, compress them, and serve a modern format such as WebP. Our full guide to image optimization covers sizes and tools.

7. Heavy web fonts

Thai web fonts usually carry both Thai and Latin glyphs, so their files tend to be larger, and bilingual sites often load a Thai font and an English font in several weights. Limit the weights you actually use, host the fonts yourself, and subset them to the characters each language needs. Setting fonts to show fallback text while loading also stops blank text on slow connections.

Third-party scripts and no CDN (causes 8 and 9)

8. Chat widgets, pixels and maps

Every outside script is code your site does not control, downloaded from another server. Live chat widgets, advertising pixels, analytics tags beyond what a lean GA4 setup needs, embedded Google Maps, review badges and video embeds are the usual culprits. Keep the ones that earn their place, load them after the page is usable, and replace embedded maps with a static image that links to the map. A simple LINE or WhatsApp link button costs almost nothing compared with a full chat widget.

9. No CDN

A content delivery network keeps copies of your images, styles and scripts on servers in many locations, so visitors download them from nearby. It also absorbs traffic spikes. For many small sites the simplest route is putting Cloudflare in front of your site, which also handles basic caching and security.

Database and background tasks (causes 10 to 12)

10. Database bloat

Over the years the database collects post revisions, expired temporary data (transients), spam comments and, on WooCommerce stores, old customer sessions. A bloated database makes every uncached page slower and backups larger. Limit revisions, clear expired data and clean spam on a schedule, with a backup taken first.

11. Slow external calls and WP-Cron

Some plugins contact outside services while the page is loading: licence checks, currency rates, stock feeds, social counts. If that service is slow, your page waits. WordPress also runs scheduled tasks, called WP-Cron, triggered by visitor traffic, so a heavy task can land on a customer's page view. Moving cron to a real server schedule and removing slow calls from page loads fixes both.

12. Sliders and video heroes

A full-width slider with five large photos, or an autoplaying background video, is often the heaviest thing on the home page and the first thing a mobile visitor waits for. One strong, compressed image with a clear headline usually loads faster and reads better.

In what order should you fix them?

Work from the cheapest, highest-impact fixes towards the expensive ones, and re-test after each step so you know what helped. Plugin-level fixes cover images, caching, fonts, database cleanup and script delays. Hosting changes need a migration. Builder bloat needs code or a rebuild. For more reading on this topic, browse our articles on SEO, speed and analytics.

  • Compress and resize imagesUsually the quickest win, and safe to do on the live site.
  • Turn on page cachingUse your host's cache or one caching plugin, never two at once, and exclude cart and checkout.
  • Update PHPTest on staging, then switch in the hosting panel.
  • Trim plugins and third-party scriptsRemove what you do not use and delay chat widgets and pixels.
  • Reduce and subset fontsFewer weights, self-hosted, Thai and English subsets.
  • Add a CDN and clean the databaseModerate effort, steady gains.
  • Review hostingIf server response is still slow, move to a better plan or host.
  • Replace the builder or themeThe biggest job, and the only fix for builder bloat.

When is a rebuild the real fix?

If your speed report still shows a heavy page after images, caching and plugins are sorted, and the site is built on a page builder or a multipurpose theme, you have reached the limit of tuning. At that point a lighter custom theme without a page builder is usually cheaper over time than paying for one optimisation round after another. We compare both routes in template vs custom website.

If you would rather hand the diagnosis over, our service for making a slow site fast starts with measurement and tells you which of the twelve causes apply. For keeping it fast afterwards, see what shapes the website maintenance cost for a site like yours.

More speed and performance guides

Sources

Litesh Dhir, co-founder of Website Development Bangkok
Reviewed by Litesh DhirCo-founder, SEO and web development

Builds and ranks the websites: the systems behind the 17 client sites whose Search Console numbers we publish. This guide was written by the Website Development Bangkok team. More about us

Common questions

Why is my WordPress site slow only on mobile?

Phones have slower processors than laptops and often sit on variable mobile connections, so heavy pages hurt more. Speed tools also test mobile under throttled conditions on purpose. The usual culprits are large images served at desktop size, page builder code that takes long to process, multiple font files, and third-party scripts such as chat widgets. Fixing those improves mobile first, and desktop follows.

Will a caching plugin fix a slow WordPress site?

It helps with one part of the problem: how fast the server delivers the page. It does not make large images smaller, remove heavy page builder code or stop slow third-party scripts. If your speed report shows slow server response, caching is a strong first step. If the page itself is heavy, you will need to work on images, plugins and scripts too.

Does Elementor make WordPress slow?

Page builders such as Elementor add extra code and nested layout layers compared with a hand-built theme, and that weight grows with the number of widgets and add-ons used. A carefully built page can still perform acceptably, especially with good hosting and caching. But if a builder site stays heavy after images and plugins are sorted, the builder is often the remaining cause.

How fast should a WordPress website load?

Google's Core Web Vitals guidance treats a Largest Contentful Paint of 2.5 seconds or less as good, measured on real visits. That means the main content of the page should appear within about two and a half seconds for most visitors, including those on phones. Aim for that on your key pages, and test on mobile data rather than office Wi-Fi.

When is it better to rebuild than to optimise?

Rebuild when the heaviest part of the site is its foundation: a page builder or a multipurpose theme that loads code you cannot remove. Also consider it if the site needs a redesign anyway, or if each optimisation round wins back less. Optimise when the problems are images, caching, plugins or hosting, because those can be fixed without replacing the theme.

Tell us about your website

Send a few lines on WhatsApp or through the quote form. You get a written quote with the scope, timeline and price for your project.

Or WhatsApp or call +66 93 004 4098, every day, 10:00 to 19:00 ICT. service@websitedevelopmentbangkok.com

WhatsApp Call