Request to Prevent Indexing and Generation of Certain Technical URLs in HikaShop

  • Posts: 227
  • Thank you received: 6
  • Hikashop Business
1 month 21 hours ago #367472

-- HikaShop version -- : 5.1.6
-- Joomla version -- : 5.3.1
-- PHP version -- : 8.3.1

Hi HikaShop Team,

We are currently using HikaShop on our Joomla site and have encountered an issue with several types of URLs being generated and indexed by search engines, which causes SEO problems due to duplicate or non-relevant pages appearing in search results.

The problematic URL patterns include:

/product/download/
/product/contact/
/product/listing/
/product/waitlist/
/product/updatecart/

These URLs often appear under different category paths, resulting in duplicate content and cluttering the Google index with pages that do not provide meaningful value to users.

Additionally, it appears that categories and products can be accessed through multiple URL variants, for example:

/some-category/category/other-category
/some-category/category/manufacturer1
/some-category/product/some-product

In other words, it seems possible to view a category or product through any category alias, including categories designated as manufacturers. This causes URL duplication and makes it difficult to control which URLs should be indexed.

Could you please advise on the following:

Is there an official recommended way to prevent these URLs from being generated or crawled by search engines?

Are there settings or best practices in HikaShop to exclude these URLs from indexing (e.g., via robots.txt, meta tags, canonical URLs, or redirects)?

Any advice on how to handle these URL patterns to improve SEO and avoid duplicate content issues?
Thank you very much for your assistance!

Best regards,

Please Log in or Create an account to join the conversation.

  • Posts: 84043
  • Thank you received: 13619
  • MODERATOR
1 month 12 hours ago #367473

Hi,

So there are two issues here:

- If you want to discard some URLs from being indexed by search engines, you can add them to your robots.txt
www.hikashop.com/forum/customers/893976-...-backend.html#289042

- Regarding the duplicate content issue, you want to set the "Force canonical URLs on listings" setting of the HikaShop configuration to "Use canonical URL and generate it if missing":
www.hikashop.com/support/documentation/5...ig.html#features_sef
This will automatically fill the canonical URL of your products, preventing this problem from happening.

Please Log in or Create an account to join the conversation.

  • Posts: 227
  • Thank you received: 6
  • Hikashop Business
1 month 7 hours ago #367477

Hello,

Thank you for your guidance regarding the use of canonical URLs.

We’ve tested the "Force canonical URLs on listings" setting, and while it helps prevent duplicate content, there’s a significant usability issue:

When this setting is enabled, the user’s breadcrumb trail is forcibly changed to match the canonical route, regardless of how the user navigated to the product.

For example:

A customer is browsing products within a specific category.

They click on a product from that category page.

If "Force canonical URLs" is disabled, the breadcrumbs show the correct path, and the user can easily navigate back to any point.

But if it's enabled, the breadcrumb path is replaced with the canonical route — not the one the user followed.

This leads to confusion:

The user cannot retrace their steps via breadcrumbs

They have to rely on the browser’s Back button instead

It breaks the intuitive flow of browsing products in a specific context

Would it be possible to preserve the original navigation path in breadcrumbs, even when canonical URLs are enforced?
Or perhaps offer a mode that sets canonical URLs for SEO without rewriting the actual route used in navigation?

Thanks in advance for considering this improvement.

best regards

Please Log in or Create an account to join the conversation.

  • Posts: 84043
  • Thank you received: 13619
  • MODERATOR
1 month 3 hours ago #367478

Hi,

Note that I offered this solution as a quick method to solve the duplicate content issue you have as it will automatically fill the canonical URLs of your products.

But, you can fix the duplicate content issue while keeping the "Force canonical URLs on listings" setting disabled.
In that case, you just want to fill the "canonical URL" field of each product with the main URL, which you want to be indexed by search engines.
Now, that means that you need to go into every product to set the canonical URL.

So, I can propose a third alternative:
Activate the setting, and browse your shop listings on the frontend until all the canonical URLs are filled.
Once done, turn off the setting.
Your products will have canonical URLs and the breacrumbs will still work as before.

Please Log in or Create an account to join the conversation.

  • Posts: 227
  • Thank you received: 6
  • Hikashop Business
2 weeks 3 days ago #367617

Hello HikaShop team,

We’re working on cleaning up our URL structure to avoid duplicate or unnecessary pages being indexed by search engines.

To achieve this, we’ve decided to **unpublish some categories** and instead link to them via Joomla menu items, in order to have cleaner and more controlled URLs.

However, we’ve encountered an issue with **manufacturer entries**, which are also stored as categories in the system.

If we **unpublish the manufacturer categories**, they **no longer appear in the product filters** (for example, as brand filters on product listings).
But if we **publish them back**, then URLs such as:

```
/menu/category/manufacturer
```

start appearing and getting indexed again, which we would like to avoid.

**Is there any way to keep the manufacturer categories unpublished (or hidden from direct links), but still have them available as filtering options in the frontend?**
Or is there a recommended way to handle this situation?

We’re trying to balance SEO cleanliness with user functionality.

Thanks in advance for your help!

