Developer forum

Forum » Ecommerce - Standard features » Hiding parent page from URL and Ecom navigation (DW 9.10.16)

Hiding parent page from URL and Ecom navigation (DW 9.10.16)

Fabio Monte
Reply

Hi

We have Ecom navigation on a few pages but we need to hide the parent page from the URL. This should be straightforward with the "Do not include URL in subpage URLs" but it seems to work only when we select the Ecommerce Url provider.

The problem we now have is that the url is adding "-1" to a subgroup or even to the parent page. We have two websites and for the same page, the URL provider is active, but shouldn't this be more independent, meaning that each page generates its own URL without adding "-1" ?

Any improvements that can be done regarding URL's in the future? For our solution we may need to make changes to the XSLT naviation file to support the same navigation structure unless there's another way to do it.

Anyway, here's a screencast showing the issue: https://www.screencast.com/t/xBubZDuk


Replies

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Fabio,

Unless there are some new changes in DW, this will apply:

1. If you are using the standard logic for friendly URLs, you cannot get rid of the page part from the URL. That;s because DW needs a PageID and a GroupID to build the URL. Which means that you need a part that tells DW which page is the link about and a part that tells about the group. You can hide the parent value for structures with multiple pages and subpages and for structures with multiple groups and subgroups.

2. If you are using Ecommerce URL provider, you can only use one instance of it per Website. At least I for one could not find a solution to use multiple instances of it. Apparently it has effects outside of the page you are setting it onto, in case you have other ProductCatalog modules on other pages. 

If you find any workarounds, I would be happy to hear them :)

Adrian

 
Nicolai Pedersen
Reply

Hi Adrian

You can add a ecommerce url provider per page. As many as you have pages... But only one per page.

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Nicolai,

Yes, I have noticed that but somehow, this can result in the  -1, -2 approach.
At least on my tests. But maybe I am doing something wrong :)

Adrian

 
Nicolai Pedersen
Reply

Probably you are :-). 

But if you create a structure like this

  • Some page
    • Product list 1
    • Product list 2

And insert ecommerce navigation on both product list pages and set the "do not include" in URL for those pages, they end up the same location in the URL tree (under "some page") resulting in duplicate URLs that needs to be handled using -1.

URL means Unique Resource Locator and the word Unique is the big thing here. Unique means there cannot be 2 of the same... 

Also if you insert 2 navigations and add them all to the root of the url system, you end up having 2 similar structures in the same location. It cannot be done - there cannot be 1 url pointing to 2 different pages. That is impossible....

So what are you trying to achieve over and over again? That /somegroup sometimes goes to one page and sometimes another? We can introduce "Go to random page instead of adding -1" setting if you want? Or we can create a landing page where the user can choose the final destination?

With the new url structure you have complete control - everything is possible except having the 2 different pages on the same URL.

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Nicolai,

My last attempt at using this type of configuration was a year ago. And back then, I had some challenges making it work the way the customer expected it to work.

I agree that in most cases (+90%) having one page with a ProductCatalog is enough and the URL provider handles it very nicely.

There are some exceptions however, where customers (or our beloved SEO experts) ask for some exceptions. And that's where the problems arise. And I agree, these are marginal situations and with a bit of persuasion, they can be avoided.

Adrian

 
Mario Santos Dynamicweb Employee
Mario Santos
Reply

Hello guys, allow me to join the party :-) 

@Nicolai - in Fabio's project the sctruture is the following:

- Ecom top groups: Primor Home, VDF Women, VDF Men
- Content pages: Primor Home, VDF Women, VDF Men

As you can see they have created a page for each top level group. All pages have ecommerce navigation, with specific subgroups selected, plus the ecommerce url provider.

What we are experiencing is that the ecommerce url provider generates urls for the entire product catalog on each instance, for example Primor Home is getting urls for the Sandals subgroup of VDF Women.

https://dev-creativa.mydwsite2.com/english/vdf-women/sandals-1
https://dev-creativa.mydwsite2.com/english/vdf-women/sandals - if we drop the -1 this one is landing on Primor Home page

Thanks for any input,
BR, Mario

 

 
Fabio Monte
Reply

Any input regarding the issue Mario mentioned?

 
Nicolai Pedersen
Reply

Can you show me the setup of the URLs.

 
Fabio Monte
Reply

Here's a setup of 3 pages with URL provider: https://www.screencast.com/t/HSZzus8Y

 
Nicolai Pedersen
Reply

Yeah.

You have marked all the pages in the root to not be part of the URL structure and then all providers fall back to the / meaning they all have the same path. 

The URL provider is not related to the Ecommerce Navigation setup.

So you add the entire URLs many times at the same URL level (because you remove the page names from the url, they are all in the root).

What you need is an option on the URL provider to only create urls for parts of the catalog - i.e. Group A.

Why you make this setup, I cannot understand. All the product list pages are the same, so why have them this many times? Your site just becomes slow from all these ecommerce navigations and URL providers.

You can probably workaround them by not setting "Do not include in subage url" on the page, but setting "Ignore parent groups in URL" on your subgroups in Ecommerce. That might give you what you need.

BR Nicolai

 

 

You must be logged in to post in the forum