Tag: prestashop

  • 2025 So Far

    2025 So Far

    2025 so far
    We are more than halfway through 2025, and we wanted to take this opportunity to tell you what we’ve been doing this year, in case you’ve missed anything. We’ve released updates to three cache plugins, three control panel plugins, and all three server products!

    Cache Plugins

    First, let’s take a look at what’s new with our LiteSpeed Cache plugins for WordPress, PrestaShop, and Magento.

    WordPress

    We released three LSCWP updates in the last six months. In addition to dozens of minor changes and bug fixes, these new features were among the updates:

    • AVIF support in v7.0
    • Allowlist support for Critical CSS in v7.1
    • Cloudflare cache clear on Purge All in v7.2

    This is just the tip of the iceberg, though. There’s a lot more. See the full release log.

    PrestaShop

    For v1.5.2 of LSCPS, we made a few minor updates: we fixed some bugs, we added parameter support to ESI block widgets, and we improved compatibility with Smarty and Symphony caches.

    See the release log.

    Magento

    LiteMage v2.2.5 had just a minor release, which included a bug fix, and an update which removed the jQuery dependency for custom varies.

    See the release log.

    Servers

    Our server products were updated this year to use a new version of LSQUIC. (A hash flood vulnerability was addressed in our LSQUIC HTTP/3 Library in February with the v4.2.0 release.)

    LiteSpeed Web Server

    We released LSWS v6.3.2 and v6.3.3, which included new features, security updates, and a number of bug fixes. See the full release log here.

    New features include:

    • Improvements to HTTP/2’s ability to block aggressive robots when under attack
    • Improved support for LiteSpeed Containers and Redis in control panels
    • The ability to selectively disable anti-DDoS detection

    The security updates addressed the LSQUIC vulnerability, and an issue with stderr.log permissions.

    OpenLiteSpeed

    OLS v1.8.3 updated LSQUIC and added support for “expect: 100 continue” handling.

    See the release log.

    Web ADC

    Our LSADC v3.3.0 release improved both HTTP/2 and HTTP/3 with stronger anti-DDoS capabilities, and stream priority adjustments.

    See the release log.

    Control Panel Plugins

    Our control panel plugins for cPanel/WHM, Plesk, and DirectAdmin all got a brand new Flag All button for the Cache Management feature.

    Additionally, in cPanel and WHM we addressed a minor security issue, and added some improvements related to the Cache Redis for Users feature.

    We released the following plugin updates:

    • cPanel v2.4.1-v2.4.3 and WHM v5.1.2-v5.2.3
    • Plesk v2.1.3-v2.2.0
    • DirectAdmin v2.4

    See the release logs.

    Stay Tuned

    We’ve got a lot more in store for the rest of 2025. Thanks for coming along for the ride!

  • Crawling Your PrestaShop or Magento 2 Store

    Crawling Your PrestaShop or Magento 2 Store

    Cache Crawler for PrestaShop and Magento 2

    We recently released two new crawler scripts: one for Magento 2 stores using LiteMage, and another for PrestaShop stores using LSCache.

    The LSCache/LiteMage crawler, travels its way through your sitemap file, refreshing pages that have expired in the cache. The purpose is to keep the cache as fresh as possible while minimizing visitor exposure to uncached content.

    Why Crawl Your Store?

    Well, first let’s look at how cache plugins store pages without a crawler. A user request kicks off the whole process. The cache is empty until users start sending requests. The first time a visitor requests a page, the request hits the backend. PHP code is invoked to generate the page, the page is served to the user, and then the page is stored in cache for next time.

    That’s a fairly time-consuming process for the server.

    Now, let’s look at what happens when a crawler builds the cache. When the crawler requests a page, the request hits the backend. PHP code is invoked to generate the page, but because of the special header that lets LSWS know that this is a crawler that initiated the request, the full page doesn’t need to be served. It is simply stored in cache.

    Additionally, with the crawler refreshing expired pages at regular intervals, the chances that a user will encounter an uncached page is significantly diminished. This makes for a faster site.

    So, now that you’re sold on the idea, let’s look at how it’s done.

    Please Note: The concepts behind the PrestaShop cache crawler script and the Magento 2 cache crawler script are the same, and so the instructions are very similar. Where they differ, we’ll put PrestaShop on the left, and Magento 2 on the right.

    Before You Begin

    There are a few things you need to do before you can begin to use the new script.

    • You must be using LiteSpeed Cache for PrestaShop or LiteMage 2 for Magento 2. Follow those links to install and enable the relevant extension.
    • The crawler must be enabled at the server level, or you will see the warning message Server crawler engine not enabled. Please check.... If you are using a shared hosting server, please contact your hosting provider, or see our instructions.
    • Prepare your site’s XML sitemap using the tool of your choice.

    Generate a Sitemap

    If you haven’t yet generated your sitemap, you can use an online sitemap generator such as XML-Sitemaps.com.

    After the crawl is finished, click DOWNLOAD YOUR XML SITEMAP FILE and put it where the crawler script can access it.

    If you’d prefer to do it from within your site, both PrestaShop and Magento 2 have modules that can generate XML sitemaps.

    PrestaShop Magento 2
    The Google Sitemap module is quite popular for Prestashop, and it’s fast.

    For PrestaShop v1.6, the Google Sitemap Module is installed by default.

    For v1.7+, it needs to be installed from source:

    • Download and rename file to gsitemap.zip
    • Navigate to Modules and Services
    • Click Upload a Module and drag the file to into the box to install

    Configure the sitemap as desired and press Generate Sitemap. You can find the URL of your new sitemap displayed in the Your Sitemaps section.

    Magento 2 has a builtin module for generating a sitemap and it’s fast.

    • Navigate to Magento Admin > Stores > Settings > Configuration > Catalog > XML Sitemap
    • Set Generation Settings > Enabled to Yes
    • Navigate to Magento Admin > Marketing > Seo & Search > Sitemap
    • Click the Add Sitemap button.
    • Set Filename = sitemap.xml and Path = /
    • Click the Save & Generate button

    A sitemap.xml file will be generated in your Magento 2 document root.

    Using the Cache Crawler Script

    Download the crawler script from the appropriate link below, and then change the permissions so that the file is executable, like so:

    PrestaShop Magento 2
    Download, then chmod +x cachecrawler.sh

    Usage: bash cachecrawler.sh https://www.example.com/sitemap.xml

    Download, then chmod +x M2-crawler.sh

    Usage: bash M2-crawler.sh https://www.example.com/sitemap.xml

    The crawler scripts take some parameters:

    • -h to display help
    • -m for when Desktop & Mobile have different themes
    • -i NUM to change the default interval from 0.1s to NUM.

    Changing the Crawl Interval

    How often do you want to re-initiate the crawling process? This depends on how long it takes to crawl your site and your Public Cache TTL. The default TTL is one day (24 hours). Let’s say you want to run the script by cron job every 12 hours.

    Add the following to your crontab to run twice a day, once at 3:30am and once at 3:30pm:

    PrestaShop Magento 2
    30 3/15 * * * path_to_script/cachecrawler.sh https://www.example.com/sitemap.xml -m -i 0.2 30 3/15 * * * path_to_script/M2-crawler.sh https://www.example.com/sitemap.xml -m -i 0.2

    You can use an online crontab tool to help you to verify time settings.

    Verifying the Crawler is Working

    When using the browser developer tool, load a page where the TTL has expired. On the first view after the crawler runs, you should see:

    PrestaShop Magento 2
    X-LiteSpeed-Cache: hit X-LiteSpeed-Cache: hit,litemage

    The cache hit indicates that the crawler cached the page for you. If the crawler were not running, you’d have gotten a cache miss.

    Any questions about our new crawler scripts? Let us know in the comments!

  • Cache all of the Things with LiteSpeed

    Cache all of the Things with LiteSpeed

    Cache all of the Things: A LiteSpeed Cache Roundup
    You may be a fan of our LiteMage cache extension for Magento, or super enthusiastic about our WordPress cache plugin, but did you know that there is more to our cache story? Indeed. Chances are there is a LiteSpeed Cache plugin for your other favorite web apps, too.

    LSCache plugins, in general

    LSCache is a server-based caching module that is built directly into LiteSpeed Web Server. It saves static versions of dynamically-generated HTML pages in order to speed up subsequent access to those pages. In the beginning, LSCache was set up entirely through rewrite rules and configuration files. It required users to know a little something about their server backend, or to contact their hosting provider to set up caching for them. But more importantly, rewrite-rule caching is inflexible. As such, site owners had no ability to purge on demand, which meant they could only cache for a few minutes at a time, if they wanted to avoid serving stale content.

    Enter LiteSpeed Cache Plugins.

    LiteSpeed Cache plugins take the server-based LSCache functionality and give it a familiar interface, whether that be the WordPress Dashboard or the XenForo Admin Control Panel. Additionally, an LSCache plugin lets you define rules for managing your app’s cache, and then automatically updates the configuration files and rewrite rules on your behalf.

    By putting the LSCache controls into the web apps that site owners use every day, LSCache has become far more accessible and flexible. Site owners may now cache pages for far longer than a few minutes, and they may manage their caches with greater precision.

    As of this writing, LSCache is available in seven flavors! You are probably aware of one or two of these plugins. You may even be a power user. But why stop there? If you’re running all of your web apps on a LiteSpeed server, then you should take advantage of as many of these plugins as you can!

    LSCache plugins, specifically

    Cache all of the Things: A LiteSpeed Cache Roundup
    Every LSCache plugin is a conduit to the cache module of a LiteSpeed server, whether that be LiteSpeed Enterprise, LiteSpeed Web ADC, or OpenLiteSpeed. The server’s module does all of the work, while the plugin provides a simple way for a site owner to tell the server what to do. Because of this, most of our cache plugins have the same abilities. When there are differences, they are usually down to the abilities of the web app itself, or complexities involved in implementing a particular feature for that web app.

    Speaking of the abilities of the web app, LSCache plugins are unique among cache solutions because they have a connection to both the server, and to the app. A plugin can use that relationship to provide features that other cache solutions (or simple rewrite rules) can’t duplicate. We alluded to a prime example of this earlier: tag-based purge.

    Tag-based purge is a cache management tool that takes purge cues from events that occur within the app. For example, when a new post is created in WordPress, LSCache for WordPress tells the server’s LSCache module to purge every page that would be affected by a new post (i.e. the relevant category and tag pages, the home page, etc.).

    All LSCache plugins are free and open source. To learn more about the specific features supported by each, click the name of the plugin.

    Magento

    All content can be assembled from cache, even per-user, private blocks. Multi-store, multi-currency, and multi-user-groups are supported. There are two different versions of LiteMage available: one for Magento 1.x and another for Magento 2.x.

    WordPress

    • Name: LSCache Plugin for WordPress
    • Download: from LiteSpeed
    • Works With: WordPress.org
    • Required Server: LSWS Enterprise, OpenLiteSpeed, or LiteSpeed Web ADC
    • Cache logged-in users? Yes
    • ESI supported? Yes, except on OpenLiteSpeed
    • Cache Crawler supported? Yes

    In addition to the cache functions, our WordPress plugin also includes several optimization features, which makes it a nice all-in-one option for WordPress acceleration. Compatible with WooCommerce.

    XenForo

    • Name: LSCache Add-on for XenForo
    • Download: from XenForo v1.x or v2.x
    • Works With: XenForo 1.x or XenForo 2.x
    • Required Server: LSWS Enterprise, OpenLiteSpeed, or LiteSpeed Web ADC
    • Cache logged-in users? No
    • ESI supported? No
    • Cache Crawler supported? No

    This is a simple XenForo add-on that speeds up your public forum pages for non-logged-in users. There are two different versions of LSCache for XenForo available: one for XenForo 1.x and another for XenForo 2.x.

    Please note that as of this writing, the XenForo 2 add-on only supports rewrite-rule-based caching. Tag-based caching is forthcoming.

    PrestaShop

    • Name: LSCache Module for PrestaShop
    • Download: from LiteSpeed
    • Works With: PrestaShop 1.6 & 1.7
    • Required Server: LSWS Enterprise, or LiteSpeed Web ADC
    • Cache logged-in users? Yes
    • ESI supported? Yes
    • Cache Crawler supported? No

    The PrestaShop module is one of our newer cache plugins. Introduced last year, it is highly-customizable on a global or per-store level. Tag-based smart purge keeps the cache from becoming stale when product details change.

    MediaWiki

    • Name: LSCache Extension for MediaWiki
    • Download: from GitHub
    • Works With: MediaWiki 1.25+
    • Required Server: LSWS Enterprise, OpenLiteSpeed, or LiteSpeed Web ADC
    • Cache logged-in users? Yes
    • ESI supported? No
    • Cache Crawler supported? No

    This one is a straightforward little plugin that speeds up your MediaWiki site for both logged-in and non-logged-in users.

    Drupal

    • Name: LSCache Module for Drupal
    • Download: from GitHub
    • Works With: Drupal 8.x
    • Required Server: LSWS Enterprise, OpenLiteSpeed, or LiteSpeed Web ADC
    • Cache logged-in users? Yes
    • ESI supported? No
    • Cache Crawler supported? No

    This one is hot off the presses! It’s comparable to most of the others, in that it supports public cache, private cache, and ESI, and it features tag-based cache purge.

    Joomla

    • Name: LSCache Module for Joomla
    • Download: from GitHub
    • Works With: Joomla 3.x
    • Required Server: LSWS Enterprise, OpenLiteSpeed, or LiteSpeed Web ADC
    • Cache logged-in users? Yes
    • ESI supported? Yes, except on OpenLiteSpeed
    • Cache Crawler supported? No

    The Joomla plugin is another brand new release, and contains many of the LiteSpeed Cache features you already know and love.

    Go forth and cache!

    Hopefully you have found something new to try among our cache plugins! If you have a favorite web app that is not represented here, leave a comment. You never know… it might end up being next on our list.

    The LiteSpeed wiki contains everything you need to know when it comes to installation and configuration, so be sure to check there if you get stuck.

    Also? We have a Slack community for LiteSpeed users. Join up, leave feedback, help us test new features in development, and connect with your fellow LSCache plugin users!

  • LiteSpeed Cache Module, Now Available for PrestaShop!

    LiteSpeed Cache Module, Now Available for PrestaShop!

    PrestaShop Cache Module

    PrestaShop owners, we have some exciting news for you: There’s a new PrestaShop Cache Module in town. The LiteSpeed Cache for PrestaShop module is now available!

    LSCPS communicates with LiteSpeed Web Server and LSCache to save and serve static copies of dynamic web pages, greatly reducing your shop’s page-load time.

    Here are a few of the things LSCache for PrestaShop can do:

    • Like its Magento, WordPress, and XenForo siblings before it, LSCPS utilizes the super-fast caching capabilities that are built directly into LiteSpeed Web Server. This is different from other PrestaShop cache modules which must invoke potentially-resource-intensive PHP in order to function.
    • LiteSpeed’s PrestaShop cache module automatically caches the following pages with a GET request (including AJAX GET): Home, Categories, Products, CMS, New products, Best sales, Suppliers, Manufacturers, Prices drop, Sitemap.
    • User information can be cached privately via ESI blocks and auto purged when the information changes. Support for cart and account sign in are built in. That means that when a logged-in user visits a product page, the product page is served from cache too.
    • Other third-party modules that contain private information can be easily added.
    • Updates in the shop admin area automatically trigger a purge of any related pages in the cache.
    • The cache can be manually flushed from within the PrestaShop admin.
    • LSCPS supports multiple stores, multi-language, multi-currency, geolocation, and mobile view.
    • Separate page copies may be cached for different logged-in user groups.

    This module is for PrestaShop 1.6 and 1.7, and has been tested with the latest version (1.7.2). LiteSpeed Web Server or LiteSpeed Web ADC is required. LSCPS is compatible with CloudFlare and other CDNs.

    LiteSpeed Cache for PrestaShop is open source and free for our promotional period!

    As always, but especially with this initial release, your help and feedback are important! Download the latest version via our wiki or github, and then post on our forum to let us know your thoughts, or share any problems you might encounter.