Business, Online marketing,

SEO PrestaShop optimization

by Veronica 24/05/2020

PrestaShop software is a very popular online store management system in our country and Central Europe.

PrestaShop “out of the box” allows for very good optimization of the store and individual subpages containing information about the products sold. Friendly URLs, categories, the ability to create detailed descriptions and a simple CMS for blogging allow you to meet most of the tasks related to SEO optimization as well as content-marketing in general.

Read more about the advantages and disadvantages of the PrestaShop system.

In this guide, we will get to know the options that support SEO activities and optimization that affect the speed of store operation (indirectly Customer and User Experience).

As with other articles on the optimization of anything, whenever I use the term “optimization” in them, I use it in a way that is not quite correct, because we do not consider any optimum here from the point of view of a formal criterion. The goal is to achieve better results (whether in terms of the efficiency of the entire store or matching content to the requirements of modern search engines). The article is a guide to the most important PrestaShop SEO optimization functions for beginners and more advanced users.

I. Optimizing store content

Content is a King. Content plays a huge role in positioning the store and, above all, pages with a single product in organic results. This whole guide ceases to make any sense if our main goal is not to provide an exhaustive, interesting and high-quality description that will additionally convince customers to buy.

PrestaShop gives you the option of:

  1. Adding a short description (or summary), which is visible in article listings, in the specified place on the product page or as such an equivalent of the ovule.
  2. Editorial of the detailed product description
  3. Define features that enable us to aggregate different products with different features into one product
  4. Adding a brand
  5. Add related products that can redirect customers to products that may potentially interest the customer when shopping
  6. Defining categories
  7. Optimization of the PrestaShop online store is based on the appropriate use of these functionalities.

Categories allow you to aggregate products into logical groups. They automatically provide logical internal linking of the store (same as points 4.5 and 6) and facilitate finding the customer in the store’s assortment.

Dividing into many categories and creating too general ones is not the best practice.

The brand has very similar features to the category. This is an additional taxonomy that we can use to group products, create modules or mark products. By selling original products of the selected brand, you can freely use logotypes under the so-called fair use.

You can use formatting in the product descriptions. It is worth dividing the description into blocks and categories so that it is easy to read. Then we can use the standard h1, h2 and h3 headers using the “Paragraph” option.

Optimization of store photos

I wrote about the optimization of photos and graphics for the needs of WWW in the article. In PrestaShop, as in any racial CMS (i.e. in content management systems), you can add alt tags and file names are also irrelevant.

By the way of photos, it is worth mentioning that in addition to size and format optimization, they should have relevant content. Photos in the online store have a completely different function than on the website, so you should take care of their overall quality and quantity because rarely a customer will need more than a few photos of a given product. And too large galleries (as well as too long descriptions) can negatively affect User Experience and indirectly on SEO.

PrestaShop allows you to conveniently change advanced settings for generating thumbnails and intermediate dimensions. They can be found in UPGRADES >> Appearance >> Pictures:

As in any other system or CMS, we have the option of choosing the preferred photo format:

if we know how to choose graphic formats
I use the photo transparency effect, e.g. the background in the store is not white product photos are so-called packshots without 3D effect and shading

I recommend leaving the option: Use PNG if the basic image is in PNG format.

In all other cases, I recommend choosing: to use JPEG.

It is assumed that the optimal value for JPEG compression is 80%. It is a compromise between the quality of the photo and its occupied space. To get 100% on all analyzers I suggest setting 75% or less. If the photos are to have uncompromised quality, you can leave the value of 90%.

PNG compression should be set to the maximum possible value, which is 9. We will get “green” results in all types of analyzers. However, if the mobile traffic exceeds the traffic from PC class devices, leave it on the default and recommended by the panel – that is, the value: 7. This is related to the load on the processor and thus with the consumption of battery power supplying the customer’s devices.

Which size to choose for each size depends on how the template finally looks. If analyzers (of the PageSpeed ​​or GTMetrix type) report that the graphics are incorrectly scaled, this value should be lowered each time they generate new thumbnails.

Read more on how to get 100 points in PageSpeed ​​Insights for mobile devices and for PC class devices.

Advanced SEO options for products in PrestaShop

A very useful tab in the product edition is the “SEO” tab. It is dedicated to advanced CMS users and general SEO optimization:

Here we have the option of defining the title meta title, the tag, rigidly. What is needed in a store? While product names should be simplified, title titles are intended to encourage users to click on search results. The optimal title length is one that appears entirely in the search results. This also applies to any websites.

The same can be said for the second field meta description or meta description. Their content should correspond to the content on a specific subpage and is to facilitate the decision as to the selection of a specific subpage in the search results. The optimal length is approx. 300 characters.

The custom URL facilitates semantic linking of subpages and positively affects User Experience. A human-readable address in the browser confirms our belief that we are where we want to be. I strongly advise against using modules that remove product and category ID numbers. If such a function were needed and did not affect performance negatively, the developers of PrestaShop would have built it into the basic script a long time ago :). Read more in the article: URL optimization for SEO.

Protip: The optimal length of the title in the online store from 50 to 60 characters.

The optimal length for a product or category description is approximately 300 characters

The optimal URL length for the last term is: 3 to 5 words or 100 characters.

Structured data

Using structural data, we can also add additional information, such as product price or the availability in the warehouse. The PrestaShop professional template already provides such functionality as standard:

II. Template and PrestaShop server optimization

Template optimization in PrestaShop has similar rules as templates in other systems or CMS. The priority of optimizing content for the Internet is generally understood as user convenience, i.e. the speed of loading a website or online store. In the case of online stores, this is of great importance, because as we know, a visit to the store does not end on one subpage and the entire purchasing process involves visiting several or even a dozen other subpages.

