Post by psytanium » Fri Feb 28, 2025 12:29 pm

After several OpenCart installations, I began questioning the best practices for managing multilingual sites. When I enabled a second language, like French, I couldn’t find an option to add meta tags for the French homepage, which seems odd.

Additionally, the XML sitemap doesn't include any French URLs.

The French homepage also shares the same URL as the default English version—no prefix or differentiation at all?

How do you properly manage multilingual OpenCart setups?

Thanks!
Last edited by psytanium on Sat Mar 08, 2025 3:11 pm, edited 2 times in total.

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by by mona » Fri Feb 28, 2025 8:02 pm

Google do change their best practices you should always check with them - https://developers.google.com/search/do ... d-versions
The marketplace has various extensions https://www.opencart.com/index.php?rout ... 20sitemaps
and you can find various previous information on the subject on google https://www.google.com/search?q=opencar ... ge+sitemap

DISCLAIMER:
You should not modify core files .. if you would like to donate a cup of coffee I will write it in a modification for you.


https://www.youtube.com/watch?v=zXIxDoCRc84


User avatar
Expert Member

Posts

Joined
Mon Jun 10, 2019 9:31 am

Post by psytanium » Sun Mar 02, 2025 1:35 am

Hi,

Yes, I’ve reviewed Google Docs and the guidelines. My question is focused on the following:

1 - Can OpenCart 3 have a language prefix by default, like this: https://website.com/fr?

2 - Does the default "Google Feed" module in OpenCart only generate a single-language sitemap, or is there a tweak to enable it to generate sitemaps for multiple languages?

3 - In the settings, i can see only 1 meta title and description, the English (Default) version, where is the other languages tags ?

Thanks!

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by psytanium » Sun Mar 02, 2025 1:44 am

OR if you can point an extension that can do the following at once:

1- Language prefix e.g. website.com/fr
2- Generate multilang xml sitemap
3- Open newfields to enter the home page multilang meta tags

Thanks

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by by mona » Sun Mar 02, 2025 4:44 am

1. Set up a multi store with an installation in each sub folder.
2. A sitemap in each sub folder with a single sitemap to locate each sub sitemap
3. Would not be required.

I do not know of any extension that does it all, but there are quite a few that do what you want individually on a standard OC setup. Maybe this https://www.opencart.com/index.php?rout ... n_id=28283
Most users prefer to be able to change language and stay on same page, you want to redirect. Not sure speed wise it is a good idea, but with some complex CDN structure you might be able to get over that.

DISCLAIMER:
You should not modify core files .. if you would like to donate a cup of coffee I will write it in a modification for you.


https://www.youtube.com/watch?v=zXIxDoCRc84


User avatar
Expert Member

Posts

Joined
Mon Jun 10, 2019 9:31 am

Post by psytanium » Mon Mar 03, 2025 4:25 pm

by mona wrote:
Sun Mar 02, 2025 4:44 am
1. Set up a multi store with an installation in each sub folder.
You mean multiple Opencart backends ? with duplicate products, categories, database and theme modifications, etc...

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by by mona » Mon Mar 03, 2025 4:54 pm

Creating a Multi-Store
Creating a Multi-Store
OpenCart allows for multi-store management using only one installation. If you have installed OpenCart into at least one store, you can add multiple stores to your admin panel without having to repeat the installation process. To add a new store you must first create a subdomain in your cPanel, then add the store in the Settings section of the admin panel.

Creating a subdomain in cPanel
You can login to the cPanel of their default store to create a subdomain. You should create a new folder for the subdomain, under Subdomain. In the root directory, link the subdomain to the path where the default store was installed to. For example, if the default store had been installed under "public_html/opencart", the new subdomain (opencart2) should be created under "public_html/opencart". We could add more subdomains here to create our multi-store by following this procedure.

subdomain

When we visit our new subdomain in our browser, the default store is visible. To customize the new store at this subdomain we need to visit the admin panel for our multi-store.

Don't worry if the default store is displayed where the new store should be, this is normal. The new store will not be visible at the subdomain's location until it has been added in the administration side of OpenCart.
Creating a new store in Settings
The admin panel of the new store can be visited through either store sites, at "opencart.mystore.com/admin" or "opencart2.mystore.com/admin". Just add a "/admin" to either of your stores' locations to access the admin panel. There is only one admin panel that controls all the stores in your multi-store.

To create a new store in the administration, visit System > Settings and press Insert. Adding a store requires information to be filled from the General, Store, Local, Option, Image, and Server tabs. In these sections you can add a new template, logo, currency, language, and layout. After pressing "Save", you will see that the default store is replaced by the new store in that subdomain's store front.

