This tutorial will guide you through how to enable and use SEO-friendly URLs in PrestaShop 1.6.x.
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.
As you can see in the example above, both categories and products can have a friendly URL: in the example above, id_category=2 becomes 2-music-players, and 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 in the main configuration page of a category, and under the “SEO” tab of the configuration page of a product.
There are other individual pages in your PrestaShop installation that would certainly benefit from friendly URLs: CMS pages, user account pages, pages with automatically generated content… 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 only work with a server setup that supports URL rewriting (through the Apache Web Server mod_rewrite feature, for instance). 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!
In order to set up URLs, you need to follow the steps below:
Log into your PrestaShop admin panel.
Navigate to Preferences -> SEO and URLs:
Friendly URL. Change this option to “YES” if you know that your server can support URL rewriting.
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.
Accented URL. PrestaShop is now able to produce URL with special characters for products with non ASCII names. You can disable that option here.
Redirect to Canonical URL. A given PrestaShop page can have many URLs, most often when there are parameters to consider. For instance, http://example.com/product.php?id=5&option1 and http://example.com/product.php?id=5&option2 point to the same product, there is only one difference. Since you want your product to have a single URL and not many duplicate ones, you should enable Canonical URLs.
Canonical URLs are a way to eliminate self-created duplicate content – which can dramatically 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 <link> header tag. Ask the theme designer for more information.
There are three options:
No redirection. You might 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 multiviews. Apache is the most popular web server, and is most likely the one your web host uses for your site (although you should check this for yourself). 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 multiviews with this option.
Disable apache mod security. 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.
Feel free to check the detailed video tutorial below: