PrestaShop 1.6.x. How to enable and use SEO-friendly URLs

By default, PrestaShop’s deep URLs (that is, specific pages rather than online the domain name) are rather uninformative to both the customer and search engines: an URL such as http://www.myprestashop.com/product.php?id_product=27 does not help visitors to know what product is on that page. Friendly URLs are the way to achieve that and get for instance http://www.myprestashop.com/2-music-players/27-ipod-nano-green.

Categories and products can have a friendly URL.

 id_category=2 becomes 2-music-players.

id_product=27 becomes 27-ipod-nano-green.

While the ID number cannot be removed by default, the words can be either generated from the category/product name or written by hand.

This is done directly in the configuration page for the product or the category (in the Catalog menu): the “Friendly URL” field can be found directly on the main configuration page of a category and under the “SEO” tab of the configuration page of a product.

CMS pages, user account pages, pages with automatically generated content are individual pages in your PrestaShop installation that benefit from friendly URLs.
The “SEO & URLs” page presents you with a list of these pages and enables you to edit their friendly URLs as well as their meta tags (title, description, keyword).

Friendly URLs work with a server setup that supports URL rewriting (through the Apache Web Server mod_rewrite feature). Make sure to check that your server does (ask your hosting provider!), as it can make your shop completely unavailable to customers if you enable friendly URLs and the server does not support it!
  1. In your PrestaShop admin panel go to Preferences -> SEO and URLs section: 
  2. Find Set up URLs section and enable the Friendly URL
    Note: you may see a message such as “URL rewriting (mod_rewrite) is not active on your server or it is not possible to check your server configuration. If you want to use Friendly URLs, you must activate this mod. In this case, PrestaShop cannot detect your server settings, but that does not mean the feature will not work. You must test it yourself.
  3. You can also set the following options:
    • Accented URL – PrestaShop is now able to produce URL with special characters for products with non-ASCII names;
    • Redirect to Canonical URL – a way to eliminate self-created duplicate content – which can bring your search engine rank down, as this is considered spam. To avoid search engines thinking you are spamming their index, PrestaShop uses standard rel=”canonical” link tag to indicate which is the one base URL for a given content.
      While it is highly recommended to enable this option, it also depends on your theme implementing correctly the header tag:

      • No redirection – get duplicate URLs;
      • 301 Move Permanently – returns the HTTP 301 status code, pointing to the main URL and notifying search engines that this is the only URL to take into account;
      • 302 Moved Temporarily – returns the HTTP 302 status code, pointing to the main URL and notifying search engines that the main URL might change later.
    • Disable apache multi-views – Apache is the most popular web server and is most likely the one your web host uses for your site. Multiviews is a content negotiation system: when enabled, the web server tries to serve the user a page in what it thinks is the best matching language version, under the same URL. Unfortunately, this might bring trouble to PrestaShop’s friendly URLs feature. If this is the case, you can try to disable multi-views with this option;
    • Disable apache mod security – is an Apache server module which acts as a firewall, protecting your server from intrusions. It can, however, block some key features, or even produce errors in some configuration. In such case, disable that firewall here.

Hopefully, this tutorial was helpful for you.

Was this helpful?