WpW: Testing for Compatibility with LSCache

April 4th, 2018 by LSCache 2 Comments

 

WordPress Wednesday: Is My Plugin Compatible With LiteSpeed Cache for WordPress?

Welcome to another installment of WordPress Wednesday!
Today’s topic is: Is My Plugin Compatible With LiteSpeed Cache for WordPress?

Disclaimer: The information contained in this post is accurate for LSCWP v2.2.0.1 [release log]. If you are using a newer version of the plugin, some details may have changed. Please refer to our wiki for the latest!

If you are wondering if a particular plugin is compatible with LiteSpeed Cache for WordPress, this guide can help you figure it out. We’ve tried to make these instructions as easy to understand as possible. You don’t need to be a developer in order to test for compatibility between two plugins. (Although, if you are a developer, you might find our article about the LSCache API to be more your speed.)

NOTE: While you could perform these tests on a production site, we recommend using a test WordPress installation if you have one. This allows you to really take your time, and follow the steps carefully. Testing compatibility is not hard, per se, but it can be time-consuming. If you have to effectively take your production environment offline for the duration of the test, that can add pressure you don’t need!

Before You Begin

You may not have to do a test at all!

  1. Check our compatibility list. If the plugin appears there, then we’ve already tested it and we know it works.
  2. Check with the plugin author. They may already have tested for LSCWP compatibility.

If you didn’t find any answers with the previous two ideas, not to worry. The vast majority of plugins is compatible with LiteSpeed Cache for WordPress.Here are a few rules-of-thumb. The plugin you want to test is probably compatible if:

  1. it doesn’t generate site content
  2. it doesn’t manipulate existing front-end content

If the plugin generates or manipulates site content, it still may be compatible if:

  1. it generates or manipulates content that triggers the same purge events that are monitored by LSCWP
  2. it generates or manipulates content that follows the same caching rules that are followed by LSCWP

If you’re still not sure, you’ll need to test for compatibility.

Testing for Compatibility

Since it’s cumbersome to keep saying “the plugin you want to test,” let’s call it “MyPlugin” for this example.

 

Is My Plugin Compatible With LiteSpeed Cache for WordPress?

In order to test for compatibility, we’ll first deactivate all plugins with the exception of LiteSpeed Cache. Then we’ll verify the LiteSpeed Cache is working. Once we’ve determined that it is, we’ll activate MyPlugin, and run through some basic scenarios, checking that the site looks and works as expected all along the way.

NOTE: If you suspect that your theme may be conflicting with LiteSpeed Cache, it’s best to temporarily switch to a different theme for testing purposes. Try the WordPress Twenty Seventeen theme, which we know to be 100% compatible: Navigate to Appearance > Themes, hover over the Twenty Seventeen card, and press the Activate button.

Deactivate

Deactivate all plugins except for LSCache. Here’s how:

Is My Plugin Compatible With LiteSpeed Cache for WordPress? Deactivate all plugins except LSCache

From the WordPress Dashboard, navigate to Plugins, and click the checkbox next to the Plugins column as shown. All of the plugins will be checked. Un-check the box next to LiteSpeed Cache. Select Deactivate from the dropdown Bulk Actions box, and click the Apply button. All plugins, aside from LSCache will be disabled.

Verify

In whichever environment you are using (test or production), before activating MyPlugin, you should verify that LSCache for WordPress is working as desired. Here’s how:

Is My Plugin Compatible With LiteSpeed Cache for WordPress? Verify LSCache is working

  1. Open an incognito window in your browser, and press F12 to bring up the developer tools.
  2. Navigate to your site.
  3. Refresh the page.
  4. Click the first resource under the Name column in the developer tool window. This should be an HTML file and the resource’s headers should appear alongside it, as in the image above. For example, if your page is http://example.com/wordpress/, your first resource should either be something like example.com/wordpress/ or wordpress/.
  5. In a different, logged-in browser, visit your WordPress Dashboard, navigate to LiteSpeed Cache > Manage and click the Purge All button.
  6. Reload the page in the first (incognito) browser and select the same resource again. You should see headings similar to:
    X-LiteSpeed-Cache: miss
    X-LiteSpeed-Cache-Control:public,max-age=1800
    X-LiteSpeed-Tag:B1_F,B1_
    

    These headings mean that the page has not yet been cached, but that LiteSpeed has now stored it for future use.

  7. Reload the page a second time in the incognito window, and you should see X-LiteSpeed-Cache: hit in the response header. This means the page is being served by the cache and LSCWP is configured correctly.

Now that you know that LSCWP works for you on its own, it’s time to try it with MyPlugin.

Activate

Activate MyPlugin: Navigate to Plugins, locate MyPlugin in the list, and click the Activate link below the plugin name.

Purge

Purge the cache: Navigate to LiteSpeed Cache > Manage > Purge and press the Purge All button.

TEST!

This step varies, depending on how you use MyPlugin, and what it needs to be able to do. Run through your most common scenarios, and after each step, verify that MyPlugin is working as expected.

If MyPlugin deals with any private information, run the through the steps twice: once logged-in, and once in incognito mode. When you visit the site incognito, be sure that you are not seeing any private information from your previous logged-in session.

Questions to Ask Yourself:

  • Do the pages look like they should look?
  • Are cacheable pages being cached?
  • Are non-cacheable pages not being cached?
  • If there’s supposed to be private data on the page, are you seeing the correct private data?

Some Examples

  • If MyPlugin is a forum plugin, run through the steps of creating an account, updating your profile, publishing a post, and submitting a comment. Check the cache and the display of private information at every step.
  • If MyPlugin is a social sharing plugin that counts shares, use it to share a post or a page to social media and then verify that the share count has increased.
  • If MyPlugin is a contact form plugin, use it to send yourself some feedback. Visit the form page again in an incognito window, and verify that you are not seeing any of your previous logged-in information.

Document + Report

If you encounter an issue that indicates the plugins are not working well together, document it. Take a screenshot, or copy the text of any error messages you may get. Visit the LiteSpeed Cache for WordPress support forum and share as many details as possible, including the above screenshots.

Is My Plugin Compatible With LiteSpeed Cache for WordPress? Submit an environment report

It’s always helpful to include a copy of your Environment Report so that the support team can see your system settings. To do so, navigate to LiteSpeed Cache > Report and click the Send to LiteSpeed button. Then make note of the Report Number and include it with your forum post.

Reactivate

Once you are satisfied that everything works well, or you have documented and reported anything that doesn’t, you may re-activate all of the plugins, and restore your preferred theme.

Testing Themes

Sometimes the plugins all get along well, but there is something unexpected happening in the theme.

To test theme compatibility, follow the same steps as above, with the following differences:

  • LiteSpeed Cache should be the only active plugin
  • The theme you want to test should be activated

Have some of your own ideas for future WordPress Wednesday topics? Leave us a comment!

Don’t forget to meet us back here next week for the next installment. In the meantime, here are a few other things you can do:


Categories:LSCache

Related Posts


Comments