WordPress site slow: how to find the cause and who will fix it

When a WordPress site is slow, the cause usually lies in one of three places: plugins and the theme, heavy images and scripts on the page, or the server. You can check the first two yourself in the admin and with Google's free measurement tool. The server, the PHP version and server-side caching are fixed by your host, and custom theme code by a developer.

Author: The TellMyShop team. A guide for WordPress site and WooCommerce store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read

Slow, but where exactly

Before you deactivate anything, establish what is slow. That decides who you are looking for.

What is slowWhat it usually meansWho starts
Every page, even a simple posta slow server response or a heavy plugin running everywhereyou, then your host
Only the homepageslider, video, large images, many scriptsyou
Only the admina plugin with a heavy dashboard, a bloated database, scheduled tasksyou, then a developer
Shop, cart, checkoutWooCommerce plugins, requests to external servicesyou, then a developer
Slow only sometimesbot traffic, a backup in the background, plan limitsyour host
Slow on a phone, fast on a computerimages and scripts too heavy for a weaker connectionyou

If the slowdown came suddenly, also check that you really are seeing the new version of the site. Old files from the cache can be misleading, as we explain in the article WordPress changes not showing.

How to measure before you change anything

Without measuring you don't know whether a change helped. Free tools and a quarter of an hour are enough.

  1. Choose three addresses. The homepage, one typical post or service page and, in a shop, one product page.
  2. Measure them in PageSpeed Insights. Note the mobile score and the key metrics. Google's Web Vitals guide explains what they mean.
  3. Note the server's first response time. It is a separate item in the PageSpeed report. A long time on every address points to the server or a plugin that runs on every visit.
  4. Check Tools → Site Health. Old PHP, no persistent object cache, scheduled tasks that don't run. We explain what the messages mean in the article on WordPress Site Health.
  5. Save the results with a date. Check every change with the same measurement on the same addresses.

Results from a single measurement can vary by a few points. Look for clear differences, not single points.

Which plugin is slowing down WordPress

The simplest method is to deactivate plugins as a test and measure. Ideally do this on a test copy of the site; on a live site, outside busy hours, and never with payment and shipping plugins while you are selling.

  • Start with plugins added or updated just before the slowdown.
  • Then check those that do a lot on every visit: statistics, chat widgets, pop-ups, on-the-fly translation, security plugins that scan every request, page builders.
  • When there are many plugins, deactivate half, measure, then half of the half that mattered. This method is described in, among others, the RackAID guide to a slow WordPress.
  • Don't leave plugins you don't use deactivated forever. Delete them.

Deactivating doesn't delete a plugin's settings, so after the test you activate it in the same state. If something broke after deactivating a plugin, the article on what to do when WordPress is not working after an update will help.

You, your host, a developer: who fixes what

You, in the admin: remove unneeded plugins, keep one cache plugin, shrink images before uploading, drop the slider or video at the top of the homepage, update plugins and the theme.

Your host: the PHP version, server-side caching, a persistent object cache, plan resources, protection against excess bots. The recommended versions are on the WordPress requirements page. Give your host the addresses, the measurement results and the server's first response time.

Images are the most common cause that you can fix yourself. A photo straight from a camera or phone can weigh several megabytes, while on the page it is shown in a small box. Shrink it to the size it is actually displayed at and save it in a lighter format, such as WebP. In a WooCommerce shop, start with the images on the homepage and in the most visited categories.

A developer: a heavy custom theme, code added to functions.php, a database bloated by old plugins, a slow plugin that can't be replaced. General optimisation principles are collected in the performance chapter of the WordPress administration handbook.

How the chat helps, and what it won't speed up

The TellMyShop plugin for WordPress and WooCommerce doesn't speed up the server, doesn't compress images and doesn't replace your host or the site's technical caretaker. It helps with what takes the most time during a slowdown: gathering the facts and tidying up plugins.

In the free TellMyShop Free your chat (Claude or ChatGPT) reads the site health with the PHP version, grouped errors from the logs, and the list of plugins and themes with versions and available updates, and it opens chosen addresses the way a visitor sees them. From that it builds a list of suspects and a split: what you do yourself, what to report to your host, what to a developer.

You: The site has been slow for a week, especially the admin. What's going on?

Your chat: Site health has two items: an old PHP version and scheduled tasks that run late. The logs from the last 7 days hold over 300 warnings from the Example Stats plugin, which since its update writes data on every visit.

Your chat: You also have 6 deactivated plugins nobody uses. I suggest first deactivating Example Stats as a test. Preview:

You: Yes. I'll measure the site again.

Your chat: Deactivated. I'm leaving the PHP version and scheduled tasks to your host. I've drafted a short message for them with what site health shows.

Card status: waiting for your “yes”
change preview

old version: Example Stats: active

new version: Example Stats: inactive

Illustration: products, numbers and replies are examples.

The plugin names and numbers in this conversation are illustrative. Deactivating, updating and deleting deactivated plugins work in TellMyShop Pro after you turn on the Plugins switch, and clearing the cache after you turn on the Theme switch. Both last 24 hours and require a database backup from today. Before each change you see a preview and you decide, and you can undo most changes from the change history. The chat doesn't change the wp-config.php file, .htaccess or server settings.

Running a PrestaShop store? The causes there are similar but the settings differ; we describe them in the article PrestaShop store slow. You will find the scope of each version on the TellMyShop for WordPress page and in the pricing, and the free version on the TellMyShop Free page.

Questions and answers

Why did WordPress suddenly get slow?

A sudden slowdown usually has a specific cause from the last few days: a new or updated plugin, a theme change, heavy images on the homepage, a change on the server or more traffic, including from bots. Start by asking what changed just before the slowdown.

How many plugins is too many?

There is no safe number. One badly written plugin can slow a site down more than thirty light ones. What counts is what the plugin does on every visit: database queries, scripts on the page, connections to external services.

Will a cache plugin speed up every page?

It helps with pages that look the same for everyone, such as posts and company pages. It won't speed up a slow server for the cart, the admin or search, because those pages usually aren't cached. Two cache plugins at once often do harm.

Will changing hosts speed up WordPress?

Sometimes, if the server's first response is slow even on an empty page and the plan has too few resources. If heavy images, scripts or a plugin are slowing the site, a new host won't fix that. Measure where the problem lies before you move.

Will the TellMyShop plugin speed up my site?

It doesn't speed up the server or compress images. It helps with diagnosis and tidying up: it reads site health, error logs and the plugin list, and in TellMyShop Pro, after you turn on the switches, it deactivates unneeded plugins and clears the cache with a preview and your approval.

WordPress is a trademark of the WordPress Foundation. WooCommerce is a trademark of Automattic Inc. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.

TellMyShop for WordPress and WooCommerce

Your chat reads the site, shows every change before saving it and saves only after your yes. You can undo most changes with one sentence. Works with Claude or ChatGPT, free accounts included.

Read next