Hi, anyone have any feedback/suggestion on this one - having the same problem!
In many cases having multiple URLs to the same content would be considered an anti-pattern due to search engines / duplicate content issues. See http://moz.com/learn/seo/duplicate-content for some background.
Because of this we have no built-in method for dealing with automatic adjustment of the URLs based on the path used to navigate to the product.
However I assume that there are valid business requirements that override the above concers. I would be very interested to hear about those business requirements since that may help us in deciding if this should be implemented in the future.
it's very common for the same content to be accessed through multiple URLs.
can point to same contents
canonical URLs is a solution to direct Search engines. https://support.google.com/webmasters/answer/139066?hl=en
checking ReferalPage on Product details page can help you to identify the path. you will have to cover different cases with this option as in case of Direct URL, Product coming from Search page, Coming from Listing Pages, etc
The example with greendresses vs nightdresses is certainly valid and may list various subsets / supersets of same products, but it would rarely be exactly the same content. I e you would have these list various products and the product detail page for the items would have exactly the same content, and therefore the product detail pages (in our default scenario) has the same URLs regardless of where they were listed.
...or do you have different images / texts for the same product depending on whether it is accessed thru the greendresses or nightdresses category?
Not trying to get into an argument here, but just getting a better understanding for the underlying business needs.
For the Product Listing/Category Pages I am agreed it will be very rare to have same contents as atleast Category Name in Display will be different although product set can remain same. There are number of occasions I have seen this.
You can see breadcrumb issue here
There are more then one paths
Clients wanted to have bread crumbs based on the user journey.
There was another client whose site is not live yet, but we have to use above suggested techinique.
Mikael, Best SEO technichue is to exclude these category names from url and using SingleUniqueKey for SEO.
example yoursite.com/UNIQUESEOKEY for that product. Repeating category name in urls will effect rating of the page. Goggle can answer you about this.
In our case we have products loaded into a master catalog which are then copied into other catalogs linked to specific CMS sites generating a structure like this:
- Catalog Root - Master Catalog - Catagory 1 - Product 1 - Product 2 - Site 1 Catalog - Catagory 1 - Product 1 - Product 2 - Site 2 Catalog - Catagory 1 - Product 2
In this example product 2 will have these relations set:
The product listing page on each site lists the products under the assigned site catalog node fine. However the urls produced using the standard UrlResolver.GetUrl call are always directing to the product in the master catalog:
Rather than the url of the product copy under the selected node:
@KKhan - I think that the breadcrumb thing is a separate issue. The breadcrumb requirements will usually vary a lot for different customers and we don't have a default implementation for the "user journey" style breadcrumb.
@ Paul - Thank you for the explanation. With that kind of catalog structure your "multiple URL" requests make much more sense. I e they are still unique per site. We are always looking at making improvements to the system and this kind of improvement would really make sense, although I cannot make any promises at this point. Currently you would have to implement your custom URL generation for the per-catalog / per-site scenario.
I have a solution where products is assigned to different categories, such as All Products, Most Popular and Childrens.
When displaying the products on the product listing page, i use the UrlResolver.GetUrl(content.ContentLink, Content.Language.Name).
The generated URL gets the first of the assigned relations as url. So eventhough i am broswsing on the Childrens Listingpage i get the url /MostPopular/<ProductName>.
I would like the url to be reflect the listingpage i am on and not the first of the relations. Is there any setting in the routing or do I need to do some manual work and building the link myself.
I have the same problem when come to the ProductDetailPage when i generate the breadcrumb, i take the parent, and i get the wrong one. Eventhough i go the the specific url, with the correct category.