WordPress Speed Optimization Tips

A detailed checklist for your WordPress website. Make your CMS legs, or at least new running shoes!

A slow website? You're not alone. And no, it's not just your perception: Speed is critical to user experience as well as SEO and conversion rate.

But the good news: Many optimizations are easier to implement than you think. In this article you will find not only a checklist, but also a little additional information and background information why These steps really make your site faster.

What you should measure – and why

If you simply tweak ‘into the blue’, you are tapping in the dark. As in metrology, therefore, follow the ‘measure-control rules’ approach. The most important metrics will help you identify bottlenecks:

  • TTFB (Time to First Byte): It's time for your server to start responding. If several seconds go by, the fastest frontend won't do you any good. Cause: slow hoster, missing caching or inefficient database queries.
  • LCP (Largest Contentful Paint): How quickly the main content (usually a hero image or headline) is visible. Users perceive this as ‘page is ready, can scroll’.
  • CLS (Cumulative Layout Shift): Whether elements later slip. Everyone knows it: You want to click, and suddenly the page jumps again, which is extremely annoying.
  • INP (Interaction to Next Paint): Response time for interactions (clicks, taps). Replaces FID and is crucial to make your page feel ‘fluid’.

Best practice:

  • Use PageSpeed Insights and pay attention to Field data (Real users) and Lab data (simulated tests). WebPageTest or lighthouse They're great too.
  • Test different page types: In addition to your homepage Ideally, sites like popular Blog posts or Product pages.
  • Mobile testing is a priority, because desktop is often no longer the majority of visitors (and also easier to optimize).

Using the example of WebPageTest, this could then look like an evaluation:

Page Performance Metrics using the example of WebPageTest

The Fast 80/20 Achievements

With these measures, you can achieve visible improvements in a few hours:

Updating PHP and WordPress

  • Newer PHP versions are Significantly faster (e.g. PHP 8.2 vs. 7.4: up to twice the speed).
  • OPcache stores frequently used scripts in memory → less server work.

Important: Always test first in staging, then switch live.

Set up the caching plugin correctly

  • Page cache: Instead of recalculating all data every time you call, WordPress delivers ready-made HTML pages → drastically shorter loading times.
  • Preloading: The cache is already prefilled, so that even the first visitor does not have to wait.

Best practice plugins:

  • WP Rocket: very user friendly.
  • LiteSpeed Cache: perfect for LiteSpeed servers, extremely powerful.

Important: Lightspeed or Nginx are generally more powerful than Apache.

JavaScript & Optimize CSS

  • Defer JS: Non-critical scripts are loaded later to make the main content more visible.
  • Delay JS: Loading third-party scripts (e.g. Facebook Pixel) only after interaction saves you seconds.
  • Critical CSS: Loading only the styles needed for the visible area results in faster rendering.

Attention: Activate step by step and test functionality after each change.

Upstream CDN (for larger, international sites)

One Content delivery network Cloudflare distributes your site to worldwide servers. Visitors get the data from the nearest location.

  • Effects: shorter loading distances, modern protocols (HTTP/3), automatic compression (bread).
  • Extra for WordPress: Cloudflare APO even delivers dynamic pages at lightning speed.

Important: As a forest,- and meadow blogger with a few hundred views not essential.

Optimize images

  • Adjust size: Don't load 5000px image if you only need 1600px → save MB.
  • Change format: WebP/AVIF are up to 80 % smaller than JPG/PNG.
  • Hero image as a special case: Not lazy load, but with fetchpriority="high" prioritize.
  • Specify Width/Height: Prevents layout jumps (CLS).

Plugin tips: ShortPixel, Imagify, Optimole.

Optimize fonts

Webfonts are often the largest ‘invisible’ brake pads:

  • System fonts are the fastest.
  • If branding font: Only 1–2 cuts (regular, bold).
  • Host fonts locally, reduce to woff2.
  • font display: swap Use it to make the text appear immediately.
  • Only include the required characters (subsetting).

