Developer forum

Forum » CMS - Standard features » How to avoid duplicate content with multiple product lists in Dynamicweb?

How to avoid duplicate content with multiple product lists in Dynamicweb?

Nicolai Jessen
Nicolai Jessen
Reply

Hello,

I have a question regarding the use of multiple product lists in Dynamicweb. It is a part of our setup to have several PLP (product list page) pages across our solution, but Dynamicweb automatically generates a unique PDP (product detail page) in the navigation for each PLP page. The problem is that the content is not 100% identical, and canonicals are not set out of the box. This has led to duplicated content on our site, which we want to avoid.

We are wondering if it's possible to have multiple product lists but only use one of them to render the product details page. This would help us avoid duplicated content. We have considered generating our own canonicals on these specific pages, but we want to explore the possibility of completely avoiding the generation of these URLs.

Has anyone else faced a similar issue or have any suggestions on how we can solve this problem?

Thank you in advance for any help or suggestions.
- Nicolai


Replies

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply

I do not know how you generate the links to PDP in your template - and if you are using product catalog for viewmodels or the old version - or Swift.

A couple of suggestions

  1. Set the primary page id on groups
    1. This will change the PDP page to use what has been specified here - if you use .GetProductLink extension method for Dynamicweb.Ecommerce.ProductCatalog.ProductListViewmodel (extensions in same namespace)
    2. This will also change the canonicals
  2. In your product list, manually replace the pageid to the detail page you want to use
    1. Combine this with sending out 404 in the PDP template on the pages you do not want PDP to be used in.
  3. Create a Standard.Page.Loaded notification subscriber that will check pageid, groupid and productid and based on the issue 301s to desired location

 

[Subscribe(Standard.Page.Loaded)]
    public class EcomPageLoadNotificationSubscriber : NotificationSubscriber

 
Chris Søgaard
Chris Søgaard
Reply

Hi Nicolai

I will just assist here to elaborate on the issue. The problem is actually not with the links in the frontend, as this works as intended. The problem is that the URLs are automatically generated and therefore indexed by search engines. We do have measures to handle the search engines, like with redirects, canonicals, 404 as you suggest, but we wanted to investigate the possibility for not generating these URLs at all.

We are using "Product catalog for Viewmodel" app and running on DW 9.12.0.

Example: In the content tree we have 2 different pages on these paths, and both of them includes the "Product catalog for Viewmodel" content app:

  • /{PageName1}
  • /{PageName1}/{PageName2}

When we do this, this setup will automatically generate 2 URLs at these location:

  • /{PageName1}/{ProductHandle}
  • /{PageName1}/{PageName2}/{ProductHandle}

The actual content on these URLs can obviously be different, because it depends on the content setup of {PageName1} and {PageName2}, but we want to avoid the generation of the second URL, so are there any settings that we can use to stop generating the second URL, or do we need to implement solutions that mitigate the issues like the forementioned solutions with redirects, canonical and such.

BR Chris

 
Chris Søgaard
Chris Søgaard
Reply

Hi DW

Any news on this? It is very important to the customer to fix this, so it would be nice to have an idea whether it is possible to avoid this without implementing the beforementioned workarounds.

BR Chris

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply

Hi Chris

No - it is currently not supported.

It might be possible to add a feature to the url provider on the page that will use the navigation settings (also from page) to generate URLs. It will be better, but not perfect.

Wanna give it a try and a test spin?

BR Nicolai

 
Chris Søgaard
Chris Søgaard
Reply

Hi Nicolai

Yes it would be great if that could take us some of the way, but I'm unsure how it would work. The site is not set up to use URL providers or Ecom navigation today, because the frontend handles the links to PLP and PDP through code.

But if it is possible to add a setting to a provider that stops the URL propagation for product pages, then it would be great.

BR Chris

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply

Then - how should Dynamicweb guess what is on that page?

And are you using the Ecommerce URL providers in settings -> web & http or the 'new' ones on the page?

 
Chris Søgaard
Chris Søgaard
Reply

That was poor phrasing. 

What I meant was that we do not use Navigation settings or URL providers on page level and frontend implements whatever links to the "right" product details page. This was just to clarify that we do not have problems with human navigation on site, just that the URLs are generated.

But this also answers your question here as we are using the settings from Web & Http for this solution

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply
This post has been marked as an answer

There is no way I can solve it using the settings from Settings/web&Http - they are 'generic' querystring parameter providers and will basically work everywhere. This model has a number of issues.

One being that any ID, GroupID, ProductID and VariantID combination can be resolved - no matter if the product is in the group and the group is on the page etc.

If you move to use the URL provider settings on page level you have much tighter control over the URLs - you are guarenteed that page/group/product urls are 'one' and 'valid' combination.

https://doc.dynamicweb.com/documentation-9/platform/platform-tools/customized-urls#sideNavTitle1-5

Using those providers you might still have issues to limit exactly the groups to generate URLs for (Could be the case where you have multiple pages with produc lists next to each other). That was the suggestion I had to improve the urlprovider for the page.

Votes for this answer: 1
 
Chris Søgaard
Chris Søgaard
Reply

Okay thank you for your support here. We will look into migrating to "new" URL provider on page level.

Just out of curiosity, where are the settings for the URL handling in Web & HTTP handled (in database or GlobalSettings). I have some issues changing the settings from backoffice

 
Chris Søgaard
Chris Søgaard
Reply

Nevermind I found it. Thank you for your support

 
Nicolai Pedersen Dynamicweb Employee
Nicolai Pedersen
Reply

You are welcome - they are in globalsettings

 

You must be logged in to post in the forum