PerformanceIntermediate

How to diagnose a slow WordPress site

Find whether WordPress slowness comes from the server, images, scripts or interactions. Measure repeatable changes and separate lab from field data.

Documentation checked against WordPress 7.1

Begin with one slow public page and a repeatable measurement. Installing several optimization plugins at once makes it harder to identify which change helped or broke the page.

Record the baseline

Choose a homepage, a long post and an important conversion page. Record the page URL, device, network conditions, test tool and whether you are logged in. Run more than one lab test because network and server conditions vary.

Use PageSpeed Insights or browser developer tools to inspect loading. Lab data describes a controlled run. Field data describes real users over a reporting period and may be unavailable for a low-traffic page. A local score is not proof that all visitors receive the same result.

Core Web Vitals currently cover Largest Contentful Paint (LCP), Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS). They describe loading, interaction responsiveness and visual stability respectively.

Locate the slow phase

ObservationStart investigating
Long wait before the first HTML responseHosting limits, page-cache behavior, slow database work or external requests
Large images dominate transferImage dimensions, compression and responsive delivery
Content appears late after HTML arrivesImportant image discovery, blocking assets, font behavior or rendering work
Buttons respond slowlyJavaScript tasks, third-party scripts and expensive interaction handlers
Content jumps while loadingMissing reserved space, late fonts, injected banners or embeds

These are diagnostic starting points, not guaranteed causes. Inspect the request timeline or performance trace to narrow the problem.

Check caching with the host

Ask whether the host already provides page caching. A public cached page and a logged-in uncached page can behave very differently. Keep cart, checkout, account and personalized pages excluded according to the relevant application's documentation.

Object caching stores results used by WordPress and is separate from serving a complete cached page. Do not install competing page-cache plugins. Use the caching guide to choose the appropriate layer.

Reduce avoidable work

Inspect large image requests and follow the responsive-image guide. Review font families and weights. Remove third-party embeds that are not needed by the page.

On staging, disable a suspected plugin and repeat the same measurement. Count alone is weak evidence: one expensive plugin can matter more than several small ones. Check the feature's business purpose before removing it.

Delay or combine scripts only when measurement identifies a reason. These options can break menus, forms or consent controls. Verify those flows after each change.

Keep an improvement log

Record one change, its before/after measurements and the functional checks. Keep the change if repeated results and behavior support it; revert it if it causes a regression.

If uncached responses remain slow, give the host the affected URLs, times and resource symptoms. Ask about PHP workers, CPU, memory, storage and database latency. A different theme cannot fix every server bottleneck.

Sources & verification

Sources checked September 17, 2026. Documented behavior is distinct from hands-on testing.