Tips・WordPress settings and upkeep

Making WordPress faster (in order of impact)

What to do when WordPress feels slow, organized by how much it helps. Covers images, plugins, hosting and PHP versions, plus the speedups you can make in your theme's code.

The causes of a slow WordPress site turn up in a fairly fixed order. Here they are, most impact and least effort first. Doing just the top three makes a clearly noticeable difference.

One ground rulemeasure under the same conditions before and after each change. Record where you are now with Google’s free tool (PageSpeed Insights) or Lighthouse in your browser’s developer tools, then start.

1. Fix your images (impact: high / effort: low)

The number one cause of a heavy page is images that are too large.

  • Scale to the display size—a photo shown at 1200px wide doesn’t need a 4000px original
  • Compress before uploading—you can halve the file size or better while keeping it looking the same
  • Choose the format—WebP for photos, SVG or PNG for diagrams and logos
  • Specify featured image sizes—use medium rather than full in archives
TipsMake images lighter to speed up your pageFree tools and steps for making images lighterTipsHow to choose an image format (JPG, PNG, WebP, SVG)Choosing between WebP, SVG and the restTipsHow to convert images to WebPHow to convert images you already have to WebP

On the theme side, just specifying the size loaded in archives makes a difference.

<?php the_post_thumbnail('medium'); ?>   <!-- medium, not full -->

WordPress adds srcset and lazy loading (loading="lazy") for you, so as long as you output through the functions, no difficult configuration is needed.

TipsDisplaying featured images, and fallback imagesSpecifying featured image sizes, and fallback images

2. Clean up your plugins (impact: high / effort: low)

Delete plugins you aren’t using (delete, not deactivate). Here’s what to look for.

  • Are two doing the same job?—install two SEO or two caching plugins and they interfere
  • Is it installed for a single feature?—often a few lines of code can replace it
  • Has it stopped being updated?—that’s a risk on both the slowness and the safety side

The most reliable way to find “which plugin is slow” is to deactivate them one at a time and measure.

3. Check your host and PHP version (impact: high / effort: medium)

  • The PHP version—an old one is distinctly slower. Raise it to the latest stable release from your host’s control panel (back up first)
  • Server performance—on a cheap shared plan, concurrent traffic means waiting

Raising PHP can break themes and plugins, so take a backup, verify on a test environment, and only then apply it to production. If your host itself is the bottleneck, moving to a faster plan or provider is worth considering.

4. Put caching to work (impact: high / effort: medium)

Caching is the mechanism of “save the HTML you built once, and serve that on the next request.” Because WordPress runs PHP and hits the database on every view, caching pays off enormously.

  • Install exactly one caching plugin (several will interfere)
  • If your host has a caching feature, use that first
  • A CDN delivers images and other assets from somewhere closer to the visitor

5. Load fewer fonts (impact: medium / effort: low)

Each web font typeface adds another download.

  • Limit how many typefaces you use (don’t get greedy with three or four)
  • Only the weights you need—400 and 700 are often enough
  • Since some font files are large, the compromise of system fonts for body text and a web font for headings only works well
TipsChange the face of your text with Google FontsHow to load Google Fonts

6. Code-level wins in your theme (impact: medium / effort: medium)

If you can touch a theme of your own or a child theme, there’s more to do in code.

Load CSS and JS only on the pages that need them

function my_assets() {
  wp_enqueue_style('main', get_theme_file_uri('style.css'), [], '1.0.0');

  if (is_front_page()) {
    wp_enqueue_script('slider', get_theme_file_uri('js/slider.js'), [], '1.0.0', true);
  }
}
add_action('wp_enqueue_scripts', 'my_assets');

Putting JS in the footer (true as the fifth argument) is standard too.

TipsThe right way to load CSS and JavaScript (wp_enqueue)How to write loading, and cache busting

Lighten your list queries

// ❌ fetching everything gets heavy as posts pile up
new WP_Query(['posts_per_page' => -1]);

// ✅ set a count, and skip the total calculation when you don't need pagination
new WP_Query(['posts_per_page' => 12, 'no_found_rows' => true]);

Heavy use of meta_query is slow, so making your filtering axes taxonomies speeds things up.

TipsHow to create custom taxonomies (register_taxonomy)Designing your filtering axes as taxonomies

Stop unnecessary output

remove_action('wp_head', 'wp_generator');            // the version string
remove_action('wp_head', 'wp_shortlink_wp_head');    // the short URL
remove_action('wp_head', 'rsd_link');                // a tag for an external integration you don't use

Individually these are small, but a lighter head makes loading easier to reason about. Stopping the emoji script (print_emoji_detection_script) is another common move.

7. Tidy the database (impact: low to medium / effort: low)

  • Revisions can pile up dozens deep per post
  • Empty spam comments and the trash

You can limit how many revisions are kept.

define('WP_POST_REVISIONS', 5);

Things not to do

  • Installing several caching plugins—they interfere and become a source of bugs
  • Minifying HTML and CSS first—the gain is small and the risk of breakage is larger
  • Chasing a score of 100—“does it open fast on a phone?” matters more than the number

Summary

  1. Scaling down and compressing images helps most. Never place an image larger than it’s displayed
  2. Delete unnecessary plugins, and check your PHP version and host
  3. Caching has big impact but side effects. Introduce exactly one, after the cleanup
  4. In code, per-page loading, count limits and stopping unnecessary output all help

Stick to “measure, then one change at a time” and you’ll reach a fast site without detours.

FAQ

What should I do first to speed up WordPress?
Look at your images. Just scaling them down to the size they're displayed at and compressing them before upload changes how fast the site feels. Next come removing unnecessary plugins and checking your host and PHP version.
Should I install a caching plugin?
It's effective once traffic grows. But misconfiguration has side effects—updates not showing, layouts breaking—so it's better to finish sorting out images and plugins first.
How do I judge whether something is "fast"?
Look at the score and metrics (LCP and so on) in a measurement tool like PageSpeed Insights. What matters is measuring under the same conditions before and after a change. Rather than chasing numbers alone, also check how it feels opening the site on a phone connection.
Will changing themes make it faster?
Feature-heavy themes and page builders load a lot of CSS and JS and tend to be slow. Switching to a simple theme has a big effect, but it means rebuilding your design—so try sorting out images and plugins first, then decide.