Skip to main content

How to cache your WordPress site to handle high Broadcast traffic

Set up your WordPress site to serve cached pages to subscribers who visit them from your Broadcasts' links.

Improve your WordPress site's load times

When you send a Kit Broadcast containing links to your WordPress site to several hundred subscribers or more, many of them may click these links at roughly the same time.

This can cause a sudden surge of visitors to your WordPress site—and if your site can't handle the traffic, your visitors may experience slow page load times, page timeouts, or even your site going down entirely.

Installing a caching plugin can help your WordPress site handle traffic spikes smoothly. In this guide, we'll walk you through installing and configuring a WordPress caching plugin.

NOTE: You don't need to have installed the Kit WordPress plugin on your site to follow the steps below.

Also, the steps below are general recommendations. Every site is different, and the effectiveness of the caching plugin you install will depend on factors like your hosting provider, web server, database configuration, and whether you use a Content Delivery Network (CDN). For server-level caching optimization, contact your hosting provider's support.

1. Avoid unnecessary URL tracking parameters

Avoid having tracking parameters, like ck_subscriber_id, UTM tags, and hashed email addresses, in your Broadcast links if you don't need them.

If your Broadcasts' links contain tracking parameters, each subscriber will have a unique email link for visiting your WordPress site. Each unique link can bypass your site's cache (a temporary file storage location), causing your server to fetch a new copy of your page. This fetching process can take longer than if your server had served the subscriber a cached copy of the page instead.

Avoiding unnecessary URL parameters can help your server serve pages from your site's cache instead, improving page load times.

You may have previously set up your Kit account to add tracking parameters to all your email links (in Broadcasts and Sequences). If you don't need these tracking parameters, disable them by going to your Kit account settings > Advanced.

Then, in the Advanced Tracking section, disable these options:

  • Add subscriber_id parameter in email links

  • Automatically append UTM parameters to email links

  • Automatically append hashed subscriber email to email links

Click Save to save your changes.

If you need these URL parameters for tracking purposes, you can leave them enabled—but you'll need to ensure you configure your caching plugin to ignore them (see step 2 next).

2. Install and configure a WordPress caching plugin

A caching plugin saves a static copy of each page so your server doesn't have to rebuild the page from scratch for every visitor. This dramatically reduces server load during traffic spikes.

Look for a caching plugin that supports:

  • Page caching to disk: To store a pre-built copy of each page

  • Query parameter exclusions: To ignore tracking parameters added to URLs, so that your server will still serve cached pages to visitors whose URLs contain these parameters

  • Cache preloading or manual cache building: To generate cached versions of pages before your Broadcast goes out

Popular WordPress caching plugins include:

The configuration steps will vary between plugins. For illustration purposes, we'll show you how to configure the free WP Super Cache plugin—click the dropdown menu below.

If you're using a paid caching plugin, its support team can help you apply the equivalent configuration principles.

How to configure WP Super Cache

First, enable caching:

  1. From your WordPress admin dashboard, navigate to Settings > WP Super Cache

  2. Under the Caching section, enable the Caching On setting

  3. Click Update Status to save your changes

Next, configure the advanced caching settings:

  1. Click the WP Super Cache plugin settings' Advanced tab

  2. Configure the following settings like this:

    1. Caching: Enable Caching

    2. Cache Delivery Method: Simple

    3. Miscellaneous > Cache Restrictions: Disable caching for logged in visitors

    4. Miscellaneous: Enable the "Cache rebuild" setting

Click Update Status to save your changes

Finally, configure WP Super Cache to ignore Kit's URL parameters. This is so that subscribers receive the same cached page even if their email links have these parameters. Otherwise, your server would fetch new copies of your pages each time, which is slower than serving cached pages.

