Common Reasons for a Slow WordPress Website
Applies to: WordPress sites hosted on iCoreHosting (cPanel or DirectAdmin, LiteSpeed/Apache).
1) Unoptimized Images
Uploading very large images (e.g., multi‑MB originals) hurts LCP and total load time.
- Convert to modern formats (WebP/AVIF). Target ~80–150 kB for typical content images.
- Serve correctly sized thumbnails; don’t rely on CSS to shrink giant images.
- Enable lazy‑load for below‑the‑fold media.
2) Heavy Plugins & Page Builders
Some plugins enqueue many CSS/JS files or trigger expensive operations on every request.
- Audit your plugin list. Remove unused or overlapping ones.
- Avoid stacking multiple page builders or mega‑features you don’t need.
- Choose a lightweight theme where possible.
3) Missing or Misconfigured Caching
Without page caching, WordPress builds pages dynamically for each visit, increasing CPU work.
- Page cache: Enable LiteSpeed Cache (recommended on iCoreHosting). Tune TTLs and purge rules.
- Assets: Combine/minify cautiously; HTTP/2/3 multiplexing often reduces the need for heavy bundling.
- Persistent object cache: Helpful for dynamic shops and membership sites.
4) Outdated WordPress, Themes, or PHP
Older versions tend to run slower and can be less secure.
- Keep WordPress core, themes, and plugins updated.
- Use a modern, supported PHP version via cPanel/DirectAdmin > Select PHP Version.
- Ensure OPcache is enabled to reduce compile overhead.
5) Bloated Data Layer & Tasks
Over time, revisions, temporary records, logs, and orphaned entries build up.
- Clean up post revisions, trashed posts, spam comments, expired transients.
- Review autoloaded entries in the options store (e.g.,
wp_options) and trim oversized ones. - Use a real cron for heavy schedules instead of the built‑in pseudo‑cron.
6) Third‑Party Scripts & Embeds
Ads, analytics, chat widgets, social embeds, and font loaders add lookups and render‑blocking work.
- Load analytics asynchronously; defer non‑critical JS.
- Self‑host key fonts and preconnect to necessary domains.
- Keep only what delivers clear value; every embed has a cost.
7) Network, TTFB, and Resource Limits
High Time to First Byte suggests backend delays: saturated CPU, cold caches, or heavy processing.
- Check plan limits (CPU, RAM, I/O, EP) in your control panel usage graphs.
- Busy shops/LMS sites often outgrow shared hosting—consider VPS/Dedicated.
- Use a CDN for distant visitors to reduce latency.
8) Malware, Bot Floods, or Brute Force
Compromised plugins, brute‑force logins, or bad‑bot crawling can spike CPU and I/O.
- Keep everything updated and remove abandoned plugins.
- Enable a web app firewall and rate‑limit login attempts.
- Scan regularly; restore from a clean backup if needed.
How to Diagnose Quickly
- Measure first: Run PageSpeed Insights or WebPageTest and note LCP, TTFB, CLS, and the waterfall.
- Bypass the CDN: Test the origin URL to isolate hosting vs. CDN effects.
- Safe Mode test: Switch to a default theme and disable non‑essential plugins; compare timings.
- Enable LSCache: Turn on page cache, image optimization, and lazy‑load; re‑test.
- Data cleanup: Trim revisions/transients and right‑size autoloaded options.
- Re‑enable selectively: Add plugins back one‑by‑one and watch for regressions.
Quick Fix Checklist
- Enable LiteSpeed Cache page caching.
- Convert images to WebP and enable lazy‑load.
- Update WordPress, themes, plugins; switch to a faster PHP version with OPcache.
- Remove heavy/duplicate plugins; streamline your builder stack.
- Trim revisions/transients; right‑size autoloaded options.
- Defer non‑critical JS; load analytics/chat widgets asynchronously.
- Use a CDN for static assets and global users.
- If hitting resource limits, consider an upgrade to VPS/Dedicated.
Need Help?
Open a ticket at iCoreHosting Support and share:
- Sample URLs that feel slow + your test results (screenshots ok)
- Recent changes (new plugins, theme updates, imports)
- Best time window to test without affecting customers
© iCoreHosting Knowledge Base • Last updated: 2025-08-25
