Choose a plan

Slow website: what to check, in order

Your site loads slowly? Measure first, then check the server, cache, PHP, images and external scripts. Plus compression and browser caching.

  • Updated
guide · speed
Steps
17
Reading time
5min
Sections
4
Start the guide

“The website is slow” can mean very different things: the server responds slowly, the page is heavy, the visitor's phone is old, or a single external script holds everything up. Before you change anything, measure. Then check one thing at a time, from what is easiest to fix to what takes more work.

What you'll achieve

  • find out whether it's the server or the page that is slow;
  • fix the usual causes, one by one;
  • turn on compression and browser caching, from .htaccess.

Before you start

  • Note which pages are slow, on which device and since when. “Since the day I installed X” is the most useful clue.
  • Back up the website: in Enhance, on the website page, the “Backups” tab » “Create backup” (with the language set to “English (US)”, “Backup now”).

The steps

1. Measure

  1. Test the page on https://pagespeed.web.dev (details in Core Web Vitals explained: LCP, INP and CLS). Note the LCP and the score.
  2. Measure how fast the server responds, from Terminal (Mac, Linux) or PowerShell (Windows; type curl.exe instead of curl):

    curl -o /dev/null -s -w 'First byte: %{time_starttransfer}s · Total: %{time_total}s\n' https://domeniul-tau.ro/

    On Windows, type NUL instead of /dev/null.

  3. Read the result:
    • first byte under 0.5 s on a regular page: the server is fine, the problem is in the page (steps 4–6);
    • over 1 s, every time: the server is slow to build the page (steps 2–3 below).

2. Is the page served from cache?

  1. On a WordPress website without a caching plugin, every visit builds the page from scratch. Turn on page caching (see Caching in WordPress: what it is and how to use it) and measure again.

3. The PHP version and plugins

  1. Check the website's PHP version: Enhance, the website page, the “Developer tools” tab » “PHP”. A newer version (8.3, 8.4) is usually faster; check compatibility first (see PHP version and PHP settings).
  2. Look at the PHP error log in “Developer tools” (php-error.log): hundreds of warnings on every visit slow the page down.
  3. Deactivate the plugins you don't use, one at a time, and measure after each one. A single heavy plugin can double the response time (see The plugins a WordPress site needs).
  4. In an online store, the cart and checkout aren't cached and are calculated by PHP for every visitor. If they are slow only when you have many visitors at once, see the section about the plan in WooCommerce store: the plan, installation and settings.

4. Images

  1. In the PageSpeed report, under the recommendations, look for images that are too large. Resize them and convert them to WebP or AVIF (see WebP and AVIF images: same look, fewer kilobytes and Images in WordPress: size, format and loading).

5. Scripts from other companies

  1. Chat widgets, ad pixels, embedded maps, reviews, videos, external fonts: each one brings its own scripts. In the PageSpeed report, under Reduce the impact of third-party code, see how much each one costs.
  2. Keep only what you really use. A video can appear as an image and only start on click.

6. Compression and browser caching

Compression shrinks pages, CSS and JavaScript on the way. Browser caching tells the visitor to keep images and style files, so the second page opens faster.

  1. In Enhance, in the “Files” tab, open .htaccess in public_html (right-click » “Edit”). On WordPress, work outside the # BEGIN WordPress and # END WordPress lines.
  2. Add at the end:
    <IfModule mod_deflate.c>
      AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/javascript application/json image/svg+xml
    </IfModule>
    
    <IfModule mod_expires.c>
      ExpiresActive On
      ExpiresByType image/webp "access plus 1 month"
      ExpiresByType image/avif "access plus 1 month"
      ExpiresByType image/jpeg "access plus 1 month"
      ExpiresByType image/png "access plus 1 month"
      ExpiresByType image/svg+xml "access plus 1 month"
      ExpiresByType text/css "access plus 1 week"
      ExpiresByType text/javascript "access plus 1 week"
      ExpiresByType application/javascript "access plus 1 week"
      ExpiresByType font/woff2 "access plus 1 month"
    </IfModule>
  3. Click “Save” and check the website. If your caching plugin already has options for compression and browser caching, use its options, not both.

With browser caching, a changed CSS file may stay outdated for visitors who have already downloaded it. WordPress automatically adds ?ver= to theme files; on a hand-built website, rename the file or add ?v=2 in the page after each change.

7. The database

  1. On an older WordPress site, the database grows with post revisions, spam comments and data left behind by deleted plugins. See how much space it takes in Enhance, in the “Databases” tab (see How much space you use and what takes it up). Before any cleanup, make a backup.

If something doesn't work

  • The website is only slow sometimes, at certain times of day. It may be a heavy scheduled task (an import, a backup made by a plugin) or a wave of bots. Look in “Developer tools” » “Cron jobs” (see Cron jobs: scheduled tasks in Enhance) and tell us the time.
  • It's only slow from your network. Try from mobile data. If it's fast there, the problem is in your network.
  • The website shows an error after editing .htaccess. A typo. Delete the block you added and save (see 500 Internal Server Error and the blank page).
  • You've done everything and it's still slow. Send us the page address, the result from step 2 and what you have already changed. We will also look at what we can see from the server.
Support

Stuck? We'll do it together.

Tell us which step isn't working and, if you can, send a screenshot. We reply during business hours.

Phone and WhatsApp+40 775 396 021
HoursMonday–Friday, 9:00–18:00 Romanian time (EET/EEST)

Never send us your password on WhatsApp or by email. What information helps us solve it on the first try: how to ask for help.