Enable SEO friendly URLs in Opencart

It is important for Search Engine to enable your SEO urls.

Unlike Prestashop and wordpress… Opencart doesn’t automatically generate pretty SEO urls. You need to turns these on and add a httpaccess file to your webserver manually.

  1. Login to your OpenCart admin panel.
  2. Navigate to System > Settings and click the “Edit” link.
  3. On the “Server” tab, set “Use SEO URL’s” to “Yes” and save the changes.


Now you need to upload an .htaccess file.

  1. Connect to your server via FTP using any FTP client (e.g. FileZilla)
  2. In your main OpenCart directory, there should be a file called .htaccess.txt. Rename it to .htaccess. If you already have an .htaccess file, add this code at the end of the file:
# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

6.* If your store is in a separate directory (e.g. “shop”), open the .htaccess file in a text editor and look for this line:

RewriteBase /

If your shop is installed in a directory called “shop“, for example, change the above line in the .htaccess file to:

RewriteBase /shop/

Remember to put the slash (/) at the end. Otherwise the SEO URLs will not work with OpenCart.