Here's how to configure WP Super Cache to ignore Kit's URL parameters:

  1. From the WP Super Cache plugin settings' Advanced tab, scroll down to the Tracking Parameters section

  2. Add ck_subscriber_id and sh_kit to the tracking parameters list. The list should already include UTM parameters by default, so you don't need to add them if they're already there.

  3. Confirm that the tracking parameters list includes at least the following parameters: fbclid, ref, gclid, fb_source, mc_cid, mc_eid, utm_source, utm_medium, utm_campaign, utm_term, utm_content, utm_expid, mtm_source, mtm_medium, mtm_campaign, mtm_keyword, mtm_content, mtm_cid, mtm_group, mtm_placement, ysclid, srsltid, yclid, ck_subscriber_id, sh_kit

  4. Add any other tracking parameters you want the plugin to ignore

  5. Enable the Enable checkbox. It is unchecked by default and easy to miss.

  6. Click Save to save your changes

3. Test your setup

After configuring your caching plugin, test that it’s working correctly by conducting a manual test and an optional load test. By doing these tests, you’ll know if you’ve set up your site to handle traffic spikes from Kit Broadcasts.

Manual testing

Manual testing helps you manually test caching as if only one user visited your pages. Here's how to manually test your caching:

  1. Open an incognito or private browsing window (so you're not logged in to your WordPress account)

  2. Go to a page on your WordPress site that your Broadcast will link to

  3. Reload the page. If it loads noticeably faster on the second visit, this means your site has correctly served you the cached version of the page.

  4. Check your caching plugin's cache directory or dashboard to verify that the plugin has created cached files for the page

  5. Repeat the steps above for each WordPress site page that your Broadcast will link to

Load testing (optional)

Load testing helps you simulate the kind of traffic surge that a Broadcast can create, so you can see how your server performs under pressure before subscribers visit your pages.

To do load testing, use a load testing tool like Loader.io, which lets you simulate up to 10,000 users visiting your site concurrently for free. Loader.io also has paid plans if you need higher testing limits, but simulating 10,000 visits is more than enough for most Broadcast scenarios.

NOTE: Check your hosting provider's terms of service before running a load test. Some shared hosting providers don't allow stress-testing because it can affect other sites on the same server. If in doubt, contact your hosting provider's support first.

Also, consider running tests during off-peak hours to minimize any impact on your site's existing visitors.

Click the dropdown menu below to learn how to use Loader.io:

How to conduct load testing with Loader.io

  1. Create a free account at loader.io

  2. Add your site as a target host and verify ownership (by placing a small verification file on your server or adding a DNS record)

  3. Create a new test:

    • Test type: Clients per test

    • Clients: Start with a number that reflects your subscriber count (e.g., 250–500)

    • Duration: 1 minute (this is the free plan's limit)

    • URL: The page your Broadcast will link to

  4. Run the test and review the results. Pay attention to average response time and error rate.

Other load testing tools worth considering are:

  • k6: Free, open-source, and developer-friendly (command-line based)

  • Apache JMeter: Free and powerful, but has a steeper learning curve

Pre-Broadcast sending checklist

Before sending a Broadcast, run through this checklist—especially if you'll be emailing a large audience:

  • You've installed, activated, and configured a WordPress caching plugin following the steps described above

  • You've added relevant URL parameters (e.g., ck_subscriber_id, sh_kit, and UTM parameters) to the caching plugin's exclusion/ignore list

  • You've enabled the caching plugin's exclusion/ignore list

  • You've visited each page on your WordPress site that your Broadcast links to in an incognito window, to ensure your server has built a cached version of the page

  • (Optional, but recommended) You've run a load test at least once to confirm your server can handle the expected traffic volume

Still experiencing issues?

If your site struggles with traffic even after you've configured caching, consider:

  • Upgrading your hosting plan: Shared hosting has resource limits that caching alone can't overcome. A Virtual Private Server (VPS) or managed WordPress host will give you more headroom.

  • Adding a Content Delivery Network (CDN): Services like Cloudflare, BunnyCDN, and your host's built-in CDN can distribute traffic across multiple servers worldwide, further reducing the load on your origin server.

  • Contacting your hosting provider's support: They can advise on server-level optimizations specific to your setup, like PHP worker limits, database tuning, and HTTP/2 configuration.

Did this answer your question?