"My website is slow" is one of the most common messages I receive. The good news: slowness almost always has a specific, findable cause. Here is the order in which I investigate, refined over years of server administration and troubleshooting work.

1. Is it the server or the page?

Measure the time to first byte. If the server takes two seconds to send the first byte, no front-end optimisation will save you. If the first byte is fast but the page takes eight seconds to render, the problem is in the page itself.

2. Overloaded shared hosting

Cheap shared hosting puts hundreds of sites on one server. When a neighbour gets busy, you get slow. Check the resource usage graphs in your control panel; if CPU or entry processes are constantly at the limit, it is time for better hosting or a small VPS.

3. Uncompressed, oversized images

The single most common cause. A phone photo uploaded straight to the site can be 5 MB. Resize to the display size and convert to WebP; this alone often halves page weight.

4. Too many plugins

Every WordPress plugin adds code to every page. Thirty plugins means thirty chances to slow things down. Remove what you do not use, replace bloated ones.

5. No caching

Without caching, every visitor makes the server rebuild the page from the database. Page caching, object caching and browser caching each help, and all are cheap to set up.

6. Slow database queries

Unindexed tables and badly written queries scale badly. Enable the slow query log on MySQL or MariaDB and the offenders reveal themselves.

7. Render-blocking scripts and styles

Third-party scripts loaded in the head — chat widgets, tracking pixels, font libraries — block rendering. Load them asynchronously or defer them.

8. No content delivery network

If your visitors are in Sri Lanka and your server is in the US, physics costs you time. A CDN such as Cloudflare puts your static files close to the visitor and shields the server from bots.

9. Old PHP version

PHP 8 is dramatically faster than PHP 7.2. Many hosting accounts still run old versions because nobody updated the setting. Check and test.

10. External resources that hang

An embedded map, a social feed or a font that fails to load can stall the whole page while the browser waits. Check the waterfall in browser developer tools.

11. Malware

Compromised sites often run hidden crypto miners or spam senders that consume the server. Slowness with no other explanation deserves a security check — see my recovery checklist.

12. DNS and SSL configuration

Slow DNS resolution and misconfigured SSL handshakes add hundreds of milliseconds before the page even starts. Rare, but real.

What good looks like

A well-built business site should load in under two seconds on a mobile connection in Sri Lanka. If yours does not, the cause is on this list. I diagnose and fix these issues as part of my server administration and website repair services.