Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
E-commerce site, one product multiple categories best practice
-
Hi there,
We have an e-commerce shopping site with over 8000 products and over 100 categories.
Some sub categories belong to multiple categories - for example, A Christmas trees can be under "Gardening > Plants > Trees" and under "Gifts > Holidays > Christmas > Trees"
The product itself (example: Scandinavian Xmas Tree) can naturally belong to both these categories as well.
Naturally these two (or more) categories have different breadcrumbs, different navigation bars, etc. From an SEO point of view, to avoid duplicate content issues, I see the following options:
- Use the same URL and change the content of the page (breadcrumbs and menus) based on the referral path. Kind of cloaking.
- Use the same URL and display only one "main" version of breadcrumbs and menus. Possibly add the other "not main" categories as links to the category / product page.
- Use a different URL based on where we came from and do nothing (will create essentially the same content on different urls except breadcrumbs and menus - there's a possibiliy to change the category text and page title as well)
- Use a different URL based on where we came from with different menus and breadcrumbs and use rel=canonical that points to the "main" category / product pages
This is a very interesting issue and I would love to hear what you guys think as we are finalizing plans for a new website and would like to get the most out of it.
Thank you all!
-
Hi,
This topic is quite old, but is still relevant.
I understand that the solution mentioned above is the most thorough one.
But is there something wrong with just using canonicals? In a webshop that we are managing, there are just a couple of subcategories that belong to different categories. An example:
Only these two URL's will generate duplicate content, since the categories above 'Company law' ('Economic law' and 'Companies') clearly have different content. Can't you just pick one version as the canonical one? Since we have just a couple of these categories, this is an easier solution.
Thanks for your feedback guys!
-
Thought I'd answer my own question!! (with the help of Dr Pete, who answered this question in private Q&A)
"The multiple path issue is tough - you can't really have a path visitors can follow and then hide that from Google (or, at least, it's not a good idea). You could NOINDEX certain paths, but that's a complex consideration (it has pros and cons and depends a lot on your goals and site architecture).
If you generate the breadcrumb path via user activity and store it in a session/cookie, that's generally ok. Google's crawlers, as well as any visitor who came to the site via search, would see a default breadcrumb, but visitors would see a breadcrumb based on their own activity. That's fine, since the default is the same for humans as for spiders."
That seems to be a fairly conclusive answer IMO.
-
Hi Arik,
I'd really like an answer to this aswell, as there seems to be no clear answer online.
My understanding is that a breadcrumb should specify a canonical crawl path (not based on referral path), so option 1 is out
option 2 seems suboptimal and not something I can recall seeing implemented on other sites
options 3 and 4: I don't want multiple URLs and to use rel=canonical as I already have one definitive URL.
This seems like it must be a fairly regular problem people have, but cant see a good solution online anywhere
Help anyone?
-
Dear All,
I repeat about Option 1: Use the same URL and change the content of the page (breadcrumbs and menus) based on the referral path. Kind of cloaking.
Changing content based on the referral path means that the same url will have different content at times. Which means that the search engine will probably find a different content on the page than some other views of the page. As far as I know, this is cloaking - please correct me if I'm wrong.
Option 4 will not necessarily achieve the desired effect as the search engine might decide to ignore the tag. i checked a few examples that this is actually what happens when other e-commerce stores use canonical - you find both URLs in the serps. So I doubt this is the perfect solution...
I'm still not convinced that I have a definitive answer for this. Anyone?
Thanks!
-
Option 1 is not cloaking - it is displaying content dynamically. Cloaking would be if you showed one page to viewers and a different version to Googlebot.
I would say it depends on how different pages are. If all that changes in the breadcrumbs, they I would say you're fine with options 1, 2, or 4.
If the pages are significantly different, such as different category names, page titles, descriptive text, etc. I would go with option 4.
-
Thanks Adam.
I very much respect your opinion and even agree that from a user's point of view option 1 is the best.
I wonder though - it's this considered as cloaking?
|
|
From:
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=66355Cloaking refers to the practice of presenting different content or URLs to human users and search engines. Cloaking is considered a violation of Google’s Webmaster Guidelines because it provides our users with different results than they expected.
Some examples of cloaking include:
[...]
Inserting text or keywords into a page only when the User-agent requesting the page is a search engine, not a human visitor|
|
This becomes more complicated, as the path the user chose to get to the specific subcategory or product page reflects not only on the breadcrumbs but also on the category's navigation menu and possibly the descriptive text of the category.
What's your take on this?
-
Options 1, 2, or 4 should be fine. Option 3 is not recommended.
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Best practice for deindexing large quantities of pages
We are trying to deindex a large quantity of pages on our site and want to know what the best practice for doing that is. For reference, the reason we are looking for methods that could help us speed it up is we have about 500,000 URLs that we want deindexed because of mis-formatted HTML code and google indexed them much faster than it is taking to unindex them unfortunately. We don't want to risk clogging up our limited crawl log/budget by submitting a sitemap of URLs that have "noindex" on them as a hack for deindexing. Although theoretically that should work, we are looking for white hat methods that are faster than "being patient and waiting it out", since that would likely take months if not years with Google's current crawl rate of our site.
Intermediate & Advanced SEO | | teddef0 -
Lazy Loading of products on an E-Commerce Website - Options Needed
Hi Moz Fans. We are in the process of re-designing our product pages and we need to improve the page load speed. Our developers have suggested that we load the associated products on the page using Lazy Loading, While I understand this will certainly have a positive impact on the page load speed I am concerned on the SEO impact. We can have upwards of 50 associated products on a page so need a solution. So far I have found the following solution online which uses Lazy Loading and Escaped Fragments - The concern here is from serving an alternate version to search engines. The solution was developed by Google not only for lazy loading, but for indexing AJAX contents in general.
Intermediate & Advanced SEO | | JBGlobalSEO
Here's the official page: Making AJAX Applications Crawlable. The documentation is simple and clear, but in a few words the solution is to use slightly modified URL fragments.
A fragment is the last part of the URL, prefixed by #. Fragments are not propagated to the server, they are used only on the client side to tell the browser to show something, usually to move to a in-page bookmark.
If instead of using # as the prefix, you use #!, this instructs Google to ask the server for a special version of your page using an ugly URL. When the server receives this ugly request, it's your responsibility to send back a static version of the page that renders an HTML snapshot (the not indexed image in our case). It seems complicated but it is not, let's use our gallery as an example. Every gallery thumbnail has to have an hyperlink like: http://www.idea-r.it/...#!blogimage=<image-number></image-number> When the crawler will find this markup will change it to
http://www.idea-r.it/...?_escaped_fragment_=blogimage=<image-number></image-number> Let's take a look at what you have to answer on the server side to provide a valid HTML snapshot.
My implementation uses ASP.NET, but any server technology will be good. var fragment = Request.QueryString[``"_escaped_fragment_"``];``if (!String.IsNullOrEmpty(fragment))``{``var escapedParams = fragment.Split(``new``[] { ``'=' });``if (escapedParams.Length == 2)``{``var imageToDisplay = escapedParams[1];``// Render the page with the gallery showing ``// the requested image (statically!)``...``}``} What's rendered is an HTML snapshot, that is a static version of the gallery already positioned on the requested image (server side).
To make it perfect we have to give the user a chance to bookmark the current gallery image.
90% comes for free, we have only to parse the fragment on the client side and show the requested image if (window.location.hash)``{``// NOTE: remove initial #``var fragmentParams = window.location.hash.substring(1).split(``'='``);``var imageToDisplay = fragmentParams[1]``// Render the page with the gallery showing the requested image (dynamically!)``...``} The other option would be to look at a recommendation engine to show a small selection of related products instead. This would cut the total number of related products down. The concern with this one is we are removing a massive chunk of content from he existing pages, Some is not the most relevant but its content. Any advice and discussion welcome 🙂0 -
Membership/subscriber (/customer) only content and SEO best practice
Hello Mozzers, I was wondering whether there's any best practice guidance out there re: how to deal with membership/subscriber (existing customer) only content on a website, from an SEO perspective - what is best practice? A few SEOs have told me to make some of the content visible to Google, for SEO purposes, yet I'm really not sure whether this is acceptable / manipulative, and I don't want to upset Google (or users for that matter!) Thanks in advance, Luke
Intermediate & Advanced SEO | | McTaggart0 -
Ranking Page - Category vs. Blog Post - What is best for CTR?
Hi, I am not sure wether I shall rank with a category page, or create a new post. Let me explain... If I google for 'Basic SEO' I see an article from Rand with Authorship markup. That's cool so I can go straight to this result because I know there might be some good insight. BUT: 'Basic SEO' is also an category at MOZ an it is not ranking. On the other hand, if I google for 'advanced SEO' then the MOZ category for 'advanced SEO' is ranking. But there is no authorship image, so users are much less likely to click on that result. Now, I want to rank for a very important keyword for me (content keyword, not transactional). Therefor, I have a category called 'yoga exercises'. But shall I rather create an post about them only to increase CTR due to Google Authorship? I read in Google guidelines that Authorship on homepage an category pages are not appreciated. Hope you have some insights that can help me out.
Intermediate & Advanced SEO | | soralsokal0 -
Cons and pros of changing your e-commerce store domain name?
We have an online toy store, the domain is old over 10 years and we have some traffic, we are considering to change our domain name. There are two reasons why. First of all, we expand our product category, before we were only a puzzle store now we sell almost any kind of toy. And at this point, our current domain, PuzzleZoo.com is not representing our capacity. We also have toyzoo.com domain registered, that is also an old domain but there has been no activity with that domain. Our concern is, how do we avoid to lose ranking and keyword authority, are we going to start from the ground? What are the correct procedures to follow during this switch if we prefer to switch? As an alternative scenario, if we decide to keep both and open another e-store with toyzoo domain name and continue operating PuzzleZoo.com, with same products, will taht be a duplicate issue? If it is what are the consequences? (Just to add a note here, our PuzzleZoo is also a small brick and mortar store chain in CA and TX) ToyZoo will only be an online store. Even in this case at the eyes of Google, are we going to have a duplicate store that can potentially be penalized or PuzzleZoo being a brick and mortar store chain might help us to avoid being penalized? Should we switch the domain and redirect PuzzleZoo to ToyZoo, should we keep them both and running separately? We need to give a decision and I was wondering if there are any expert here that can give us a good intelligent advise on which path to go?
Intermediate & Advanced SEO | | PuzzleZoo0 -
Best practice for removing indexed internal search pages from Google?
Hi Mozzers I know that it’s best practice to block Google from indexing internal search pages, but what’s best practice when “the damage is done”? I have a project where a substantial part of our visitors and income lands on an internal search page, because Google has indexed them (about 3 %). I would like to block Google from indexing the search pages via the meta noindex,follow tag because: Google Guidelines: “Use robots.txt to prevent crawling of search results pages or other auto-generated pages that don't add much value for users coming from search engines.” http://support.google.com/webmasters/bin/answer.py?hl=en&answer=35769 Bad user experience The search pages are (probably) stealing rankings from our real landing pages Webmaster Notification: “Googlebot found an extremely high number of URLs on your site” with links to our internal search results I want to use the meta tag to keep the link juice flowing. Do you recommend using the robots.txt instead? If yes, why? Should we just go dark on the internal search pages, or how shall we proceed with blocking them? I’m looking forward to your answer! Edit: Google have currently indexed several million of our internal search pages.
Intermediate & Advanced SEO | | HrThomsen0 -
Best Practice for Inter-Linking to CCTLD brand domains
Team, I am wondering what people recommend as best SEO practice to inter-link to language specific brand domains e.g. : amazon.com
Intermediate & Advanced SEO | | tomypro
amazon.de
amazon.fr
amazon.it Currently I have 18 CCTLDs for one brand in different languages (no DC). I am linking from each content page to each other language domain, providing a link to the equivalent content in a separate language on a different CCTLD doamin. However, with Google's discouragement of site-wide links I am reviewing this practice. I am tending towards making the language redirects on each page javascript driven and to start linking only from my home page to the other pages with optimized link titles. Anyone having any thoughts/opinions on this topic they are open to sharing? /Thomas0 -
Magento: URLs for Products in Multiple Categories
I am working in Magento to build out a large e-commerce site with several thousand products. It's a great platform, but I have run into the issue of what it does to URLs when you put a product into multiple categories. Basically, "a book" in two categories would make two URLs for one product: 1) /books/a-book 2) author-name/a-book So, I need to come up with a solution for this. It seems I have two options: Found this from a Magento SEO article: 'Magento gives you the ability to add the name of categories to path for product URL's. Because Magento doesn't support this functionality very well - it creates duplicate content issues - it is a very good idea to disable this. To do this, go to System => Configuration => Catalog => Search Engine Optimization and set "Use categories path for product URL's to "no".' This would solve the issues and be a quick fix, but I think it's a double edged sword, because then we lose the SEO value of our well named categories being in the URL. Use Canonical tags. To be fair, I'm not even sure this is possible. Even though it is creating different URLs and, thus, poses a risk of "duplicate content" being crawled, there really is only one page on the admin side. So, I can't go to all of the "duplicate" pages and put a canonical tag, because those duplicate pages don't really exist on the back-end. Does that make sense? After typing this out, it seems like the best thing to do probably will be to just turn off categories in the URL from the admin side. However, I'd still love any input from the community on this. Thanks!
Intermediate & Advanced SEO | | Marketing.SCG0