Skip to content
Back to Blog
WordPress11 min read

Speed Up WordPress Checklist: 12 Steps Before Launch

A practical checklist to optimize WordPress performance before going live—covering caching, database cleanup, image compression, and server tuning.

Written by Abdul AbrorTechnical Hosting Support Engineer
Speed Up WordPress Checklist: 12 Steps Before Launch
On this page

You've built the site, loaded the content, tested the forms. Now you need to make it fast before real traffic arrives. A slow WordPress install kills conversions and search rankings before you've even started.

This checklist walks through twelve concrete steps I run on every WordPress deployment. Each one is verifiable—you'll know whether you've done it and whether it worked. No guesswork.

1. Pick a lightweight theme or audit your current one

Bloated themes ship with page builders, sliders, icon libraries, and animation frameworks you'll never use. Check your theme's footprint first.

Install the Query Monitor plugin and load your homepage. Look at the Scripts & Styles panel. If you see twenty stylesheets and thirty JavaScript files, your theme is doing too much. A clean theme should load fewer than ten assets total on a simple page.

Switch to a default WordPress theme (Twenty Twenty-Four or similar) and compare page load time. If the difference is dramatic, consider replacing your theme or hiring someone to strip out unused features. Theme bloat is the hardest problem to fix later.

2. Install and configure a caching plugin

Caching turns dynamic PHP pages into static HTML files. Your server delivers prebuilt HTML instead of running database queries and PHP code on every visit.

I use WP Rocket on most sites because the defaults work, but WP Super Cache and W3 Total Cache are solid free alternatives. Install one, enable page caching, and test.

Visit your homepage twice. The first load generates the cache. The second load should be noticeably faster. Check the HTML source—most caching plugins add an HTML comment at the bottom showing cache status and generation time.

Don't enable every experimental feature. Start with page caching only, verify it works, then layer on additional optimizations one at a time.

3. Enable object caching if your host supports it

Object caching stores database query results in memory so WordPress doesn't repeat the same queries. This matters most on high-traffic sites or complex pages with many widgets and plugins.

Check whether your host offers Redis or Memcached. Many managed WordPress hosts enable object caching automatically. If you're on a VPS, install Redis and the Redis Object Cache plugin.

Activate the plugin and click "Enable Object Cache." The plugin will create a wp-content/object-cache.php drop-in. Visit a few pages, then check the plugin dashboard—it should show a hit ratio above 90% after a few minutes of browsing.

If your host doesn't support object caching, skip this step. Don't try to run Redis on a shared hosting account.

4. Compress and resize images before uploading

Oversized images are the single biggest performance problem I see in support tickets. A 4MB photo from an iPhone destroys page speed even if you set HTML width and height attributes.

Resize images to their display dimensions before uploading. If your theme shows blog thumbnails at 800px wide, export images at 800px or 1600px for retina displays—not 4000px.

Use a tool like ImageOptim, Squoosh, or TinyPNG to compress files. Aim for JPEGs around 100-200 KB and PNGs under 500 KB for typical blog images. Convert photos to WebP if your hosting environment supports it.

Install a lazy-loading plugin or use WordPress's native lazy-load attribute (enabled by default since version 5.5). Images below the fold won't load until the user scrolls.

5. Offload images to a CDN or object storage

Storing media on the same server that runs WordPress adds disk I/O load and limits your ability to scale. Offload images to object storage like Amazon S3, Cloudflare R2, or DigitalOcean Spaces.

Install a plugin like WP Offload Media or Media Cloud. Connect it to your storage bucket. The plugin will automatically upload new media and rewrite URLs in your posts.

Test by uploading an image and checking the Media Library. The image URL should point to your CDN or storage domain, not your WordPress domain. Verify the image loads correctly on the front end.

Some managed WordPress hosts include built-in CDN integration. Check your hosting dashboard before installing third-party plugins.

6. Set up a full-page CDN

A CDN caches your entire site at edge locations worldwide. Visitors load pages from a nearby server instead of reaching across continents to your origin.

Cloudflare is the easiest option. Create a free account, add your domain, and update your nameservers. Cloudflare proxies traffic automatically and caches static assets by default.

After DNS propagates, enable Cloudflare's "Cache Level: Standard" under the Caching settings. Visit your site and check the response headers—look for cf-cache-status: HIT on subsequent visits.

For WordPress-specific caching rules, install the Cloudflare plugin and enable Automatic Platform Optimization. This caches HTML at the edge without additional configuration.

7. Clean up your database

WordPress stores post revisions, trashed comments, expired transients, and orphaned metadata. Over time this bloat slows down queries and increases backup sizes.

Install WP-Optimize or Advanced Database Cleaner. Run a database optimization that removes post revisions, spam comments, and transients. Schedule it to run weekly.

Before running any cleanup, take a database backup. Export a copy via phpMyAdmin or use your hosting control panel's backup tool. Accidents happen.

