1. Images that were never optimized
By far the number one cause. The hero photo uploaded at 4000 pixels because that's how it came out of the camera, galleries with 3 MB images each, giant PNG logos. The page weighs several megabytes, and on mobile that translates directly into waiting.
How to spot it: open the page, check the total weight in dev tools. If most of that weight is images, that's your first cause. It's fixed with modern formats, correct dimensions and compression, and the improvement is almost always immediate.
2. Plugins accumulated over time
Nobody installs thirty plugins in a day. They build up over years, one per need. The problem isn't the number itself, it's that many of them load scripts and styles on every page, even where their function isn't needed.
Typical symptoms: dozens of CSS and JS files loaded on every page, constant admin-ajax calls, load times that get worse with every new plugin. The fix is a considered cleanup: what's actually needed, what can be replaced with a few lines of code, what can be loaded only where it's used.
3. Inadequate hosting
Cheap shared hosting is fine to get started, not for a site that needs to sell. The signal is TTFB, the time the server takes to respond: if it's above 800 milliseconds even on a nearly empty page, that's the bottleneck, and no frontend optimization fixes it.
Before recommending a hosting change, measure first. If TTFB is good and the page is just heavy, hosting isn't the issue. If TTFB is consistently high, changing hosting is often the fix with the best cost-to-result ratio.
4. Theme, builder and third-party resources
Multipurpose themes with every module switched on, page builders left free to load wherever, sliders that pull in entire libraries for one transition. On top of that, third parties: tracking pixels, chat widgets, maps, external fonts, embedded video.
Each one looks small on its own. Together, they decide when the page actually becomes usable. The fix is reducing active modules, loading third parties later, and deferring anything that isn't needed above the fold.
Verdict
On most slow sites I look at, two or three targeted fixes are enough for a clear improvement: images, plugin cleanup, sometimes hosting. The point is choosing them based on data, not by trial and error.
If the site is still slow after these fixes, the problem is structural (theme or builder) and needs to be addressed at the base. But that's the less common case, not the rule.
Frequently asked questions
How do I know if hosting is the problem?
Measure TTFB on a simple page, like contact: if it's consistently above 800 ms, the server is a prime suspect. If TTFB is fast but the page is slow to finish loading, the problem is the page's weight.
Is disabling plugins enough?
It helps diagnose, but rarely fixes things on its own. Disabling everything and re-enabling in groups shows which plugin is heaviest, but then you still need to decide: remove it, replace it, or limit where it loads its resources.
Does a slow site hurt SEO?
Yes, in two ways: Core Web Vitals are a ranking signal, and a slow site increases abandonment before the content is even read. It isn't the only factor, but it's one of the few where you can see measurable results in weeks, not months.
Next step
Want to know exactly why your WordPress site is slow?
The speed audit measures the real causes on the pages that matter and proposes fixes in order of impact, with a before-and-after comparison.
Go to the WordPress speed service