Important: Anything that doesn't have to be loaded externally (Hello Google Fonts) doesn't bother you with GDPR/Cookie Consent either.

Plugins & Exclude Assets

  • Each plugin brings its own CSS/JS → often even where it is not needed at all.
  • With Perfmatters or Asset CleanUp You can disable scripts page by page.
  • Avoid all-in-one monsters like Slider Revolution if you just need a simple picture.

General rule of thumb: ‘Less plugins = fewer problems.’ Incidentally, also in the security context, of course, also results in fewer entry gates.

Trim third-party scripts

Analytics, chat, heatmaps or marketing tags add up.

  • Load only what you really use.
  • If possible: Start scripts delayed (e.g. only after scrolling or clicking).
  • For example, you can use Google Analytics with server-side tagging or Lightweight alternatives How to replace plausible.

Attention: Here, too, there are various pitfalls, less is definitely more in this case, not only in terms of performance.

Choose Theme & Builder consciously

  • Lightweight themes like GeneratePress or Astra are ideal → few KB, clean code.
  • Gutenberg instead of heavy page builder reduces DOM size.
  • If Builder is unavoidable: Use container layouts, disable unnecessary functions.

Best practice: Keep DOM small. Many nested elements are poisonous for performance.

Optimize server page

  • Good hoster: Use a provider with a modern stack (HTTP/3, TLS 1.3, Brotli).
  • Web server: LiteSpeed or Nginx are more powerful than Apache.
  • Object Caching (Redis/Memcached): Stores dynamic data in RAM → extremely important for WooCommerce & Memberships.
  • TTFB high despite cache? → Use Query Monitor to identify slow database queries.

WooCommerce sites

Shops are particularly sensitive:

  • Cache rules: Shopping cart, checkout & do not cache ‘My Account’.
  • AJAX fragments Only store where they are needed.
  • Product images: Highly compress thumbnails and badges.
  • Preloading: Automatically cache product & category pages after updates.

Optimize & Cron database

  • old revisions, transients and Autoload options Delete regularly.
  • Replace WP-Cron: With a lot of traffic, WP-Cron slows down because it runs when the page is called → better set up real server-Cron.

Useful WP-CLI commands:

wp transient delete --all → delete transients wp post delete $(wp post list --post_type='revision' --format=ids) --force → Delete revisions wp option list --autoload=on --fields=option_name,size → Check autoload options wp db optimize → Optimize database wp cron event list → Check cron jobs wp cache flush → Clear cache wp profile stage all (Addon) → Performance analysis

The WP-CLI is an extremely powerful tool to maintain and speed up WordPress from the inside out. Many things that otherwise require plugins or manual fumbling can be done directly with a few commands. I'll list you some of the Key WP-CLI commands for performance and explain what they are doing:

Clean & Transients Cache

Transients are small caches in the database (e.g. API responses, query results). If they are not cleaned up, they inflate the DB.

wp transient delete --all

Deletes all stored transients.
Effect: Less unnecessary DB queries, smaller database.

Some plugins allow old transients to "degenerate", so regular deletion is worthwhile.

Delete revisions of posts

WordPress saves every change as a revision by default → can make the DB unnecessarily large.

wp post delete $(wp post list --post_type='revision' --format=ids) --force

Deletes all saved revisions.
Effect: Database is becoming leaner, especially for blogs with many updates.

Tip: In the wp-config.php You can go with

define('WP_POST_REVISIONS', 5);

limit the maximum number of revisions per post.

Check and clean up autoloaded options

Many plugins create settings in the options table (wp_options) and set autoload = yes. This means that WordPress loads them every time a page is accessed – even if they are not needed at all.

wp option list --autoload=on --fields=option_name,size sort -k2 -n

Lists all autoload options sorted by size.
Effect: You can identify memory eaters that inflate your ‘autoload’.

Best practice: Critically check options > 1 MB and, if necessary, delete or autoload = no Set (for experienced admins only).

Optimize database

A classic MySQL OPTIMIZE TABLE can also be fired via WP-CLI:

wp db optimize

