PrestaShop, the leading e-commerce platform in Europe and Latin America, is a free, open source system, with more than 25 thousand active online stores in Latin America alone. Its management and administration is very intuitive and complete. It has a modular design that makes it flexible and adaptable software to the particular needs of each client, which have +3000 modules and +2000 official themes to complement the functions and appearance of your store.
PrestaShop is an excellent tool to build your online store. However, despite its ease of use and installation, like any other platform, it has its peculiarities. There are several details that many times we ignore or good practices that we do not know and if we do not apply them, we can harm the operation of our store, with the consequent impact on our customers.
In this article we will try to point out several essential aspects to keep in mind to have a GOOD experience with PrestaShop . All our advice is based on the technical experience accumulated of more than 10 years that Rolige has, as a Platinum level certified agency , developing with this platform and the feedback of many of our customers.
What type of hosting is best for me to set up my PrestaShop store? What resources should you have?
PrestaShop runs on a web server with PHP + MySQL, a combination that most hosts offer. So far there are no special requirements, but will my store have the desired performance? I know you will be anxious for a definitive answer to this question, but unfortunately there is no magic formula that applies equally to everyone. There are many factors involved in the performance of a store :
- Server mode
- Server resources
- PHP version
- MySQL Database Manager
- PrestaShop version
- PrestaShop performance settings
- Optimization of the theme installed in PrestaShop
- Catalog size
- Site traffic
There are many offers of hosting in the market, some with better or worse reputation, prices and benefits. Servers are basically classified into 3 modes: shared, VPS or dedicated . All 3 have different costs and characteristics that must be evaluated to find out which one best suits the needs of your store and your company's budget. Here you can find a quite complete comparison which raises crucial questions that must be answered before making the final choice. An important observation: the cheapest is not always what is best for us, nor is the most expensive what we really need.
Server resources are definitely an important point to evaluate. They basically refer to the server's processors (CPU), memory (RAM) and hard disk (HDD or SSD). Here you cannot lose sight of the fact that more quantity does not mean that it is better quality. For example:
- If they offer us a storage space of 50GB in an HDD it does not mean that it will be better than a 5GB SSD hard drive. SDDs have much better performance or disk access speed (what really interests us is the speed of reading and writing to the disk) than an HDD. Even within SSDs there are different disk read and write speeds (IOPS), so this is worth investigating.
- 4 cores of an Intel Xeon Gold 6136 @ 3.00GHz or AMD EPYC 7542 32-Core processor is not the same as 8 cores of an Intel Core i7. The computing power also varies depending on the type of processor, not just the number of cores available.
If you have access to the possibility of a free trial, use it to explore the various options. If you have access to your server console and the necessary knowledge, you could even run several benchmarks to really assess which one is better. Either way it is very important to keep these elements in mind. Also do not forget that the geographic location of the server can also be a factor to consider.
At Rolige, based on our experience with multiple hosting providers, we have decided to build our own servers. Sustained in cloud services of the highest reliability and availability , they combine all the optimizations at the web server and database level to obtain the maximum performance of a PrestaShop store , adding additional premium services that perfectly complement the needs of any online store, both for large companies and small merchants. And if the above were not enough, they have the flexibility to allow available resources to be scalable (increased or decreased) to meet specific needs such as temporary high traffic peaks, without the need for drastic plan changes or budget.
Usually the newer version of PHP is more efficient. But your choice is directly related to the version of PrestaShop you are going to install, due to compatibility issues that we will see in more detail later. With respect to the Database engine something similar happens, but unfortunately most servers offer a single option in this section, unless we have our own server where we can make the adjustments we want. In any case, it is advisable to check (although it is not a mandatory rule) the requirements officially recommended by PrestaShop.
It is also important to take into account the performance and cache settings of PrestaShop. In the same way, the choice of theme to install in your store , so that it is as optimized as possible in terms of SEO performance and structure, and not only visually pleasing and flexible in terms of graphic options. Later we will touch on some specific elements in this regard.
Finally, you must evaluate the size of your catalog and especially the traffic of your store (number of visitors, registered customers, carts, orders, etc.). This evaluation must be constant and progressive . As your store traffic and sales increase, you may also need to increase your server resources to maintain the same level of performance and loading speed. Remember that as an average rule we expect our site to load in 3 seconds or less to ensure that our customers do not despair and can make their purchases successfully. If we detect that our site is getting slower and slower and we identify that the cause is the increase in traffic, then it is time to improve our server.
What version of PrestaShop to install? What version of PHP will my store run best on?
As a general recommendation, I would say that it is best to always install the latest stable version of PrestaShop . However, there are cases where we cannot do it because we have a set of irreplaceable modules that are not compatible with the latest version of PrestaShop or a custom theme in the same case. In this scenario, we will have no choice but to opt for a lower version, however, my general opinion is that it is not the PrestaShop version that should be downloaded, but the incompatible modules and themes that should be updated. It is also important to know what resources we are going to have on our server. PrestaShop v1.7 uses a more modern framework, has a more efficient cache and therefore should load faster. However, it is heavier, needs more storage space, generates more files, therefore requires more nodes, and will use more resources overall. If your server has limitations in this regard, perhaps the latest version is not the best choice and a PrestaShop v1.6 will run much better on your hosting.
To choose the PHP version we must, basically, select the highest one that is compatible with our version of PrestaShop and its installed modules. A common mistake is to ignore this element and put PHP 7.4 on our server without taking into account that not all versions of PrestaShop and its modules are compatible. To definitively clear up doubts, we must check the official documentation .
Finally, and especially when we hire a new server, it is not only to define which version of PHP we are going to use, but also to verify all the PHP extensions that we must have active. There is already a tool that does this check automatically . Without these extensions our PrestaShop will not work correctly.
What is the best way to apply changes to my store?
Every merchant who has a PrestaShop store should have a copy of that store for testing purposes. This is the correct way to apply new changes to our store and to be able to test them before going into production. Both a visual adjustment to the theme and the installation of a new module can affect and even temporarily liquidate our store, therefore having a test environment is highly recommended.
If we do not have capacity in our server, we can mount it locally on our computer using any local web server available. The result of the tests will be the same as when we upload it to production, as long as our local and production servers have equivalent configurations.
Make a backup of your store and set up a test environment; whether local, on another server or in a subfolder is relatively simple and there are multiple tutorials online on how to do it.
Is there a problem if I install unofficial modules in my store?
PrestaShop has a large developer community and thousands of modules available to merchants. The official modules can be found in PrestaShop Addons and others are sold in private stores according to each developer.
Now, why would a developer sell a module exclusively on their home store and not upload it to the official PrestaShop Addons store? This is an important question to ask ourselves when purchasing a module, because creating an account in Addons as a module developer and uploading them is really easy. What is complicated? That the modules developed are successfully validated by Addons. This is because the verification process is very rigorous and takes into account everything from the structure of the module and its operation to possible security holes. Therefore, my very personal criterion is that, if a module is sold exclusively outside of Addons, it is because it probably contains structural elements or security flaws that would not pass the Addons validation process.
I put so much emphasis on this because we have had many stores with security holes, such as for example this of a module that is widely used in many PrestaShop stores and if it had passed a validation process in Addons it probably would not have presented this problem. On other occasions there are more subtle problems, such as cookies that cause conflicts with those of PrestaShop and then do not allow customers to authenticate or add products to the cart, or simply modules that slow down or overload the entire web, making it slower in general.
Therefore, my recommendation is that if you are going to acquire a module, be sure to acquire it in Addons, or at least that it is available there. Does this mean that all the modules that are sold outside of Addons have some defect or problem? Of course not. Do you mean that all Addons modules are free from any imperfections? Nor at all. What I want to show is that, in general, the modules published in Addons have gone through a more rigorous validation process and therefore could contain fewer defects than others.
And how can I know if a module, either from Addons or a particular one, contains defects or not? The reality is that it is not possible to know it until after it is acquired. Even after being analyzed by an expert developer, it could contain minor bugs or security problems. Recent updates, opinions from other customers and the reputation of the developer could give us clues to help us, but only by installing and testing it (always in our sandbox first) can we know if it is really worth it or not.
The more information I put on the home page, the better? or why is my store's home loading slow?
A repeated case is those stores that, already being in production and correctly optimized, after a while and several configuration adjustments begin to slow down their load. In our experience, this is often related to the installation of plug-ins.
Let us remember that the home, index or start is the face of our store , our business card, the page of the entire site where our customers most frequently start browsing our store. If the customer has a bad first impression of our site, it is very unlikely that they will reach the checkout. For this reason it is important that the home page of our store loads well and quickly.
It is a common mistake, from the point of view of loading times, to overflow the home page of the site with all the information that we think the customer may want to see about our store in this life and the next. If we want to use banners, sliders, blocks of promotional products, super menus, blog articles, testimonials, etc. in our home, remember that each piece of additional information that we add to our home will slow down the load. Therefore, we try to include only the really useful and attractive information for the client initially. Let's include modules whose information blocks have cache implemented to allow faster subsequent loads.
Finally, let's activate the options of the Performance tab in the PrestaShop BackOffice. A common mistake that we find when reviewing stores is that they have disabled Compilation of Smarty templates, or Compression of CSS and JS . And the only justification is that there is a module that does not load if they activate them, or a section of the theme that is not displayed, or a button that does not work correctly. This is completely wrong. These options provide a palpable additional boost to site performance and loading speed. If any module, theme or functionality does not behave correctly while these options are active, then the solution is to correct said module or functionality, do not deactivate the performance options of the site.
In summary, let us be extremely fond of the home page of our store, include the really important information for the customer and take care of everything we install that may affect the loading of the site. And if, having followed these tips, the home page of your site loads slower than you expect, hire a specialist . Agencies or certified developers such as Rolige can do a performance analysis of your home and detect blocks of information with errors, which modules or queries to the database are slowing down the load and of course, help you to correct these problems.
Is it really necessary to optimize the store database?
Speaking of queries to the Database (DB) in the previous point, this is one of the neuralgic elements of a website. The DB is the one that contains the record of everything that happens on our site that must be saved. Tell yourself catalog, customers, addresses, carts, orders, carriers, messages, settings, in short, practically every piece of information on our site.
Maintaining a database contributes to a greater cleaning of the data, which improves the loading speed of your store and reduces the size of the backups. I recommend you read our specialized article Maintenance of the Database in PrestaShop for Everyone where you can find interesting explanations, answers to many of your questions, advice and even a free module that will do practically the entire process of cleaning the database for you.
How do I protect my store information?
We must take steps to try to protect our store from external threats at all costs. But even by choosing a good hosting, not installing modules with security holes and hiding our site behind a firewall service, we are not exempt from the danger that a possible hack of our site represents. We need a plan B: backing up our store data . This plan B has a double purpose, in addition to protecting us against data loss, it allows us to restore our store in the event of a collapse of the same to a previous stable state.
The elements to back up are 2: the physical files and the database. Normally the DB changes more frequently than the physical files and the backup size is much smaller. This is why we recommend making backups of BD much more often than of files (although the correct decision depends on the particularities of each store). For example, daily backups of the database and weekly backups of the files. There are multiple tools that allow it to be done in an automated way, they can even be done manually from the BackOffice in the case of the DB. It is also advisable to maintain a history of previous backups appropriate to the size and amount of changes registered in the store, always taking into account the limitations that our server has in this regard.
How do I organize and control the team of people who run my BackOffice?
All of us, when creating our PrestaShop store, we have a single user with the SuperAdmin profile to access the Store's BackOffice. It is common that from that moment, we begin to create employees with the same SuperAdmin privileges for everyone who needs to access our BackOffice. Perhaps due to laziness, laziness or ignorance, but this bad practice is quite common among merchants.
PrestaShop has a permission system that is quite useful, simple and detailed, which allows you to indicate for each employee profile created, what functionality we want them to have access to. This limits the information that each employee can view, restricts the possibilities of editing or deleting data, safeguards the information and configuration of the store and increases your auditing power by being able to verify when and what each of the employees did. But also, it is something that is normally done at the beginning, defining the roles that each employee has in your store. You will do the job once, but you will be protected for life. If you need more information about it, you can consult tutorial videos or the official documentation.
PrestaShop is an excellent e-commerce platform. If we follow good practices during its installation, configuration and use, the success of our online store will be guaranteed and we will always have the satisfaction of having made a great choice.