Opens in a new tab

A WordPress Speed Checklist: Fixes That Move Core Web Vitals

Most slow WordPress sites share the same handful of problems. Work through this checklist in order and measure after each change.

Speed is one of the few parts of a website that every visitor, every search engine, and every ad platform cares about at the same time. A slow site frustrates people, wastes ad spend, and can hold back rankings. The good news is that most WordPress sites are slow for a short list of reasons, and each has a known fix.

This checklist is ordered by impact. Work from the top, measure after each change, and stop when the numbers are good enough.

Know what you are measuring

Google’s Core Web Vitals are three measures of real-world experience:

  • Largest Contentful Paint (LCP): how quickly the main content appears. A good result is 2.5 seconds or less.
  • Interaction to Next Paint (INP): how quickly the page responds when someone clicks or taps. Good is 200 milliseconds or less.
  • Cumulative Layout Shift (CLS): how much the layout jumps around while loading. Good is 0.1 or less.

You can read the full definitions on web.dev. To test, run key pages through PageSpeed Insights, which shows both lab results and field data from real visitors where available. Test your homepage, a typical inner page, and your most important landing page, on mobile first.

Speed gauges and a bar chart on an indigo gradient
Measure first, so you know which fix will matter most.

Fix what slows the most visitors on the most important pages. A perfect score on a page nobody visits is not progress.

1. Start with hosting and caching

No amount of tuning will rescue a slow server. Choose hosting suited to WordPress, with a recent PHP version, enough memory, and server-level caching. Then enable page caching, so that visitors receive a ready-made page instead of waiting for WordPress to build it. A content delivery network (CDN) can further cut delivery times for visitors far from your server.

2. Optimize images

Images are usually the heaviest part of a page.

Choose the right format and size

Use modern formats such as WebP or AVIF where supported, and never upload a 4000-pixel photograph for a 600-pixel space. Resize before uploading, and let WordPress serve responsive sizes.

Lazy-load wisely

How to spot the main image

On most pages the largest image or heading block at the top is the element LCP measures. PageSpeed Insights names it in its diagnostics, so check which element it is before deciding what to prioritize.

Lazy-loading delays offscreen images, which saves bandwidth. But do not lazy-load the main image at the top of the page, because that delays the very thing LCP measures. Give that image a high priority instead.

Reserve space

Always set width and height, or an aspect ratio, so the browser holds the right space and nothing jumps when the image arrives. This is the simplest fix for layout shift.

3. Trim plugins, scripts, and styles

Every plugin can add files that load on every page. Audit your plugins, remove those you do not use, and replace several small ones with one well-built tool where sensible. Load scripts only on pages that need them, so a contact-form script is not loaded on every blog post. Avoid heavy sliders, autoplay carousels, and decorative animation libraries on key pages.

4. Handle fonts carefully

Host fonts locally, limit weights and styles to those you use, and use font-display: swap so text appears at once. Preload the main font file if it is used above the fold. A tidy type system, as described in fonts and colors that build trust, also happens to be faster.

5. Tame third-party scripts

Chat widgets, tag managers, social embeds, and tracking pixels are common reasons for poor INP. List every third-party script on your site and ask what each one earns. Remove those that do not pay for themselves, delay the rest until after the page has loaded or until a visitor interacts, and replace embeds such as video players with a lightweight preview image that loads the player on click.

6. Keep the database and background tasks healthy

Over time, WordPress accumulates post revisions, expired data, and orphaned entries. Limit stored revisions, clean expired transients, and schedule database optimization. Check that scheduled tasks are not running too frequently, which can slow the server for everyone.

A stack of optimized image cards with a lightning accent on an indigo gradient
Smaller assets and fewer scripts make the biggest difference.

Quick diagnosis table

SymptomLikely causeFirst fix
Slow first load, fast afterwardsNo page cachingEnable server or plugin caching
Big hero image appears lateOversized or lazy-loaded imageResize, compress, prioritize
Layout jumps while loadingMissing image sizes, late fonts or adsSet dimensions, preload fonts
Page feels sticky when tappingHeavy scripts, third-party toolsRemove or delay scripts
Fast on desktop, slow on phoneLarge assets, heavy layoutTest on a mid-range phone, trim assets

What not to chase

A perfect score is not the goal. Chasing a hundred on a synthetic test can lead you to remove features that visitors value, or to spend days on changes that no real person would notice. Aim for good results in the real-world field data, on the pages that matter, and spend the rest of your time on the content and offer that turn visitors into customers.

A worked example

A local services company noticed that its homepage felt slow on phones. Testing showed a large hero image, a chat widget that loaded immediately, and three separate font files. The team made four changes in one afternoon: they resized and compressed the hero image and gave it high priority, delayed the chat widget until a visitor scrolled or tapped, reduced the fonts to a single family with two weights, and set explicit dimensions on every image.

None of these needed a redesign, and none changed how the site looked. Measuring before and after showed a clear improvement in how quickly the main content appeared and how steady the layout felt. The lesson is that speed gains often come from a handful of ordinary fixes, found by measuring first and changing one thing at a time. Your own results will depend on your hosting, your content, and your audience, which is exactly why the measuring step comes first.

A short routine to keep it fast

  1. Test your three key pages monthly.
  2. Test again after every plugin addition or theme change.
  3. Review third-party scripts each quarter.
  4. Check the Core Web Vitals report in Search Console for pages flagged as needing improvement.

If you are rebuilding or redesigning, bake these checks into your launch list, as described in our guide to keeping search traffic through a redesign. And if the page you are speeding up is an ad landing page, the layout advice in landing page anatomy pairs well with the technical fixes above. Speed work is never finished, but a steady routine keeps it from becoming a crisis.