Guides & knowledge base
Practical WordPress performance, explained without the jargon.
Delay JavaScript execution broke my site: how to find the script at fault
Delaying JavaScript breaks a site in five mechanical ways (a missing dependency, a page event that already fired, a first click swallowed, a chain stuck on one script, a visitor never counted), and each one leaves a signature you can read in the browser, so you can exclude one script instead of switching the whole option off.
How to fix layout shift (CLS) on Divi and Elementor
On page builders, most layout shift comes from six sources (images without dimensions, styles that arrive after the first paint, web fonts swapping, headers and banners added by scripts, sliders before they start, embeds), and each one is fixed by reserving the space before the content arrives.
My hero is a background image: why it slows LCP and how to fix it (Divi, Elementor)
A CSS background image is invisible to the browser until the stylesheet is downloaded and applied, it has no srcset, and builders often lazy load it with JavaScript, so the hero starts late; the best fix is a real image, and the next best is a preload per device and no lazy loading on that section.
The LCP image is not the same on mobile and desktop: how to preload the right one
When the largest image differs between phone and desktop, a single preload makes one of them download an image it will not show, or download the hero twice, and the fix is one preload per device, with the same srcset and sizes as the image, placed right after the viewport tag.
PageSpeed and Search Console disagree: how to read lab and field data
PageSpeed’s score is one simulated visit on a deliberately slow phone and network, while Search Console reports what your real visitors lived through over 28 days, so the two can disagree in both directions: a green lab with a poor field when your audience is slower than the test, and a mediocre lab with a green field when it is faster.
Remove unused CSS broke my layout: how to find the missing styles
A used-CSS pass keeps only the rules it saw in use on one snapshot of the page, so anything that was not on screen at that moment (an open state, the other device, content loaded later, an icon font, an entrance animation) loses its styles, and each of these gaps has a signature that tells you which rule to put back.
How to make Axeptio load faster (without breaking consent)
An Axeptio banner rarely arrives late because of Axeptio itself, it arrives late because its chain of requests (settings, SDK, project configuration, font) queues behind everything else the page loads, so the fixes are to lighten the competition, never delay the consent tool, load it early, drop the font you do not use, and customize it without fighting its markup.
How to speed up a WooCommerce store without breaking the cart
A WooCommerce store is two sites in one, a catalog that can be cached and optimized hard, and a transaction (cart, checkout, account) that must never be cached or trimmed, so a fast store starts by drawing that line, then fixes the cache, cart fragments, product images and scripts on each side of it.
Inline SVG: perfect for an icon, poison for an illustration
An SVG is not one single kind of image. A small icon inline is ideal, a heavy illustration inline bloats your page, and a raster photo hidden inside an SVG is the worst of all three. Here is how to tell them apart and pick the right format every time.
How to choose a theme, and spot the ones that ship one giant JavaScript file
Before your first line of content, your theme decides what a browser must download, parse and run. The single choice that weighs most is how it ships its JavaScript: one splittable set of small files, or one giant block that pins the whole page to its slowest part.
Why does my WooCommerce mini cart stop showing when I turn on Remove Unused CSS?
Your mini cart panel is hidden until someone hovers it, so a used-CSS pass removes its styles and a JavaScript delay stops it from opening. It comes back once you keep its styles in a safelist and let its scripts, cart fragments included, run.