After cleanup, check your database size in phpMyAdmin. The wp_posts and wp_options tables should shrink noticeably. If the wp_options table is still huge, investigate which plugin is storing large serialized data there.

8. Limit post revisions and autosaves

WordPress saves unlimited post revisions by default. A long-form post edited dozens of times can generate hundreds of revision rows.

Add this line to wp-config.php above the "stop editing" comment:

define('WP_POST_REVISIONS', 5);

This keeps the five most recent revisions and discards older ones. Set it to false to disable revisions entirely if you're confident in your editing workflow.

Also consider increasing the autosave interval:

define('AUTOSAVE_INTERVAL', 300);

The default is 60 seconds. Setting it to 300 (five minutes) reduces write operations without losing meaningful work.

9. Audit and remove unused plugins

Every active plugin adds code that runs on every page load. Inactive plugins don't affect performance, but they clutter your dashboard and create security risks.

Deactivate any plugin you haven't used in the past month. Then delete it. If you're not sure what a plugin does, deactivate it and monitor your site for broken features. Most plugins are redundant or solving problems you no longer have.

Check for plugins that duplicate functionality. You don't need three SEO plugins, two security scanners, and four form builders. Pick the best tool for each job and remove the rest.

Some plugins are performance killers by design. Social sharing plugins that load external scripts, related post plugins that run complex queries, and anything that auto-embeds content from third-party APIs should be evaluated carefully.

10. Update PHP to a supported version

Older PHP versions are slower and less secure. PHP 8.1 and 8.2 offer significant performance improvements over 7.4 and earlier.

Log into your hosting control panel and check the current PHP version. If you're running 7.4 or older, test your site on a newer version first. Most hosts let you switch PHP versions per domain.

Change to PHP 8.1 or 8.2 in your control panel, then check your site for errors. Test the homepage, admin dashboard, contact forms, and checkout process if you're running WooCommerce.

If something breaks, check the error log in your hosting panel or via FTP at wp-content/debug.log. The error message will tell you which plugin or theme is incompatible. Update or replace that plugin, then try again.

11. Disable pingbacks and trackbacks

Pingbacks notify other sites when you link to them. WordPress validates each pingback by fetching the remote URL, which adds external HTTP requests to your page generation time.

Go to Settings > Discussion and uncheck "Allow link notifications from other blogs (pingbacks and trackbacks) on new articles." Then install the Disable Comments plugin if you want to kill all comment-related overhead.

Pingbacks were useful in 2006. Today they're mostly spam.

12. Run a final performance test and fix bottlenecks

Test your site with GTmetrix, Pingdom, or WebPageTest. Look at the waterfall chart and identify the slowest assets.

Common problems and fixes:

  • Render-blocking JavaScript: Use async or defer attributes on non-critical scripts. Most caching plugins can handle this automatically.
  • Large first contentful paint: Lazy-load images, inline critical CSS, or reduce hero image file sizes.
  • Long server response time: Enable caching, upgrade your hosting plan, or investigate slow database queries with Query Monitor.
  • Too many HTTP requests: Combine CSS and JS files via your caching plugin or remove unnecessary third-party scripts.

You're aiming for a load time under three seconds and a fully loaded page under five seconds. Fast sites get there with consistent effort, not one magic setting.

What about plugin conflicts?

Some caching plugins conflict with security plugins, form plugins, or membership systems. If your site breaks after enabling caching, add exclusions.

Most caching plugins let you exclude specific URLs or cookies. For example, exclude /checkout/ and /cart/ if you're running WooCommerce. Exclude wp-postpass and wordpress_logged_in cookies to prevent caching for logged-in users.

Test logged-out and logged-in views separately. Clear your cache between tests. Use an incognito window to see the real cached output.

FAQ

Do I need a CDN if my audience is local?
Yes. A CDN still reduces latency, absorbs traffic spikes, and offloads static assets from your origin server. Even single-region sites benefit.

Should I optimize my database before or after importing content?
After. Import your content first, let WordPress generate revisions and transients during setup, then clean up once before launch.

Can I use multiple caching plugins at once?
No. Running two page-caching plugins causes conflicts and often breaks the site entirely. Pick one and configure it properly.

What's the difference between page caching and object caching?
Page caching stores entire HTML pages. Object caching stores database query results in memory. Use both together for best performance.

How do I test cache without clearing it repeatedly?
Use curl -I https://yoursite.com to check cache headers without loading the browser. Look for X-Cache, X-WP-Total, or plugin-specific headers in the output.

Double-check these five things first

Before you push the launch button, verify these core items: your caching plugin is active and showing cache hits, images are compressed and lazy-loaded, your PHP version is current, you've cleaned up the database, and you're using a CDN for at least static assets. These five cover 80% of WordPress performance problems.

Everything else is incremental. Get the fundamentals right and your site will be faster than most WordPress installs on the web.