In addition, as it has been proven many times, the page loading time is inversely proportional to the number of conversions or a fraction of visits ending with an actual purchase.

An important difference follows from this:

Namely, while in blogs we can afford to paste all CSS and JS resources into the body of the site (of course, to minimize HTTP requests and speed up the first visit to a given site) in online stores this is a big mistake.

For all stores:

Write the template yourself or expand the default one provided with the original PrestaShop package

Remove unneeded lines in JavaScript (.js) and cascading style sheets (.css)

Compress the above-mentioned resources, e.g. by using Minifying<br /> Put the resources sequentially in one file that aggregates all JavaScript and CSS files

Just like in the case of dynamic websites, elements that we do not edit often (footer, header, widget bar) hardcoded, i.e. save rigidly in the PrestaShop code.

The speed of stores should be tested directly in Google Analytics due to the greater weight of product pages and the fact that bounce rates are usually lower in online stores. Tests on individual pages – even more so for the home page – are not authoritative.

PrestaShop performance settings

Fortunately, PrestaShop provides ready and quite effective mechanisms for template and server optimization. These actions reduce TTFB time, i.e. a critical parameter indicating a delay in communication with the online store. They can be found in CONFIGURE >> Advanced >> Performance:

Settings for Smarty

Template compilation is a rigid saving in HTML files of the HTML code responsible for presenting the store for reuse. Thanks to this Framework does not have to refresh the template with each visit and this contributes to a significant improvement in the speed of store operation and in particular improvement of the server response time.

If the store is in production mode, i.e. there are no development activities (customers use the store):

leave the option: “Never compile template files again”<br /> Enable cache

Cache mode – now yes: file system (if you have an SSD disk on the server). MySQL if the database has access to at least 2GB of RAM and no resource overruns. If MySQL will have to use the swap file, then performance may be significantly reduced. You can simply test which setting gives a noticeably better result.

Clear the cache: Never clear the cache

Turn off debug mode

CSS cache: YES

Intelligent JavaScript cache: YES

Cache (at the bottom): YES (choice: Memcached if we have the option of installing or integrating with the Memcached server.

If we make changes to a working store (customers use the store):<br /> select “Recompile templates if files have been updated”.<br /> Disable cache

Clear cache: Clear the cache if something changes<br /> Turn off debug mode

CSS cache: NO

Intelligent JavaScript Cache: NO

Cache (at the bottom): NO

However, if the PrestaShop installation is typically development (customers do NOT use the store):

Force compile

Disable cache

Clear cache: Clear the cache if something changes<br /> Turn on debug mode

CSS cache: NO

Intelligent JavaScript Cache: NO

Cache (at the bottom): NO

Disabling modules not from PrestaShop and disabling all overrides is only useful for development work and should not be enabled in a working store.

The “Clear cache” option (at the top of the settings) is used so that after major changes, e.g. in the assortment, users who were previously in our store did not download the store from the cache but from the server to have an updated version of the store in front of them.


In case of multilingual store substantial product catalog or heavy traffic (several thousand different products), it is worth implementing server serving photos using a file server and their distribution of all graphics and static content using Content Delivery Network only from trusted suppliers such as Amazon CloudFront or Cloudflare.

This solution will allow you to cheaply scale our store, will correctly affect the speed and performance of the server and thus the position in the search engine.

.Htaccess edition

As with SEO optimization of all other websites you should:

redirect the store to the version with www or without www

install SSL certificate and redirect traffic to HTTPS

enable GZIP or mod_deflate compression

enable expires headers

Enable expires headers in .htaccess:

ExpiresActive On

ExpiresDefault “access plus 1 month”

ExpiresByType image / jpg “access plus 1 month”

ExpiresByType image / jpeg “access plus 1 month”

ExpiresByType image / png “access plus 1 month”

ExpiresByType image / gif “access plus 1 month”

ExpiresByType text / css “access plus 1 month”

ExpiresByType text / javascript “access plus 1 month”

ExpiresByType text / html “access plus 1 month”

ExpiresByType application / xhtml + xml “access plus 1 month”

ExpiresByType application / javascript “access plus 1 month”

ExpiresByType application / x-javascript “access plus 1 month”

The rest of the activities and a detailed description of the implementation can be found in the linked articles above.

If your store is running slowly, read more about accelerating PrestaShop.

General thoughts

Remember that from a technical point of view, an online store is a website. Use the services of experienced specialists in the development, design, and optimization of PrestaShop online stores. Get valuable links from pages thematically related to the range and nature of your online store.

In the case of stores, there are often changes in the product range or unavailability of specific products, which is why these websites are exposed to numerous indexing errors. They should be avoided, redirect product addresses to similar ones or use the 404 smart error page, which will prompt where to look for substitutes for products that the user wanted to see.

Avoid the most common SEO mistakes sometimes the best optimization is … abandoning activities that are harmful in the long run, which are allegedly having a wonderful effect on search engine rankings.


The advantage of this type of optimization will be an improvement in search engine position, an increase in the number of orders due to faster and more trouble-free operation of the store and, at the same time, a reduction in the consumption of server resources.

As you can see, PrestaShop SEO optimization is facilitated by the very rich options in the panel itself. I strongly recommend avoiding external modules and plugins, because for SEO purposes we do not need them at all but the only thing they can do is burden the hosting and unnecessarily complicate the structure of the store in exchange for small changes, which ultimately do not translate into improved optimization.