Will this internal linking feature cause canonicalization issues?
-
I know that you put the canonical tag in the of your page, so it looks like:
rel="canonical" href="(originalpageURL)" />
Since you are linking a dynamic part of that page, the rel=canonical that you have specified there will hold for the page. It will be a dynamic page, but it is a subset of the page, so you should be fine.
Someone PLEASE correct me if I am wrong.
-
Nope that is what i was going to say, but you beat me to it.

-
Hey, using the rel=canonical tag on the page will prevent this from being a problem but a better way would be to use named anchors instead of query string variables. Named anchors are page level navigation so you are not creating a potential duplicate version of the same page.
If you use querystring variables, you are creating a problem, and then fixing it with rel=canonical. If you use named anchors as page level navigation, you are never creating the problem in the first place.
-Â www.exampledomain.com/products/nameofproduct#productspecs
Hope it helps!
Marcus -
I agree that this is an excellent use of the canonical tag. The canonical tag goes on the host page nameofproduct and then when any other page is called nameofproduct?=productspecs, SEs will give credit to the  nameofproduct page**. **
**I hope that answers your question. **
-
I agree that this is an excellent use of the canonical tag. The canonical tag goes on the host page nameofproduct and then when any other page is called nameofproduct?=productspecs, SEs will give credit to the  nameofproduct page**. **
**I hope that answers your question. **
-
Named anchors I great if it meets your needs otherwise rel canonical will work.
-
Marcus -
I was going to suggest this as well, but did not know if it would be relevant. Good suggestion.
Question though. Will he need to specify somewhere on the page to link to the named anchor (i.e. an index on the actual page?) for the named anchors to work, or is this not an issue? This is why I did not suggest it, because I did not know the answer to my question.
-
Hey guys. Thanks for all of the responses. The query string actually comes from part of a search tool, so I don't know if it can be output as a named anchor. If so it would require reprogramming the search tool. It's possible, but I believe at this point it would probably be easier to use the rel=canonical tag.
What I'm not getting is this:
All of our product pages are dynamically generated. So they are loaded into a page at:
www.exampledomain.com/products/productname
If I put the rel=canonical tag on that host page that is populated with data wouldn't I be throwing out any possibility for my individual product pages to rank? Wouldn't it all point back to that one product?
How do I use the rel=canonical tag so that each individual product page gets all of the ranking. Is there a way to do this?
-
True, if you want pages to build PR, it needs to to be canonicalized. What you are doing with the canonical is handling anything after the ? and pointing all page value back behind the ? If I'm reading this correctly, why would you want the spec page to gain value? Sorry if I'm not, I'm remote.
-
Cody -
Is the URL ending in /productname the individual product page? If so, what we are saying will work to canonicalize your product page. You're simply telling Google not to pass pagerank to the /productname?=productspecs page. You're telling them to ignore the specs part of the page as a separate page and to instead pass the link juice to the main page.
Once again, please correct any misunderstandings we may have of what you are trying to do.
Also, you incorporate the canonical tag on a page level. Hopefully you can set this through the CMS (I use Yoast SEO to do this with Wordpress).
-
Yes this is what I want to do. I want Google to ignore the duplicate pages that would be created by the additional parameters and pass SEO value back to the product page.
What I'm confused about is how to code the tag and how to implement it. Each page, which there are thousands of, is generated dynamically - so I only have that one container page that I can update.
How do I take care of all of the product pages with one tag? Is this something that is done in the database?
Unfortunately we don't have a CMS in place, however it's something we're highly considering.
-
It is one tag, but not one instance of the tag. The canonical must be on each param page referring back to the product page. It would he part of your head that you dynamically generate.
-
Makes sense.
Let me make sure I understand.
So, basically on that parameter page in the I need to have my programmers code the rel=canonical to pass in the URL of the page in the form of "www.exampledomain.com/productpage" - and that will take care of pointing all of the duplicate content generated by those query strings back to each individual product page, and will also ensure each product page is still indexed with its full SEO value?
-
Hey
So, your product pages are as follows:
productpage.php?productid=1
productpage.php?productid=2
productpage.php?productid=3And you are worried about duplicates that would be in the following format with three versions of product=1
productpage.php?productid=1
productpage.php?productid=1&variation=A
productpage.php?productid=1&variation=B
productpage.php?productid=1&variation=CIf so, Â then your canonical link for productid=1 which would go on all of the above variations of the productid=1 page would be:
<link <span>rel="canonical" href="productpage.php?productid=1" /></link <span>
Summary
The page name includes the bit that makes it a unique page but you are applying the canonical to all variations of that.
Hope it helps!
Marcus -
We'll be using IIS, but I suppose it works the same way. It's my hope to get this done with one small change and not have to update an entire database of thousands of pages.
Can that not be done?