Best regards,

Please Log in or Create an account to join the conversation.

  • Posts: 84043
  • Thank you received: 13619
  • MODERATOR
2 weeks 3 days ago #367618

Hi,

The goal of the manufacturer / brand feature is to be able to access products from the same manufacturer / brand. So, on the product page, it has to add a link to the manufacturer / brand to see the other products, and thus it is normal this URL is available and indexed.

If you're only using manufacturers / brands for the filtering on the product pages, then you could actually do the same with a custom product field where each choice of the custom field would be a manufacturer / brand. And the custom field wouldn't have a link to access the products of the same manufacturer / brand on the frontend.

If you wish to do so, you'll probably want to use mass actions to auto fill the custom field in the products based on the brand selected so that you don't have to edit the products one by one.

Now, you're saying "**unpublish some categories** and instead link to them via Joomla menu items,".If I read between your lines, it seems that for each manufacturer, you've created a menu item to be able to display its products. In that case, you don't need to unpublish them. Leave them published, and simply enter the URL of that menu item in the "canonical URL" of the brand / manufacturer. That way, the indexed page for the brand will be URL you've created. Now, you'll still have the "/menu/category/manufacturer" URL on the product page but it won't be indexed.

Please Log in or Create an account to join the conversation.

  • Posts: 227
  • Thank you received: 6
  • Hikashop Business
1 week 8 hours ago #367691

Hi HikaShop team,

Thank you for your ongoing support — your previous responses were helpful.

After further testing on a large product catalog, I’d like to share a suggestion regarding how manufacturer categories and their URLs behave.

Currently, it seems that:

Manufacturer categories must stay published in order to appear in product filters.

If we unpublish them (to avoid redundant or messy URLs such as /menu/category/manufacturer-name), the manufacturer filter no longer shows those options — even if products are still linked to them.

Adding subcategories under manufacturers also causes them to be treated as additional manufacturers, which creates clutter.

We understand that the default setup works well for small catalogs. However, with thousands of products and dozens of brands, this becomes difficult to manage cleanly.

Suggestion:
Allow the manufacturer filter to still show manufacturers linked to products, even if their category is unpublished.

Optionally, allow disabling the automatic creation of manufacturer listing pages (or their links on product pages), if only used for filtering.

This would allow us to keep our site structure clean, maintain filtering UX, and avoid duplicate or unnecessary URLs in search engines — especially when using canonical URLs and sitemaps properly.

Thanks again for your great product and support. Looking forward to your thoughts on this.

Best regards,

Please Log in or Create an account to join the conversation.

  • Posts: 84043
  • Thank you received: 13619
  • MODERATOR
1 week 4 hours ago #367692

Hi,

Your suggestion is :

Allow the manufacturer filter to still show manufacturers linked to products, even if their category is unpublished.

Optionally, allow disabling the automatic creation of manufacturer listing pages (or their links on product pages), if only used for filtering.

Having a filter on products without any link on the product page and also without the corresponding "automatic creation of manufacturer listing pages" is precisely what you can do with a filter linked to a custom field of the table "product", instead of using manufacturers.
That's basically what I recommended in my previous message.

Why use manufacturers and ask us to add extra options to it to make it behave like a custom product field when you could simply use a custom product field instead ?

Please Log in or Create an account to join the conversation.

  • Posts: 227
  • Thank you received: 6
  • Hikashop Business
3 days 59 minutes ago #367716

Hi,

Thanks again for your reply. We understand your reasoning, but let us clarify why we are specifically using the built-in "manufacturer" field instead of a custom product field.

The manufacturer field is a core feature in HikaShop, and it's very useful — it links directly to the product, is searchable, integrates well with filtering, and even has a dedicated UI. That's why we're using it.

If the intended use of "manufacturer" was to be replaced by a custom field in such scenarios, then by that logic — why was the "manufacturer" system created in the first place? After all, someone could always just add a dropdown field called "brand" and use that.

Our point is not to replicate the custom field behavior, but to make the built-in manufacturer feature more flexible for larger catalogs:

In large shops, we want to use manufacturers for filtering, but not necessarily generate manufacturer listing pages.

We want to avoid SEO issues from unwanted URLs without breaking the filtering functionality.

Using a separate custom field just to get that behavior creates duplication, loss of native links, and increased maintenance.

We believe your manufacturer logic is well-designed and useful. What we're suggesting is a minor extension:

allow manufacturers linked to products to still appear in filters even if unpublished,
and optionally suppress their automatic listing pages if not needed.

This would make the feature more robust and usable in more complex setups — especially in large-scale stores.

We hope you can consider this as a potential improvement for future versions.

Best regards,

Please Log in or Create an account to join the conversation.

  • Posts: 84043
  • Thank you received: 13619
  • MODERATOR
2 days 11 hours ago #367717

Hi,

If the intended use of "manufacturer" was to be replaced by a custom field in such scenarios, then by that logic — why was the "manufacturer" system created in the first place? After all, someone could always just add a dropdown field called "brand" and use that.

