- PrestaShop Blog and Ecommerce Tutorial
PrestaShop version 8.0.0 was released on October 26, 2022. Seven months after its release, the time has come 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 websites in production, the majority of the modules have finally been updated also to PHP 8.0 allowing us to abandon the previous version 7.4 for which support ceased on November 22nd 2022, and therefore potentially a security risk.
Before starting the comparison with the 1.7.8.X version and talking 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?
In social media I read a lot of confusion and debates, yet it's not exclusive to PrestaShop , other open source CMSs are also distributed in a similar way such as WordPress, which offers three versions , one of which is paid (see: https://wordpress. com/en/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 that can be downloaded and installed on your own hosting and one paid for in the cloud.
The real anomaly was actually the previous situation which saw only the PrestaShop SA branded version , containing links to paid services present on PrestaShop Addons . Many potential developers didn't approach the project as it was too commercial, and even some Web Agencies could find the commercial offers of modules and services from competitors or those released directly by PrestaShop SA in the back-end of the CMS unwelcome. With the acquisition of PrestaShop SA by the MBE group ( of which I had spoken: here ) this anomaly was corrected, now the project is managed by a foundation and there is a non-branded and advertising-free version of the ecommerce platform.
This decision creates greater guarantees for developers, agencies and end users and creates new growth opportunities for the project , especially after the troubled transition from version 1.6 to version 1.7 which initially created several problems which also resulted in a derivative project such as Thirty Bees . I want to reassure everyone right away, going from PrestaShop 1.7.8.X to 8.0 is not traumatic , they are very similar versions, version 8 is essentially an optimized version, it could be understood as a 1.7.9.X version.
Upgrading from 1.7.8 to 8 is even easier than upgrading from 1.5 to 1.6.
How many versions of PrestaShop 8 are there?
Currently there are two versions for the Italian market, perhaps a third version will arrive in the future which is currently only on the French market or the PrestaShop Edition , a turnkey version supplied directly by PrestaShop; here too nothing new, in the past there was a similar version which was not very successful 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 should also arrive in the future which will include hosting and direct assistance 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 practically identical , they differ in the package of modules included, the Basic Edition version currently contains the following additional modules:
- Merchant Expertise: Completely useless in my view
- PrestaShop Account: required to associate your eshop with PrestaShop Addons
- PrestaShop Checkout: a great payment module to integrate PayPal on PS
- PrestaShop EventBus : a module needed by facebook, google and metrics modules
- PS Facebook: very useful and free module for managing FB campaigns
- PrestaShop Marketplace in your Back Office : basically advertising of addons modules
- PrestaShop Metrics : essentially 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 that I prophesied after the acquisition of PrestaShop SA by MBE, unfortunately I haven't had the chance to evaluate it yet.
A direct comparison of the two versions shows perfectly that the differences are only in the included modules.
It is clear that starting from any of these versions it is possible to switch from one version to another by installing and uninstalling the modules. Which version to use depends, in some cases the Basic Edition version integrates small bug fixes discovered after the release of the GitHub version , this however because it simply comes out after the non-branded version.
For example, the 8.0.4 Basic Edition has a small fix to the AdminController.php file that will be introduced in the non-branded 8.0.5 version.
What differences with version 220.127.116.11
The 1.7 versions are mainly like the Basic Edition , but unlike the latter, if you want to remove the links to the Marketplace and commercial offers, you should directly edit the code. With version 8 simply uninstall the related modules. In both versions the updates of the modules included in the non-branded version are now managed by a module: Client API distribution e here too, in case of connection problems we can simply deactivate it.
There is also greater transparency, the PrestaShop Marketplace module, for example, to install the modules it advertises creates a super admin user making visible (even to non-experts) what type of access permissions are provided to PrestaShop Addons to update and install the purchased modules, with a simple click.
In the past, the links to the Marketplace present in PrestaShop and not easily deactivable, created various slowdown problems in the Back-End. Fortunately, this happens very rarely today, but in version 8.X it will be enough to deactivate the module in case of an accident. Our Fast Back Office module was created to disable the check for module updates when, due to a technical problem, the api.addons.prestashop.com resource was not reachable by blocking the back-end until the time-out of the call and subsequently for for a long time it was unstable and very slow.
This is actually the most important novelty, for the rest, as already said, it should be considered simply a 1.7.9.X version which introduces new features, optimizations and above all support for PHP 8.0 and the WebP format. The difficulties in updating the modules by the developers are mainly linked to the migration from PHP 7.4 to PHP 8 keeping the backwards compatibility with the previous version. This may have created a bit of frustration in many developers, above all because with version 1.7 we developers had to adjust our modules several times to make them compatible with the CMS version updates. It was often complex or impractical to make the module compatible with both previous and latest 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 distinct versions with a increase in work and therefore costs.
The transition to PHP 8 was necessary not only for security, but also because among the most important innovations this version introduces two JIT compilation engines that practically promise significantly higher performance by exploiting Just In Time compilation.
In the future, the PrestaShop 9 version will be at least compatible with PHP 8.1, allowing us developers to make the most of the innovations introduced by this version, no longer having to worry about backwards compatibility.
Why PrestaShop 8 and not 1.8?
The 1 of the previous versions was an inheritance that however had no semantic meaning, for this reason 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 parts for example Composer.
Performance PrestaShop 1.7 vs. PrestaShop 8.X
PrestaShop 8 is more responsive than version 1.7 and TTFB times are under 200ms. The improvement is appreciable through load tests with Siege , and a little less with GTmetrix or Lighthouse. Even the back-end is more responsive especially in the GitHub version without links to the Marketplace. In PrestaShop 8 even templates equipped with Elementor Page Builder such as WhareHouse receive a significant performance boost, just where modules like Page Cache Ultimate do not work being non-native elements created with third-party modules.
It should be noted that from the rebranding of the prestashop.com website all PrestaShop versions have received a performance boost , as the connections to the PrestaShop Marketplace have improved , in the latest tests I have noticed an improvement of about 100ms on average. PrestaShop has done an excellent job from this point of view.
It remains to be analyzed if there will be performance drops in moments of greater load by the PrestaShop servers.
Our comparison test between PrestaShop versions
I state that this is an in-depth test and in an ideal situation, I installed the clean version of PrestaShop 18.104.22.168 , PrestaShop 8.0.4 GitHub and PrestaShop 8.0.4 Basic on our development server, the hosting configuration is the same, the use of PHP 7.4 starts instead of PHP 8.1, in version 22.214.171.124. On all versions all modules have been updated and all have been configured in the same way. We are far from a production environment, as there are no other external links such as the APIs of payment systems such as PayPal, 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 don't have much meaning, your customers arrive both from organic traffic and from SEM campaigns on the purchase page. And it is on this page that the utmost care and attention must be placed.
As you can see, the version without links to the PrestaShop MarketPlace is slightly more responsive. By analyzing the upload in detail, it is understood that the greatest improvement is found precisely in the TTFB (time to first byte).
Version 126.96.36.199 is the most penalized, as I pointed out precisely in the time necessary to send the first byte to the browser, i.e. mainly during the compilation and execution of the PHP code. In the test PrestaShop 1.7 took 286ms against 170ms of the 8.0.4 GitHub version and 179ms of the 8.0.4 Basic version. These are excellent results for all three, Google considers a TTFB of 800ms good, however it should be considered that the sooner the server processes the requests and the more simultaneous requests it can serve.
With the growing complexity of ecommerce and especially in production, the gap between version 8 and version 1.7 becomes more evident , as the advantage offered by PHP 8.1 is felt more where the Just In Time compilation - having to grind more code - really flexing its muscles and smarty cache and opcache affect less.
Load testing with Siege
I performed a load test with Siege on the three versions with 50 competing requests for 20s , on an identical sample of ecommerce pages including: home, products, CMS pages, categories, etc. Here, as I mentioned, you can see the real differences. Version 8.0.4 stands out significantly from version 188.8.131.52, managing to serve many more contemporary requests.
PrestaShop 8.0.4 GitHub
PrestaShop 8.0.4 Basic
The characteristics of the server on which the test was performed are as follows:
- CPU Xeon D 2141l / 64GB of Ram / 2x500GB SSD Nvme, Bandwidth 1Gbps, location OVH France.
- 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, consult the following guide: How to test PrestaShop Performance
Why PrestaShop 8 is better than PrestaShop 1.7
- Better Performance: performance is significantly higher in both BE and FE.
- Security : fixes several bugs and offers the possibility to use PHP 8.
- Open source company neutrality : now PrestaShop is truly open source, we will decide whether to integrate the marketplace and commercial services.
- Security Page : ability to set the minimum security level for passwords and management of customer and employee sessions.
- Native support of SVG and WebP formats.
- Symfony library update to 4.4 LTS. One of the criticisms I heard more often towards PrestaShop was the use of outdated versions of the framework (1.7 uses version 3.4), but this is due to the very important backwards compatibility especially when upgrading from old versions; version 4.4 for example requires at least PHP 7.1, while 5.4 is already incompatible with PHP 7.2. The latest version 6.2 requires at least PHP 8.1.
- Webservice: it is now possible to use the PATCH method it will no longer be necessary to provide a complete XML of the resource to update as with the PUT method, as long as "id" is provided. This will make integration for example with management systems much easier.
- DKIM signature: it is possible to configure the DKIM signature in the email parameters, very useful to prevent the email sent by PrestaShop to our customers from being 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 of which have been awaited for a long time, such as the possibility of setting the code " 410 - Gone " instead of " 404 - Not Found " to indicate that the product has been cancelled, very useful above all for ecommerce with hundreds of thousands of products, where the Crawl Budget becomes a problem. Another important novelty is the addition of the page number in the Meta Title in the categories, new products, best sales, etc...
- In the BE, the number of products present is finally visible in the Categories, Brands, Suppliers management ; this facilitates the management of the catalog by being able to safely close those pages that do not contain products.
They seem like little innovations, but in reality they are a great revolution , and a good basis for the future development of the project which was stalled with 1.7. However, a criticism of PrestaShop and MBE is due, in these months of change and communication has still been lacking. I hope that with the new site and the rebranding of PrestaShop SA, communication will also improve.
Sources and insights:
- https://www.prestashop-project.org/ where you can follow the development of PrestaShop
- https://kinsta.com/blog/benchmark-php/ if you want to learn more about the performance difference between PHP 7 and 8
Author: Loris Modena