Customizing the store front
Products, product categories, customers, page layouts, and more, can be edited in the administration and customized for each store. You can individually select which products are available for each store in the Links tab when editing or creating a product. Checking the stores in this section makes the product only available in those specific stores. When adding or modifying a product category, you can select which stores display the category in the Data tab. Customer and order info will be automatically sorted into their appropriate store in the administration side when they create an account or buy a product at that store.

https://docs.opencart.com/en-gb/adminis ... lti-store/

You can also set up a multi store with a new installation in each folder and use the same database.

DISCLAIMER:
You should not modify core files .. if you would like to donate a cup of coffee I will write it in a modification for you.


https://www.youtube.com/watch?v=zXIxDoCRc84


User avatar
Expert Member

Posts

Joined
Mon Jun 10, 2019 9:31 am

Post by psytanium » Mon Mar 03, 2025 6:25 pm

Perfect. Thanks

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by paulfeakins » Mon Mar 03, 2025 8:56 pm

psytanium wrote:
Mon Mar 03, 2025 6:25 pm
Perfect. Thanks
Does this solve your problem? If so please add [SOLVED] to the start of the topic title.

UK OpenCart Hosting | OpenCart Audits | OpenCart Support - please email info@antropy.co.uk


User avatar
Legendary Member

Posts

Joined
Mon Aug 22, 2011 11:01 pm
Location - London Gatwick, United Kingdom

Post by psytanium » Sat Mar 08, 2025 3:11 pm

Honestly, OpenCart should handle multiple languages by default, making language URLs accessible to search engines without extra steps with cpanel, subdomains and multistore.

If there’s no easy way for me to access the Arabic version through a URL, how can crawlers find it?

At least there should be URLs like:
index.php?route=common/home&language=ar

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by psytanium » Sat Mar 08, 2025 4:40 pm

by mona wrote:
Mon Mar 03, 2025 4:54 pm
Creating a Multi-Store
Creating a Multi-Store
OpenCart allows for multi-store management using only one installation. If you have installed OpenCart into at least one store, you can add multiple stores to your admin panel without having to repeat the installation process. To add a new store you must first create a subdomain in your cPanel, then add the store in the Settings section of the admin panel.

Creating a subdomain in cPanel
You can login to the cPanel of their default store to create a subdomain. You should create a new folder for the subdomain, under Subdomain. In the root directory, link the subdomain to the path where the default store was installed to. For example, if the default store had been installed under "public_html/opencart", the new subdomain (opencart2) should be created under "public_html/opencart". We could add more subdomains here to create our multi-store by following this procedure.

subdomain

When we visit our new subdomain in our browser, the default store is visible. To customize the new store at this subdomain we need to visit the admin panel for our multi-store.

Don't worry if the default store is displayed where the new store should be, this is normal. The new store will not be visible at the subdomain's location until it has been added in the administration side of OpenCart.
Creating a new store in Settings
The admin panel of the new store can be visited through either store sites, at "opencart.mystore.com/admin" or "opencart2.mystore.com/admin". Just add a "/admin" to either of your stores' locations to access the admin panel. There is only one admin panel that controls all the stores in your multi-store.

To create a new store in the administration, visit System > Settings and press Insert. Adding a store requires information to be filled from the General, Store, Local, Option, Image, and Server tabs. In these sections you can add a new template, logo, currency, language, and layout. After pressing "Save", you will see that the default store is replaced by the new store in that subdomain's store front.

Customizing the store front
Products, product categories, customers, page layouts, and more, can be edited in the administration and customized for each store. You can individually select which products are available for each store in the Links tab when editing or creating a product. Checking the stores in this section makes the product only available in those specific stores. When adding or modifying a product category, you can select which stores display the category in the Data tab. Customer and order info will be automatically sorted into their appropriate store in the administration side when they create an account or buy a product at that store.

https://docs.opencart.com/en-gb/adminis ... lti-store/

You can also set up a multi store with a new installation in each folder and use the same database.
Hi Mona,

I’ve created a subdomain, https://ar.imaginarypower.net, pointing to the public_html directory. I also added a second store in the Settings with the following configurations:

- Store URL: https://ar.imaginarypower.net
- SSL URL: https://ar.imaginarypower.net
- Language: Arabic

However, when browsing the subdomain URL, it still opens the English version of the website.

The SEO URL is enabled, and I would appreciate your support in resolving this issue.

Thanks in advance.
Regards,

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by by mona » Sat Mar 08, 2025 7:57 pm

Another developer appears to have understood and created an extension.
viewtopic.php?t=235300&sid=5d40c0146b32 ... 1b7fe22f8d

