Tips

Good habits for a lightweight WordPress site

The tools measure. These tips help you decide. They are also displayed in the WP Footprint plugin while your scans run.

1
Plugins

Less is more

Every active plugin adds code that runs on every page. Aim for the smallest set that does the job. If a feature is used once a month, a plugin is probably not the right answer.

2
Plugins

Quality over quantity

A well-coded plugin from a trusted author is worth ten lightweight-but-sloppy ones. Check ratings, last-update date, active install count, and how responsive support is.

3
Plugins

Deactivate, then delete

A deactivated plugin still lives on the server: files are there, database options too. If you no longer use it, fully delete it — less dead code, smaller attack surface.

4
Plugins

Avoid duplicates

Two SEO plugins, two cache plugins, two security plugins — pick one. Overlapping features waste memory and create silent conflicts.

5
Plugins

Take stock every three months

List your active plugins, spot the ones you haven't opened in 90 days. Many were installed for a test and forgotten. This simple cleanup usually shaves 5–10% of unnecessary weight.

6
Theme

Keep the theme light

A heavy multi-purpose theme often outweighs ten plugins. A simple, modern theme will do most of the work for you — better speed, better peace of mind.

7
Theme

Be wary of page builders

Elementor, Divi, WPBakery often add 200–500 KB of CSS and JS on every page, even ones you didn't build with them. If your theme supports native blocks, that path is almost always faster.

8
Theme

Reach for Gutenberg blocks first

The native block editor now does 90% of what a page builder does, without the overhead. Use patterns and reusable blocks before installing a layout plugin.

9
Cache

Use a cache

Page caching is by far the biggest win for your visitors. Most hosts offer one by default — turn it on. And do not stack several at once.

10
Cache

Turn on object cache (Redis or Memcached)

On a dynamic site — WooCommerce, members area, multilingual — object cache cuts SQL queries by an order of magnitude. If your host offers it, enable it. If not, ask for it.

11
Cache

Serve assets through a CDN

Cloudflare, BunnyCDN, or Fastly serve your images, CSS, and JS from a point close to each visitor. It's the only effective way to speed up a site for an international audience, and Cloudflare's free tier is already enough.

12
Maintenance

Measure before optimizing

Optimizing blind is the best way to break something or invest where it doesn't matter. Run a scan, find the culprit, then act. Re-measure after.

13
Maintenance

Update regularly

Recent versions are often faster and safer. A plugin abandoned two years ago is rarely the right pick. Enable automatic minor updates without hesitation.

14
Maintenance

Optimize your images

On most sites, images represent the overwhelming majority of total weight. Modern format (WebP, AVIF), proper dimensions, lazy loading: three levers, huge impact.

15
Maintenance

Prune orphan transients

Plugins store temporary results in wp_options without always cleaning them up. Over time that table can grow to several MB and slow every page load. A cleanup every six months (WP-CLI or a dedicated plugin) is plenty.

16
Database

Limit post revisions

By default WordPress keeps every revision — it's common to find 50 versions of a single page. Add `define('WP_POST_REVISIONS', 5);` to wp-config.php to keep only the last five.

17
Database

Empty spam and trash

Spam and trashed comments stay in the database until you empty them. On a site that's been open for a few years, that can mean tens of thousands of rows. Empty it all: Comments → Spam → Empty.

18
Database

Optimize your MySQL tables

Tables get fragmented over time as data is written and deleted. An `OPTIMIZE TABLE` run (via phpMyAdmin, WP-CLI, or a plugin) defragments, frees space, and speeds up reads. Once per quarter is plenty.

19
Security

Disable XML-RPC if you don't use it

XML-RPC is an old protocol, mostly used by Jetpack and the WordPress mobile app. Unused, it becomes a prime target for brute-force attacks that eat CPU. Turn it off via a filter or your security plugin.

20
Security

Limit login attempts

With no limit, /wp-login.php is hammered around the clock by bots. A plugin like Limit Login Attempts, or the built-in feature of your security plugin, locks the IP after a few failures and frees your server.

21
Security

Stay on a recent PHP version

PHP 8.2 or 8.3 is notably faster than 7.4 — often a 30–50% gain on response time at zero cost. Check your version under Tools → Site Health and ask your host to upgrade if needed.

22
Frontend

Defer non-critical JavaScript

A script loaded without `defer` or `async` blocks page rendering. For anything that isn't part of the first paint (analytics, chat, video), defer it: big LCP gain and better perceived speed.

23
Frontend

Limit your web fonts

Each family and each weight costs a request and several hundred KB. A single family with two weights (regular + bold) is enough for most sites. Self-host the files instead of pulling from Google.

24
Frontend

Lazy-load iframes (YouTube, Maps)

A YouTube embed loads about 1 MB of JavaScript before the visitor even clicks. Add `loading="lazy"` to iframes, or use a lightweight facade that loads the video only on click — huge win on pages with embeds.

25
Frontend

Disable the emoji script

WordPress loads wp-emoji-release.min.js on every page to render old emoji on browsers that no longer exist. Almost every site can drop it with no visible loss — one filter in functions.php is enough.

26
Hosting

Pick a serious host

No cache plugin will save a bottom-tier host. A good WordPress host (optimized shared or managed) rarely costs more than a bad one — and changes everything.

27
Hosting

Host close to your audience

Physical latency between server and visitor matters. Mostly European audience? Datacenter in Europe. A Singapore server for Parisian visitors burns 200 ms on every request.

Measure your own site

The WP Footprint plugin applies these principles: it measures, it scores, it suggests fixes.

Install WP Footprint