Indeed, someone could just add a dropdown field called brand if the sole purpose is to have the selection in the dropdown displayed on the product page and use it for a filter.
The brand feature adds the capability to display a listing of the brands on the frontend, and be able to link the selected brand on the product page to the listing of products of that brand, which you can't do with just a custom field.

What you're asking is similar to asking us to add extra options to be able to display a product without add to cart button, quantity, image, etc, with just the product description, to have a rendering of the product page similar to a Joomla article. And in such case, I would tell you to just use a Joomla article, even if it's for displaying the description of a product.

This would make the feature more robust and usable in more complex setups — especially in large-scale stores.

I think it is totally ok to use a custom product field for these "more complex setups" and forgo the use of the "brand" option in such a case.

The manufacturer field is a core feature in HikaShop, and it's very useful — it links directly to the product, is searchable, integrates well with filtering, and even has a dedicated UI. That's why we're using it.

A custom product field also links directly to the product, is searchable, integrates well with filtering and has a dedicated UI.
I still don't see a reason to not wanting to use a custom product field in your case, besides the fact that "there is already a field called 'brand' in the product edit interface".

Now, on top of this, let's talk about your 2 requests:

allow manufacturers linked to products to still appear in filters even if unpublished,

I'm not confortable with this change. First, conceptually, displaying something on the frontend when it has been unpublished by the administrator is not something which should happen normally.
Also, if you unpublish a product, you don't want it to appear on a products listing on the frontend. So, in order to keep consistency with this, I believe that it should be the same for brands, categories, etc.
Third, if we were to change it, someone updating his HikaShop while having unpublished brands and a filter on brands would then get his unpublished brands added to his brand filter on the frontend, and that's probably something he didn't want.
Fourth, it would be inconsistent with the display of the brand on the product details page. At the moment, the brand only appears on the product details page of a product if the brand is published. I think it makes sense that a filter on brands follow the same rule.

Now, there is always the possibility to customize HikaShop to do it. With a class override of the filter class, you can extend the function getCategories in order to remove the published filter:
www.hikashop.com/support/documentation/6...ntation.html#classes
That's not too difficult if you're a developer so it's possible.

and optionally suppress their automatic listing pages if not needed.

You could make an override of category / listing via the menu Display>Views and add a bit of PHP code to check the current element so that if it is a brand, you return a 404 HTTP error.
This sounds like a really niche capability that only you need for a really specific use case. Usually, in such case, we recommend making a view override to handle it because HikaShop already has too many options everywhere.

I hope you can understand my point of view on the matter. I could have just said "thank you for your feedback" and ignore your request. But I feel that simply using a custom product field would be way better than what you're looking into and that's why I wanted to explain to you my thought process on this.

Please Log in or Create an account to join the conversation.

  • Posts: 227
  • Thank you received: 6
  • Hikashop Business
1 day 22 hours ago #367731

Hi,

Thanks for the detailed feedback — we’ll handle the brand issue on our end.

However, there is a more fundamental problem we’d like to highlight — currently affecting modules like the mini-cart and the product listing on the checkout page.

We’ve observed the following behavior:
On any page that is not a HikaShop category menu item, the mini-cart generates links to products using the first available HikaShop category menu route, rather than a canonical or context-aware path.
This also happens on the "ask a question" pages and the product listing on the checkout page.

For example:

If a user is browsing the checkout page, and clicks on a product in the list, the resulting link leads to some unrelated category like /some-category/product/item rather than /checkout/product/item.

This breaks breadcrumbs, confuses the user, and damages navigation — since they can't easily return to the checkout via breadcrumbs, only via the back button.

Similarly, on any Joomla page that is not tied to a HikaShop menu item (like the login page, company info, or a blog), the same routing logic applies — links fall back to the first HikaShop category menu item, resulting in URLs that don't reflect the user’s current navigation path.

From a technical point of view, this suggests that HikaShop’s routing system assumes that all important pages on the site are HikaShop category menus — which is not the case for many real-world websites where Joomla is used in combination with other content types.

The result is that:

Non-canonical product URLs are generated dynamically on many parts of the site.

These URLs get indexed by search engines and show up in Google Search Console as duplicates or fragmented entries.

The user experience suffers from inconsistent navigation and misleading breadcrumbs.

We understand that you previously suggested using "Force canonical URLs", but as we mentioned earlier — that approach breaks user navigation flow, by always redirecting to a fixed path and removing any sense of “where the user came from”.

So in summary:

The issue primarily affects the mini-cart, the checkout product list, and non-HikaShop pages.

It has serious implications for SEO indexing and UX.

And it appears to stem from assumptions in the routing controller logic.

We’d appreciate it if your team could review this behavior, as it's currently one of the few major architectural flaws remaining in an otherwise very solid system.

Best regards,

P.S. One additional note regarding the manufacturer listings:
We've noticed that these listings display products that are no longer available for sale (based on their "end-of-sale" status). While these products remain technically published (for archival purposes), they are not intended for active display or promotion.
Is there a recommended way to exclude such products from manufacturer listings? Or is this behavior by design?

Please Log in or Create an account to join the conversation.

Time to create page: 0.065 seconds
Powered by Kunena Forum
loading