Optimizes the tables of the WordPress database.
Effect: Free space, faster access.

Check Cron Jobs &

WordPress uses WP-Cron, to perform tasks (e.g. updates, backups, newsletters). If it's overloaded, it blocks page views.

wp cron event list

Shows all planned Cron jobs.

wp cron event delete <hook>

Delete a specific job.

Best practice: Disable WP-Cron on high-traffic pages and replace it with a real server-Cron:

define('DISABLE_WP_CRON', true);

into the wp-config.php, then server side e.g.:

*/5 * * * * php /var/www/html/wp-cron.php >/dev/null 2>&1

Check/empty object cache

If you use Redis or Memcached as an object cache, you can empty it via CLI:

wp cache flush

Clears the entire cache.
Effect: Clean restart if old data gets stuck.

Plugin- & Theme-Check

Sometimes a plugin or theme slows down. With WP-CLI you can test:

wp plugin deactivate --all wp plugin activate <plugin-name>

Disable/activate plugins specifically to identify performance killers.

wp theme status

Checks active theme and possible corpses in folder.

Page statistics and WP-CLI addons

There are practical extensions such as wp profiles, which show you bottlenecks directly:

wp profile stage all

Measures the loading time of plugins, themes and core.
Effect: You can see which plugins are slowing down the most.

The beautiful thing: With these commands, you can Saving optimization plugins, They bring back the ballast themselves.

WP Rocket Basic Setup

Short version of the useful settings:

  • Cache for desktop/mobile, lifetime ≥ 10h.
  • Minify CSS/JS, do not combine.
  • Create critical CSS.
  • Enable JS defer & delay.
  • Lazy Load for images/iFrames, YouTube as thumbnail.
  • Fonts & Preload DNS.
  • Weekly DB clean-up.

Important: Test step by step, otherwise it will be difficult to debug in case of problems.

Prioritisation – what first?

  1. Measuring performance (baseline).
  2. Updates (PHP, WP, Plugins).
  3. Cache + preload.
  4. Optimize images.
  5. Activate CDN.
  6. Remove plugins/assets.
  7. Fix fonts.
  8. Trim third-party scripts.
  9. After a week, you can check your field data and adjust it.

Page Speed Insights are also great for such a recurring task and also provide detailed tips for further optimization:

Page Speed Insight as an alternative to evaluation

Typical causes of problems

  • Slowly despite the cache? → Large image or font slows down.
  • High CLS? → Images without dimensions, ads or sticky headers.
  • Bad INP? → Too much JS, tracking scripts, too deep DOM.
  • Slowly logged in? → Normal, enable Object Cache here.

Safety without loss of speed

  • Many security plugins work like firewalls → can slow down.
  • It would therefore be better to: Edge security (Cloudflare WAF e.g.).
  • Keep plugins up-to-date, remove outdated ones, schedule malware scans.

Monitoring & Alerts

  • Track Core Web Vitals with GA4, Cloudflare or web-vitals script.
  • Uptime & Set up performance monitoring → Instantly detect changes after theme/plugin updates.

Here is a copy-paste checklist

Do you have the latest PHP version + OPcache
Use the fastest host with HTTP/3 + CDN
If your caching plugin is set up, cache pre-filled
Are your images optimized (size, format, hero settings)
Load only the fonts minimally & locally, ideally preloaded
Once your CSS/JS is cleaned, it only loads page-specifically
Have/Can you reduce third-party scripts & delayed loading
If the Object Cache is active (Shops/Members)
Are your database & Cron optimized
Do you have the Shop/WooCommerce special rules active

And always keep an eye on your Core Web Vitals (Google Search Console) weekly

Conclusion: Stay with a realistic expectation

Perfect 100s scores are nice, but not necessary. (Hello Level92) ⁇

If your site is on a mid-range smartphone immediately ‘snappy’ If the Core Web Vitals are in the green area, you are in the right place.

Don't forget: Always focus on Real user experience Instead of just numbers.

Good luck in optimizing and remember:
Small steps, big effect!