DISCLAIMER:
You should not modify core files .. if you would like to donate a cup of coffee I will write it in a modification for you.


https://www.youtube.com/watch?v=zXIxDoCRc84


User avatar
Expert Member

Posts

Joined
Mon Jun 10, 2019 9:31 am

Post by by mona » Sat Mar 08, 2025 8:54 pm

psytanium wrote:
Sat Mar 08, 2025 3:11 pm
Honestly, OpenCart should handle multiple languages by default, making language URLs accessible to search engines without extra steps with cpanel, subdomains and multistore.

If there’s no easy way for me to access the Arabic version through a URL, how can crawlers find it?

At least there should be URLs like:
index.php?route=common/home&language=ar
OC4 added the language into the url and everyone is complaining about it.
https://www.google.com/search?q=how+to+ ... m+opencart
You can not please everyone.

OC4 has many issues and is not recommended for production sites, or that could have been an option.

Crawlers are not human. FYI Opencart sets a cookie of your set language on your browser. You set the default language in admin => settings. New visitors get that, once they change it is set in their browser for their convenience on their next visit.

DISCLAIMER:
You should not modify core files .. if you would like to donate a cup of coffee I will write it in a modification for you.


https://www.youtube.com/watch?v=zXIxDoCRc84


User avatar
Expert Member

Posts

Joined
Mon Jun 10, 2019 9:31 am

Post by psytanium » Sat Mar 08, 2025 10:07 pm

by mona wrote:
Sat Mar 08, 2025 8:54 pm

OC4 added the language into the url and everyone is complaining about it.
https://www.google.com/search?q=how+to+ ... m+opencart
You can not please everyone.

OC4 has many issues and is not recommended for production sites, or that could have been an option.

Crawlers are not human. FYI Opencart sets a cookie of your set language on your browser. You set the default language in admin => settings. New visitors get that, once they change it is set in their browser for their convenience on their next visit.
I see what you mean—you can’t please everyone’s preferences, but the priority is to optimize for search engines. If the language is set via cookies while crawlers rely on links to navigate and discover content, that’s a serious issue.

As a web design company with clients worldwide, ensuring that different language versions are accessible to search engines is crucial for us.

If I want to depend on extensions, we will need an extension for "Language URL" and another one for "Lang XML Sitemap" and another one for "Home Page Lang Metatags". Now we will have to fix extensions conflicts.

OpenCart should have a built-in solution for this language and SEO issue, or offer all in one extension in the marketplace.

I tried your solution with : cPanel, Sub domain, and Multistore. But still can't get language URL.

Now what should i do ?

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by psytanium » Thu Mar 27, 2025 6:00 pm

Hi @Mona,

Still Google didn't recognized my other language URLs. and the extension you provided, have problems according to the author :
https://www.opencart.com/index.php?rout ... n_id=47119

Regards,

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by psytanium » Fri Mar 28, 2025 1:54 am

If anyone reading this post knows of an OpenCart 3 extension that can:

1. Generate an XML sitemap for each language

2. Differentiate languages by URLs instead of cookies

3. Allow meta tag customization for the homepage per language

Please let me know.

Thanks!

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am

Post by paulfeakins » Fri Mar 28, 2025 7:32 pm

psytanium wrote:
Fri Mar 28, 2025 1:54 am
If anyone reading this post knows of an OpenCart 3 extension that can:
If you can't find an extension, you could pay a developer such as ourselves or post a job in the Commercial Support Forum.

UK OpenCart Hosting | OpenCart Audits | OpenCart Support - please email info@antropy.co.uk


User avatar
Legendary Member

Posts

Joined
Mon Aug 22, 2011 11:01 pm
Location - London Gatwick, United Kingdom

Post by psytanium » Sat Mar 29, 2025 3:20 pm

Hello,

OpenCart is a well-structured framework, it's disappointing to encounter such weaknesses in handling basic multi-language.

Anyway, I attempted to add a redirect in Backend > Design > SEO URLs:

From:
https://domain.net/index.php?route=information/contact
To:
https://domain.net/contact

Settings:
  • Query: information/contact
  • Keyword: contact
  • Store: Default
  • Language: English
This worked as expected. When I open https://domain.net/contact, the contact page loads correctly.

However, when I tried to apply the same for Arabic and French, I encountered an issue,under the Query field, it displays:
Query already in use!

Could you please advise on how to resolve this?

Best regards,

Active Member

Posts

Joined
Fri Nov 27, 2015 2:07 am
Who is online

Users browsing this forum: No registered users and 14 guests