Welcome to WebmasterWorld Guest from 35.172.111.215

Forum Moderators: phranque

Message Too Old, No Replies

SEO for Really Dynamic content

     
4:22 pm on May 31, 2018 (gmt 0)

Senior Member

WebmasterWorld Senior Member Top Contributors Of The Month

joined:Apr 1, 2016
posts:2738
votes: 837


I'm working on a new feature for one of my sites. I'm building a comparison engine that user will be able compare widgets. This not an e-commerce thing, it is simply a tool that allow users to compare features of widgets.

The idea is to have link from the widget page, say widget-A to the comparison page /widgets/compare/widget-A.html. Then at that page the user can select another widget to compare to widget-A, so the url would change to /widgets/compare/widget-A.html?item1=widget-B. The page will be updated using XHR-request and the url update using pushState().

The question is what are the SEO implication of this, first thing that comes to mind is duplicate content. I am basically increasing the total number of URL's by number of widgets to the power of 2, well actually to the power of 3 or 5 as I plan to allow multiple widgets to be compared at once. The resulting number is going to be big because my number of widgets is in the order hundreds of thousands. What to do?

On the one hand, the basic data that is displayed on these pages for each widget already exists on the widget page, I'm not really adding anything new in terms of data. So should I simply block this content from indexing?

On the other hand users will certainly be looking for answers to questions such as is widget-A bigger than widget-B. In the current state the user would need to go to two pages to get the answer so Google is unlikely to associate my site with this query, whereas the comparison page would answer this question directly. So having the content indexed would be of interest, for me and for my users. Do I simply leave it up to Google to decide.

I plan to include links to specific comparison pages from the widget page. So there would be links from the Widget-A page to compare similar widgets, say Widget-Aa. I already have a list of links to the similar widget pages. This would lead to Google to naturally discover pages and would restrict the total number of pages to index, but it would restrict the types of comparison only to like items and which may not necessarily to the comparison of highest interest. (if that makes any sense?). Simply put Google would index widget-A vs widget-Aa (highly similar, low interest) but would never discover or index widget-A vs. widget-Z (low similarity, high interest).

Any ideas? Am I over thinking this? Build it and they will come.
6:27 pm on May 31, 2018 (gmt 0)

Administrator

WebmasterWorld Administrator phranque is a WebmasterWorld Top Contributor of All Time 10+ Year Member Top Contributors Of The Month

joined:Aug 10, 2004
posts:11870
votes: 244


if you tried to index all the paired comparisons between hundreds of thousands of widgets, you're into 10s or 100s of billions of urls.
that's already too many urls, so forget about indexing all the triplet comparisons and more.

would never discover or index widget-A vs. widget-Z (low similarity, high interest)

i would consider logging which comparisons are requested and link to popular comparisons from the relevant pages.
then noindex (or exclude from crawling - see below) any comparison pages that aren't worthy of being linked to from a widget page.

The idea is to have link from the widget page, say widget-A to the comparison page /widgets/compare/widget-A.html. Then at that page the user can select another widget to compare to widget-A, so the url would change to /widgets/compare/widget-A.html?item1=widget-B. The page will be updated using XHR-request and the url update using pushState().

your solution should provide some way to manage the crawl budget.
either your "uninteresting" individual comparison pages should be "undiscoverable" (i.e. don't use an anchor element that googlebot will follow) or use a url structure that will allow you to exclude urls you don't want crawled.

you also want to avoid these canonical url issues:
- /widgets/compare/widget-A.html?item1=widget-B should be significantly different from /widgets/compare/widget-B.html?item1=widget-A
- /widgets/compare/widget-A.html?item1=widget-B&item2=widget-C should be significantly different from /widgets/compare/widget-A.html?item1=widget-C&item2=widget-B
- etc
7:07 pm on May 31, 2018 (gmt 0)

Senior Member

WebmasterWorld Senior Member Top Contributors Of The Month

joined:Apr 1, 2016
posts:2738
votes: 837


you also want to avoid these canonical url issues:

That makes a lot of sense. I think I will change the structure to be /widgets/compare.html?item1=widget-C&item2=widget-A&item3=widget-B and then include a canonical link to /widgets/compare.html?item1=widget-A&item2=widget-B&item3=widget-C. As such Google will (if it heeds the link suggestion) only link to version on what will invariably be three versions of the same page. Unfortunately, I would need to keep the 6 url permutations as they are required to maintain the display sequence. I could also add a param to denote display sequence, like disp=312 and then in GSC tell Google to ignore the param and then default to disp=123.

your solution should provide some way to manage the crawl budget.

The similar links that appear on the widget pages, will be an all or nothing scenario as it will be very difficult to find a criteria on which to include or not.

i would consider logging which comparisons are requested and link to popular comparisons from the relevant pages.

I thought of this after clicked post. This will definitely be implemented in some form.