Multi language (Multilingual) Urls are when the same content in different languages is available under different Urls. OpenCart by default does not have this option, so this is a feature left for third party extensions to implement into OpenCart.

How does Google treat Multi language Urls

Google uses only the content of the page to understand which language is used. So as long as you have a unique url for each of the languages of the page, google will index them separately and will not treat them as duplicate content.

In case your site has a generic top-level domain like .com or .net. and you have an English version of the site for England and a French for France, you will need to assign which language should display in which country. Google allows you to target the different language versions of the site to different geo locations by editing the geotargeting settings in the search console. Don’t do this if you don’t plan to limit your site to one specific country.

OpenCart Extensions that support Multi language Urls

Here is our pick of just some of the Opencart SEO Extensions that offer multi language url support:

  1. SEO Module Url
  2. SEO Pack Pro
  3. SEO Backpack
  4. SEO Mega kit plus
  5. All In One Seo Extension

Although all of them offer multi language url support, it is important to understand how this feature is implemented, since there are several ways of accomplishing it.

Different ways of adding Multi language Urls to OpenCart

Although, as users you may not feel the need to dig so deep as to understand the logic behind multi language Urls, it is our sincere belief that if you do, you will have a much better OpenCart Experience and avoid many of third-party extension conflicts.

Since OpenCart be default does not support multilanguage SEO Urls, it is required by the third-part extension to implement the logic and store the language information in the database of the shop.

Here a three options of adding logic for SEO Urls:

1. With Vqmod/Ocmod by editing the seo_url controller.

This is the most popular and the least welcomed approach. With Vqmod/Ocmod the code is added directly into the seo_url.php file. This creates a great deal of third-party conflicts. Actually, every SEO extension we have ever examined utilizes this approach.

2. With Ocmod adding a preaction.

This is a more cleaner approach where the logic is kept in a separate controller and called at the beginning of the OpenCart freamwork. Yet, since seo urls are hardcoded into OpenCart, the preaction can be called either by editing the settings manually (only in the latest versions of OpenCart) or by adding a call to the controller with Vqmod/Ocmod. Still, this approach is not perfect because it forces every other extension to do the same thing which builds up modifications.

3. With Ocmod adding a middleware controller.

This approach is very much similar to the previous one with a significant difference - we call a middleware controller that has an API for extending OpenCart’s support for third-party extensions. This allows us to avoid conflicts and keep a small footprint in modifications.

After we have added the php logic, we need to store the language information in the database. Here are three basic approaches of added multi language Urls to the OpenCart database:

1. Creating a separate table for seo urls


  • The default database table is not edited.


  • Third-party extensions, that require multi language urls will need extra customization to work with the new SEO urls table.
  • this approach is different from the future version of OpenCart.

2. Adding a language column to the default url_alias table


  • The default url_alias database table is used to keep the seo urls.
  • Third-party extensions can continue to work with the default url system.
  • Compatible with Opencart 3.0 which is now multi language as well.


  • The default url_alias table is edited.

3. Adding language parameter to the query column in url_alias table


  • The default url_alias database table is used to keep the seo urls.
  • The default url_alias table is not edited.
  • Third-party extensions can continue to work with the default url system.


  • this approach is different from the future version of OpenCart.

After much consideration we have decided to go with the second approach because it is selected to be the default approach for OpenCart 3.x. SEO Module is the only SEO Extension that uses the middleware approach with the language parameter, which keeps the OpenCart core clean.

Setup Multi language Urls with SEO Module

  1. Install SEO Module
  2. Activate .htaccess
  3. Activate OpenCart SEO urls
  4. Install SEO Module Url
  5. Activate SEO Module Url
What are Target Keywords and how to research them with SEO Module
Target keywords or Focus keywords are the words people type into search. Search engines use these keywords to return the most relevant information pos...
Page not found or 404 errors and how to fix them
If you have 404 pages in your Opencart Shop you should redirect to the most relevant page possible with a 301 Status code. From time to time your Open...
Leave a comment