On October 26, 2022, the 8.0.0 version of PrestaShop was released. After seven months since the release it is time to review this version and the new features it introduces, as I had already anticipated with the release of the beta version in August 2022. Basically the current 8.0.4 version is in my opinion stable and ready for production sites, the majority of the modules have also finally been upgraded to PHP 8.0 allowing us to move away from the previous 7.4 version for which support ceased on November 22, 2022, and therefore potentially a security risk.

Before we begin the comparison with the 1.7.8.X version and talk about the differences, it is important to clarify how many versions of PrestaShop 8.0.X exist.

Why are there multiple versions of PrestaShop 8?

On social I read a lot of confusion and debate, yet this is not exclusive to PrestaShop, other open source CMSs are also distributed in a similar way such as for example WordPress, which offers three versions of which one is paid (see: https://wordpress.com/it/support/com-vs-org/ ). Pure Matomo Analytics (which I invite you to try with our module: here as an alternative to GA4) offers two versions, one downloadable and installable on its own hosting and one in the cloud for a fee.

The real anomaly actually was the previous situation where only the branded PrestaShop SA version contained links to paid services found on PrestaShop Addons. Many potential developers were not approaching the project being too commercial, and even some Web Agencies might find commercial offerings to competitor modules and services or released directly by PrestaShop SA in the CMS back-end unwelcome. With the acquisition of PrestaShop SA by the MBE Group(which I had discussed: here) this anomaly has been corrected, now the project is managed by a dedicated team and open to external members (a hybrid solution that could lead to a foundation in the future) and there is an unbranded and ad-free version of the ecommerce platform.

This decision creates more guarantees for developers, agencies and end users and creates new growth opportunities for the project, this especially after the troubled transition from version 1.6 to version 1.7 that initially created several problems that also resulted in a spin-off project such as Thirty Bees. I want to immediately reassure everyone, going from 1.7.8.X to 8.0 of PrestaShop is not traumatic, they are very similar versions, version 8 in essence is an optimized version, it could be understood as a version 1.7.9.X.

The version upgrade from 1.7.8 to 8 is easier even than what was the upgrade from 1.5 to 1.6.

How many versions of PrestaShop 8 are there?

Currently for the Italian market there are two versions, perhaps in the future will come a third version that is currently only on the French market i.e. PrestaShop Edition, a turnkey version provided directly by PrestaShop; again nothing new, in the past there was a similar version that did not have a pleasant success and disappeared with the advent of version 1.7 without arousing any nostalgia.

So currently we have:

  • Unbranded version available on GitHub
  • Branded version downloadable from prestashop.com called PrestShop Basic Edition

A PrestaShop Edition version is also expected to arrive in the future, which will include hosting and direct support from PrestaShop SA for a fee. You can find the version for the French market here.

So the versions will probably become three, as it is for WordPress.

The two versions are virtually identical, they differ in the package of modules included; the Basic Edition version currently contains the following extra modules:

  • Merchant Expertise: completely useless in my opinion
  • PrestaShop Account: necessary to associate your eshop with PrestaShop Addons
  • PrestaShop Checkout : a great payment module to integrate PayPal on PS
  • PrestaShop EventBus: a necessary module to the facebook, google and metrics modules
  • PS Facebook: very useful and free module for managing FB campaigns
  • PrestaShop Marketplace in your Back Office: practically advertising addons modules
  • PrestaShop Metrics: basically to integrate Google Analytics statistics into BO
  • Marketing with Google: a good module to connect to GMC and manage social campaigns, I talked about it here.
  • MBE eShip Plugin: this is a module I prophesied after MBE's acquisition of PrestaShop SA, unfortunately I haven't had a chance to evaluate it yet.

A direct comparison between the two versions perfectly shows that the differences are only in the included modules.

PrestaShop 8 comparison

It is obvious that starting with any of these versions, it is possible by installing and uninstalling modules to switch between them. Which version to use, depends, in some cases the Basic Edition version incorporates minor bug fixes discovered after the GitHub version was released, this however because it simply comes out after the unbranded version.

For example, the 8.0.4 Basic Edition has a small fix to the AdminController.php file that will be introduced in the unbranded version 8.0.5.

PrestaShop 8.0.4 Basic Edition fixes

What differences with the version 1.7.8.9

Marketplace Module

Versions 1.7 mainly are like the Basic Edition, but unlike the latter if you wanted to remove the links to the Marketplace and commercial offerings you would have to put your hands directly on the code. With version 8 you simply uninstall the related modules. In both versions the module updates included in the unbranded version are now handled by a module: Client API distribution and as well here, in case of connection problems we can simply disable it.

There is also more transparency, the PrestaShop Marketplace module, for example, to install the modules it advertises creates a super admin user making it visible (even to non-experts) what kind of access permissions you provide to PrestaShop Addons to update and install purchased modules, with a simple click.

User Super Admin Marketplace

In the past the Marketplace links present in PrestaShop and not easily disabled, created several slowdown problems in the Back-End. Today it happens very rarely thankfully, but in version 8.X it will suffice to disable the module in case a crash occurs. Our Fast Back Office module was created just to disable the module update check when, due to a technical problem the resource api.addons.prestashop.com was not reachable blocking the back-end until the call time-out and afterwards for a long time it was unstable and very slow.

This is actually the most important new feature, for the rest as already mentioned it should be considered simply a 1.7.9.X release that introduces new features, optimizations and the especially support for PHP 8.0 and WebP format. The difficulties in updating modules by developers mainly relate precisely to the migration from PHP 7.4 to PHP 8 while keeping backward compatibility with the previous version. This may have created some frustration for many developers, especially since with version 1.7 we developers had to put our hands on our modules several times to make them compatible with CMS version upgrades. It was often complex or impractical to make the module compatible with both earlier and later versions, and the transition from version 1.6 to 1.7, in some cases for example with payment plug-ins, made it necessary to create two separate versions with an added burden of work and therefore cost.

The switch to PHP 8 was necessary not only for security, but also because among the most important new features this version introduces two JIT compilation engines that practically promise significantly higher performance by taking advantage of Just In Time compilation.

In the future, PrestaShop version 9 will be minimally compatible with PHP 8.1 allowing us developers to take full advantage of the new features introduced by this version by no longer having to worry about backward compatibility.

Why PrestaShop 8 and not 1.8?

Why PrestaShop 8 and not 1.8?

The 1 in previous versions was a legacy that had no semantic meaning, however, so the new version abandons the old numbering by adhering to the 3-group standard, thus making it easier to identify versions and interoperability with third-party software for example Composer.

Performance PrestaShop 1.7 vs PrestaShop 8.X

PrestaShop 8 is more responsive than version 1.7 TTFB times are under 200ms. The improvement is appreciable through load tests with Siege, and a bit less with GTmetrix or Lighthouse. Pure the back-end is more responsive especially in the GitHub version without Marketplace links. In PrestaShop 8 even templates equipped with Elementor Page Builder such as WhareHouse receive a significant performance boost, just the place where modules such as Page Cache Ultimate do not operate being non-native elements created with third-party modules.

It should be noted that since the rebranding of the prestashop.com sitoweb all PrestaShop versions have received a performance boost, as links to the PrestaShop Marketplace have improved, in recent tests I have detected an average improvement of about 100ms. On the part of PrestaShop a very good job has been done from this point of view.

It remains to be analyzed whether there will be performance drops at times of higher load by PrestaShop's servers.

Our comparison test between versions of PrestaShop

Let me preface that this is not an in-depth test and in ideal situation, I installed the clean version of PrestaShop 1.7.8.9, PrestaShop 8.0.4 GitHub and PrestaShop 8.0.4 Basic on our development server, the hosting configuration is the same, apart from using PHP 7.4 instead of PHP 8.1, in the version 1.7.8.9. On all versions all modules were updated and all were configured in the same way. We are far from a production environment, as there are no other external links such as to APIs of payment systems for example PayPal, to Google GA4, GMC, GTM, Facebook etc..

The comparison was purposely made on the product page, which is the most important for an ecommerce, tests on the homepage are not very meaningful, your customers land either from organic traffic or SEM campaigns on the purchase page. And it is on this page that the greatest care and attention should be placed.

PrestaShop 8 vs PrestaShop 1.7 Comparison Test

As can be seen, the version without links to the PrestaShop MarketPlace is slightly more responsive. Analyzing the loading in detail, it can be seen that Just in the TTFB (time to first byte) is the biggest improvement.

PrestaShop 8 vs PrestaShop 1.7 loading times

The 1.7.8.9 version turns out to be the most penalized, as I pointed out precisely in the time it takes to send the first byte to the browser, i.e., mainly at compiling and executing the PHP code. In the PrestaShop 1.7 test it took 286ms versus 170ms for the 8.0.4 GitHub version and 179ms for the 8.0.4 Basic version. These are good results for all three, Google considers a TTFB of 800ms to be good, however, it should be considered that the sooner the server processes requests the more concurrent requests it will be able to serve.

As ecommerce becomes more complex, and especially in production, the gap between version 8 and version 1.7 becomes more apparent, as the advantage offered by PHP 8.1 is felt more where Just In Time compilation -- having to grind more code -- really shows its muscles and smarty cache and opcache affect less.

Load test with Siege

I ran on the three versions a load test with Siege with 50 concurrent requests for 20s, on an identical sample of ecommerce pages including: the home, products, CMS pages, categories, etc. Here as I mentioned you can see the real differences the 8.0.4 version significantly detaches the 1.7.6.9 version by being able to serve many more concurrent requests.

PrestaShop 8.0.4 GitHub
PrestaShop 8.0.4 GitHub
PrestaShop 8.0.4 Basic
PrestaShop 8.0.4 Basic
PrestaShop 1.7.8.9
PrestaShop 1.7.8.9

The characteristics of the server on which the test was performed are as follows:

  • Xeon D 2141l CPU / 64GB Ram / 2x500GB SSD Nvme, 1Gbps bandwidth, OVH France location.
  • CentOS 7.9 and Plesk Obsidian 18.0.51
  • Dedicated FPM served by Apache and Nginx in reverse proxy.
  • MariaDB 10.5.20

If you want to properly test your website check out the following guide: How to Perform PrestaShop Performance Testing

Why PrestaShop 8 is better than PrestaShop 1.7

  • Better Performance: performance-wise it is significantly superior in both BE and FE.
  • Security: fixes several bugs and offers the ability to use PHP 8.
  • Open source company neutrality: now PrestaShop is truly open source, we will decide whether to integrate marketplace and commercial services.
  • Security Page: ability to set the minimum security level for passwords and customer and employee session management.
  • Native support for SVG and WebP formats.
  • Symfony library upgrade to 4.4 LTS. One of the criticisms I used to hear most often towards PrestaShop was the use of dated versions of the framework (1.7 uses version 3.4), but this is due to the very important backward compatibility especially when upgrading from older versions; version 4.4 for example requires minimum PHP 7.1, while 5.4 already is not compatible with PHP 7.2. The latest version the 6.2 requires mimino PHP 8.1.
  • Webservice: it is now possible to use the PATCH method you will no longer need to provide a full XML of the resource to update as with the PUT method, as long as you provide "id". This will make it much easier to integrate for example with ERPs.
  • DKIM signature: it is possible to configure in the email parameters the DKIM signature, very useful to avoid that the email sent from PrestaShop to our customers is marked as SPAM, this allows us to add the signature also through the use of free services such as dkimcore.org.
  • SEO: version 8 introduces very important new features some long awaited, such as the possibility to set the code "410 - Gone" instead of "404 - Not Found" to indicate that the product has been deleted, very useful especially for ecommerces with hundreds of thousands of products, where Crawl Budget becomes a problem. Another important new feature is the addition of the page number in the Meta Title in categories, new products, best sales, etc....
  • In the BE it is finally visible in the management Categories, Brands, Suppliers the number of products present; this facilitates the management of the catalog being able to safely close those pages that do not contain products.

These seem like few new features, but they are actually a great revolution, and a good basis for the future development of the project that had stalled with 1.7. However, a criticism to PrestaShop and MBE is due, in these months of change and still communication has been lacking. I hope that with the new site and rebranding of PrestaShop SA communication will also improve.

Sources and insights:

Download link for all versions of PrestaShop Basic. Useful in case you need to repair an old CMS installation.

Download link to the latest version of PrestaShop Basic. With all the PrestaShop modules to start selling online.

Download link to the latest versions of PrestaShop GitHub. The unbranded version of the ecommerce platform.

Author: Loris Modena

Loris Modena

SENIOR DEVELOPER

Per Ind Loris Modena owner of Arte e Informatica, began working in the computer industry in 1989 as a systems engineer in charge of maintenance and installation of computer systems. He starts programming for the web in 1997 dealing with CGI programming in PERL and later moving to programming in PHP and JavaScript. During this period he approaches the Open source world and Linux server management.

Product added to wishlist