SEO URL Manager
SEO URL Manager creates readable OpenCart URLs while keeping store and language context correct. The safest action for most stores is Generate Missing URLs.
- 1Choose the store and language, then select Generate Missing URLs rather than replacing established ones.
- 2Open one product in your storefront and copy its public URL.
- 3Refresh and verify the readable URL opens the intended product without a 404 or a redirect loop.
The browser address shows a working, readable URL for that product. Existing URLs should not change unless you explicitly regenerate them.
Remember: On multi-store sites, repeat with a second store and translated language if enabled. Frontend verification guide →
Recommended setup
- Keep your language prefixes meaningful, for example
enandfr. - Hide the prefix of each store's own default language if you want clean default-language URLs.
- Use Generate For → All Stores.
- Use Generate Missing URLs.
- Avoid Regenerate Existing URLs unless you intentionally want URL changes.
Why do real SEO URL rows still belong to a store?
OpenCart stores actual SEO URL records per store and language. HuntBee keeps that correct. What HuntBee makes global are the policies that should be consistent, such as route keywords and language prefix definitions.
| Area | Scope | Meaning |
|---|---|---|
| Language URL definitions | Global policy | The prefix choices are configured once and synchronized to store-specific SEO rows. |
| Route URL definitions | Global policy | Common route words such as the product/category route are configured once. |
| Hide Default Language Prefix | Global policy using each store's default language | Store A can hide English while Store B hides French if their defaults differ. |
| Entity SEO URLs | Store-specific data | Products/categories still have actual OpenCart SEO URL rows for each store/language. |
Generate Missing vs Regenerate Existing
Generate Missing URLs
Creates only URLs that do not already exist. This is the normal action for a new installation, new products, a new store or a new language.
Regenerate Existing URLs
Replaces existing keywords using current generation rules. Existing public URLs can change, so use this only when you deliberately want a migration and understand redirects.
What does “Generate For → All Stores” do?
One click runs the existing safe generator for every store. HuntBee still respects product/category store assignments. It does not blindly copy Store 0 URLs to every store.
Language prefixes
Use real non-empty prefixes such as en, fr or another short readable code. Do not create a blank prefix record to hide the default language.
| Store | Default language | Typical output |
|---|---|---|
| Store A | English | English: /catalog/product-nameFrench: /fr/catalogue/produit |
| Store B | French | French: clean default-language URL English: /en/... |
How HuntBee builds a translated URL
When OpenCart asks for a link in another language, HuntBee resolves the target language's route and entity keyword, not just the language of the page you are currently viewing. This is important for language switchers and cross-language links.
Homepage URL
The homepage is special. You do not need to create a fake SEO keyword for common/home.
https://example.com/Non-default French homepage →
https://example.com/fr/HuntBee removes OpenCart's structural ?route=common/home from the final public link instead of turning the homepage into /home.
What does the top Store selector do?
On the SEO URL Manager dashboard/browse areas, the top Store selector lets you inspect the actual store-specific URL coverage. It does not make the global language/route policy store-specific.
What about the Quick Editor Store dropdown?
Quick Editor contains a separate SEO URL Store selector because the SEO URL is store-specific even though normal product text is centrally managed. Changing that selector changes only which store's SEO URL keyword you are editing.
Recommended setup checklist
- Choose simple language prefixes.
- Enable Hide Default Language Prefix if clean default-language URLs are your strategy.
- Review route keywords before bulk generation.
- Choose All Stores.
- Generate Missing URLs for each language you use.
- Check a product, category, homepage and language switcher on the storefront.
- Use regeneration only after a backup and redirect plan.
store.ssl or old OpenCart 3 settings such as config_ssl. OpenCart 4 uses the store URL architecture and HuntBee's shared public URL resolver.Troubleshooting
?language=en-gbleaks into clean URLs: check language URL policy and the default-language hiding setup.- URL has the right entity keyword but misses the route: confirm route definitions and update to a current Suite build.
- Homepage shows
?route=common/home: current URL handling should normalize it to the store root. - Secondary store has no URL: confirm the entity is assigned to that store, then run Generate Missing for All Stores.